返回 MCP 目录
public公开dns本地运行

to-do-mcp-server

一个基于自然语言处理的Todo应用,使用Google Gemini API解析命令,MongoDB存储数据,并通过MCP协议实现实时更新。

article

README

🚀 使用 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 协议实现实时更新。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端