TODO管理服务器

一个基于Cloudflare Workers和D1数据库的TODO管理服务器,提供创建、获取、完成、标记未完成和删除TODO的功能。

  • by yusukebe
  • TypeScript
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 yusukebe/todo-mcp-server

使用说明

TODO管理MCP服务器

使用Cloudflare Workers和D1数据库的TODO管理MCP服务器。

特性

  • addTodo:创建新的TODO
  • getTodos:获取TODO列表
  • completeTodo:将TODO标记为完成
  • markIncomplete:将TODO标记为不完整
  • deleteTodo:删除所有

设置

1.创建项目

npm create cloudflare@latest -- my-mcp-server --template=cloudflare/ai/demos/remote-mcp-authless
cd my-mcp-server

2.创建D1数据库

# Create D1 database
wrangler d1 create todo-tasks-db

3.配置wrangler.json

将创建的数据库ID添加到 wrangler.jsonc:

{
  "$schema": "node_modules/wrangler/config-schema.json",
  "name": "todo-mcp-server",
  "main": "src/index.ts",
  "compatibility_date": "2025-03-10",
  "compatibility_flags": ["nodejs_compat"],
  "d1_databases": [
    {
      "binding": "DB",
      "database_name": "todo-tasks-db",
      "database_id": "your-database-id-here"
    }
  ]
}

4.创建数据库架构

创建 schema.sql 文件:

CREATE TABLE todos (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  title TEXT NOT NULL,
  completed BOOLEAN DEFAULT FALSE,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
  updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

将架构应用于数据库:

# Apply to local environment
wrangler d1 execute todo-tasks-db --file=./schema.sql --local

# Apply to remote environment
wrangler d1 execute todo-tasks-db --file=./schema.sql --remote

5.生成类型

npm run cf-typegen

6.实现src/index.ts

创建从McpAgent继承的MCP代理类,并实现TODO管理工具。看 src/index.ts 了解详情。

7.本地测试

启动开发服务器:

npm run dev

在另一个终端中启动MCP检查器:

npx @modelcontextprotocol/inspector@latest

在web浏览器中打开显示的端口并输入 http://localhost:8787/mcp 在MCP服务器URL字段中进行测试。

8.部署

npm run deploy

用法

Claude桌面使用情况

部署后,将以下内容添加到Claude Desktop的配置文件中(~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "todo": {
      "command": "npx",
      "args": [
        "mcp-remote@latest",
        "https://your-worker-domain.workers.dev/mcp"
      ]
    }
  }
}

资源清理

要删除项目,请按照以下步骤删除Cloudflare资源:

1.删除Worker

wrangler delete my-mcp-server

2.删除D1数据库

wrangler d1 delete todo-tasks-db

备注:删除Worker将自动删除关联的持久对象。

许可证

麻省理工学院

作者

和田雄介 https://github.com/yusukebe