待办事项管理服务器

一个基于模型上下文协议(MCP)的待办事项管理服务器,提供创建、列表、切换完成状态、删除和搜索待办事项的功能,适用于Claude Desktop和其他MCP客户端。

  • by Havfar
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Havfar/Todo-MCP-Server

使用说明

MCP 全能服务器

一个简单的模型上下文协议(MCP)服务器,为Claude桌面及其他MCP客户端提供待办事项列表管理功能。

特点/功能

  • 创建待办事项 带有可选的截止日期
  • 列出所有待办事项 按创建日期排序
  • 切换所有任务的完成状态 状态
  • 删除所有待办事项 通过身份证(或身份识别)
  • 搜索所有待办事项 按标题
  • SQLite数据库 使用 Prisma ORM 实现可靠的并发操作

安装

npm install

设置

  1. 创建一个 .env 项目根目录中的文件:
DATABASE_URL="file:./dev.db"
  1. 初始化数据库:
npx prisma migrate dev
  1. 通过添加此内容来配置Claude Desktop ~/Library/Application Support/Claude/claude_desktop_config.json:
{
  "mcpServers": {
    "todo": {
      "command": "bash",
      "args": ["/absolute/path/to/mcp-todo/mcp/run-todo.sh"],
      "env": {
        "DATABASE_URL": "file:/absolute/path/to/mcp-todo/data/todos.db"
      }
    }
  }
}
  1. 重启Claude桌面版

项目结构

mcp-todo/
├── mcp/
│   ├── todo-server.ts       # MCP server implementation
│   └── run-todo.sh          # Server startup script
├── lib/
│   └── todos.ts             # Todo business logic with Prisma
├── prisma/
│   ├── schema.prisma        # Database schema
│   └── migrations/          # Database migrations
├── data/
│   └── todos.db             # SQLite database file
└── src/                     # Next.js app (optional UI)

可用的MCP工具

list_todos

返回所有按创建日期排序(最新在前)的待办事项。

add_todo

创建一个新的待办事项。

  • title (字符串,必填):待办事项的标题
  • due (字符串,可选):截止日期

toggle_todo

切换或设置待办事项的完成状态。

  • id (字符串,必填):任务ID
  • done (布尔值,可选):设置特定状态,或省略以切换状态

delete_todo

按ID删除待办事项。

  • id (字符串,必填):任务ID

search_todos

按标题子字符串搜索所有待办事项。

  • q (字符串,必填):搜索查询

发展

直接运行MCP服务器:

npm run mcp:todo

使用JSON-RPC消息进行测试:

echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}' | npm run mcp:todo

使用MCP Inspector进行调试

使用MCP检查器来交互式地测试和调试您的服务器:

npx @modelcontextprotocol/inspector npm run mcp:todo

这会打开一个网页界面,您可以在其中测试所有可用工具,并查看实时的请求/响应数据。

数据库

该项目使用 SQLite 数据库与 Prisma ORM。数据库文件存储在 data/todos.db。

模式/架构

model Todo {
  id        String   @id @default(uuid())
  title     String
  done      Boolean  @default(false)
  due       String?
  createdAt DateTime @default(now())
}

移民

# Create a new migration
npx prisma migrate dev --name migration_name

# Reset database
npx prisma migrate reset

# View database in Prisma Studio
npx prisma studio

Next.js 网页用户界面(可选)

这个项目还包括一个使用Next.js构建的网页界面,用于管理待办事项。

入门指南

运行开发服务器:

npm run dev

开放 http://localhost:3000 翻译为中文是:“本地主机上的3000端口”。不过,通常在中文语境下,我们可能会直接说“http://localhost:3000”这个网址本身,因为网址在中文中也是通用的,不需要特别翻译。但如果要解释其含义,可以如上所述 使用您的浏览器查看结果。

你可以通过修改来开始编辑页面 src/app/page.tsx当你编辑文件时,页面会自动更新。

在Vercel上部署

部署你的Next.js应用最简单的方法是使用 Vercel 平台 来自Next.js的创作者。

看看这个 Next.js 部署文档 如需更多详情。

技术栈

许可证

麻省理工学院(MIT)