待办事项管理服务器

一个提供待办事项管理功能的服务器,支持HTTP API端点和MCP协议,适用于个人任务管理和AI助手集成。

  • by hanifanmoha
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 hanifanmoha/todos-mcp-server

使用说明

MCP 所有 服务器

一种模型上下文协议(MCP)服务器,提供具有HTTP API端点和MCP协议支持的todo管理功能。

特性

  • 待办事项管理:使用基于用户的组织对todo项目进行完整的CRUD操作
  • HTTP REST API:所有功能的RESTful端点
  • MCP协议支持:通过模型上下文协议集成AI助手
  • 会话管理:具有会话处理的持久MCP连接

HTTP API终结点

核心终点

  • GET / -服务器状态和连接信息
  • GET /ping -健康检查端点
  • POST /mcp -人工智能助手的MCP协议端点
  • GET /mcp -通过SSE发送服务器到客户端的通知
  • DELETE /mcp -会话终止

所有API

  • GET /todos -列出所有待办事项(可选用户过滤)
  • POST /todos -创建新待办事项
  • GET /todos/:id -按ID获取待办事项
  • PUT /todos/:id -按ID更新待办事项
  • DELETE /todos/:id -按ID删除待办事项
  • PATCH /todos/:id/complete -将todo标记为已完成
  • PATCH /todos/:id/reopen -将todo标记为不完整

MCP工具

待办事项管理工具

  • generate_user_id -为todo管理生成一个新的唯一用户ID
  • create_todo -创建一个包含标题、用户id和完成状态的新待办事项
  • get_todos_by_user -获取特定用户ID的所有待办事项
  • update_todo -更新现有待办事项的标题或完成状态
  • complete_todo -将特定待办事项标记为已完成
  • reopen_todo -将已完成的待办事项标记为未完成
  • delete_todo -按ID删除待办事项

地方发展

# Install dependencies
npm install

# Start development server with MCP inspector
npm run dev

# Start development server only
npm run start:dev

# Start production server
npm start

开发服务器包括用于调试MCP连接和测试工具的MCP检查器。

待办事项管理

创建待办事项

待办事项按用户ID组织。每个待办事项都有:

  • id:唯一标识符(UUID)
  • title:待办事项描述
  • user_id:拥有todo的用户的UUID
  • is_complete:布尔完成状态
  • created_at:ISO创建时间戳
  • updated_at:上次更新的ISO时间戳

示例用法

# Generate a new user ID
curl -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"generate_user_id","arguments":{}},"id":1}'

# Create a todo
curl -X POST http://localhost:3000/todos \
  -H "Content-Type: application/json" \
  -d '{"title":"Learn MCP protocol","user_id":"your-user-id-here"}'

# List todos for a user
curl http://localhost:3000/todos?user_id=your-user-id-here

# Complete a todo
curl -X PATCH http://localhost:3000/todos/todo-id-here/complete

部署到Vercel

先决条件

  1. 安装Vercel CLI: npm install -g vercel
  2. 登录Vercel: vercel login

部署

  1. 初始化Vercel项目:

    vercel
    
  2. 按照提示操作:

    • 设置和部署? 是
    • 什么范围?选择您的帐户/团队
    • 链接到现有项目? 不 (首次部署)
    • 项目名称:接受默认名称或输入自定义名称
    • 目录: ./ (当前目录)
    • 覆盖设置? 不
  3. 您的项目将被部署,您将获得一个URL,如下所示: https://your-project-name.vercel.app

环境变量

如果需要设置环境变量,可以在Vercel仪表板中或通过CLI进行设置:

vercel env add VARIABLE_NAME

后续部署

对于未来的部署,只需运行:

vercel --prod

项目结构

├── src/
│   ├── server.js           # Production server entry point
│   ├── index.js            # Main application module
│   ├── index.html          # Web interface for the server
│   ├── http-server.js      # Express server with MCP integration
│   ├── mcp-server.js       # MCP server configuration and setup
│   ├── todos-db.js         # In-memory todo database manager
│   ├── todos-routes.js     # HTTP routes for todo API
│   ├── todos-tools.js      # MCP tools for todo management
│   ├── todos.js            # Todo data models and utilities
│   └── todo-examples.js    # Example todo data
├── package.json            # Project configuration and dependencies
├── task.md                 # Development task tracking
├── test.rest              # HTTP API testing file
├── deploy.sh              # Deployment script
└── README.md              # Project documentation

测试服务器

运行后,您可以测试端点:

# Health check
curl http://localhost:3000/ping

# Server info
curl http://localhost:3000/

# List all todos
curl http://localhost:3000/todos

# Get todos for specific user
curl "http://localhost:3000/todos?user_id=your-user-id"

# Create a new todo
curl -X POST http://localhost:3000/todos \
  -H "Content-Type: application/json" \
  -d '{"title":"Test todo","user_id":"test-user-id"}'

MCP集成

该服务器实现了模型上下文协议,允许AI助手:

  • 以编程方式管理待办事项
  • 保持持续会话
  • 使用结构化工具进行验证

通过MCP连接

服务器在以下位置为MCP提供HTTP传输 /mcp 终点。AI助手可以使用具有适当会话管理的MCP HTTP传输协议进行连接。

依赖项

  • @模型上下文协议/sdk:MCP协议实施
  • 表达:HTTP API的Web框架
  • 黄道带:MCP工具的模式验证
  • 跨域资源共享:跨来源资源共享
  • 正文分析器:HTTP请求解析
  • Dotenv。:环境变量管理

开发工具

  • 节点监控:开发过程中自动重启
  • 同时:同时运行多个进程
  • @模型上下文协议/检查器:MCP调试界面