To Do Mcp Server

To Do Mcp Server

🚀 使用 MCP 服务器构建的 Todo 应用

这是一个简单的 Todo 应用程序,它集成了自然语言处理(借助 Google Gemini API)、MongoDB 持久化存储以及 MCP 协议(用于实时更新的 Server-Sent Events),并基于 Express.js 采用模块化的 MVC 架构构建而成,能为用户提供便捷的待办事项管理体验。


✨ 主要特性

  • 自然语言交互:可使用自然语言添加待办事项,例如“Add a task to buy milk”。
  • 灵活列表展示:能列出所有待办事项,还可选择包含已完成的项。
  • 便捷任务操作:可根据 MongoDB ID 将待办事项标记为完成,也能通过 MongoDB ID 删除待办事项。
  • 实时更新体验:通过 Server-Sent Events (SSE) 和 MCP 协议接收实时更新。

📦 安装指南

先决条件

  • Node.js(v18 或更高版本)
  • MongoDB Atlas 集群(需要凭证)
  • Google Gemini API Key(从 Google AI Studio 获取)

安装步骤

  1. 克隆仓库

    git clone https://github.com/theatulanand/to-do-mcp-server.git
    cd todo-mcp-single
    
  2. 安装依赖项

    npm install
    
  3. 设置环境变量

    在根目录下创建一个 .env 文件:

    PORT=3000
    MONGO_URI=URI
    GEMINI_API_KEY=
    

💻 使用示例

运行应用程序

启动服务器:

npm start

你应该会看到:

连接到 MongoDB(通过 Mongoose)
服务器运行在 http://localhost:3000

要停止服务器,请按 Ctrl + C

发送请求

/api/command 发送 POST 请求,请求体为 JSON 格式:

{ "command": "Add a task to buy milk" }

示例命令

  • 添加

    curl -X POST http://localhost:3000/api/command -H "Content-Type: application/json" -d '{"command": "Add a task to buy milk"}'
    
  • 列出

    curl -X POST http://localhost:3000/api/command -H "Content-Type: application/json" -d '{"command": "List my todos"}'
    
  • 完成

    curl -X POST http://localhost:3000/api/command -H "Content-Type: application/json" -d '{"command": "Complete todo with ID some_mongodb_id"}'
    
  • 删除

    curl -X POST http://localhost:3000/api/command -H "Content-Type: application/json" -d '{"command": "Delete todo with ID some_mongodb_id"}'
    
  • 列出包含已完成的项

    curl -X POST http://localhost:3000/api/command -H "Content-Type: application/json" -d '{"command": "List my todos including completed"}'
    

实时更新(SSE)

连接到 /sse 以接收实时更新。(需要 MCP 兼容客户端。)


🔧 技术细节

技术栈

属性 详情
服务器运行时环境 Node.js
路由和中间件 Express.js
云 NoSQL 数据库 MongoDB(Atlas)
MongoDB 的对象文档映射器 Mongoose
自然语言命令解析 Google Gemini API
MCP 集成和 SSE @modelcontextprotocol/sdk
环境变量管理 dotenv

项目结构

todo-mcp-single/
├── models/           # Mongoose 模型
│   └── Todo.js
├── controllers/      # 业务逻辑
│   └── todoController.js
├── routes/           # API 路由
│   └── todoRoutes.js
├── utils/            # 工具函数(例如:与 Gemini 的交互)
└── index.js          # 应用程序入口文件

📄 注意事项

⚠️ 重要提示

请确保 MongoDB 连接字符串 (MONGO_URI) 和 Google Gemini API Key 配置正确。

💡 使用建议

如果需要处理大量数据或高并发请求,建议进行适当的性能优化和负载均衡配置。

通过以上步骤,你可以轻松搭建一个功能完善的 Todo 应用程序,并利用 MCP 协议实现实时更新。

  • 0 关注
  • 0 收藏,9 浏览
  • system 提出于 2025-09-19 20:33

相似服务问题