待办事项管理服务器

一个基于Model Context Protocol (MCP)的待办事项管理服务器,支持多用户、增删改查、REST风格资源访问与AI友好提示。可作为独立服务运行,也可嵌入任意MCP兼容客户端,为AI助手提供任务管理能力。

  • by qimiaoheni
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 qimiaoheni/TodoMcp

使用说明

English

Todo List MCP Server

一个基于 Model Context Protocol (MCP) 的待办事项管理服务器,支持多用户、增删改查、REST 风格资源访问与 AI 友好提示。可作为独立服务运行,也可嵌入任意 MCP 兼容客户端,为 AI 助手提供任务管理能力。


功能亮点

类别 能力
用户隔离 每个用户拥有独立待办列表,数据按用户 ID 分区
资源接口 通过 config://app 与 todos://{user_id} 暴露只读数据
提示模板 内置 greeting 提示,方便 AI 生成个性化欢迎语
工具函数 提供 add_todo / complete_todo / list_todos 三大原子操作
数据格式 纯 JSON 交互,时间戳统一为 YYYY-MM-DD
零依赖运行 仅依赖 fastmcp 与 Python 标准库,PIL 为可选预留

一分钟上手

1. 安装

# 创建虚拟环境(可选)
python -m venv venv && source venv/bin/activate

# 安装依赖
pip install mcp pillow

2. 启动服务器

python todo_server.py

默认以 stdio 模式监听,支持任意 MCP 客户端连接。

3. 快速体验(以 Python 交互为例)

from todo_server import add_todo, list_todos, complete_todo

# 给 Alice 新增任务
add_todo("Alice", "Write README")

# 查看 Alice 的未完成事项
print(list_todos("Alice"))          # [{"id":1,"title":"Write README", ...}]

# 标记完成
complete_todo("Alice", 1)

# 再次查看
print(list_todos("Alice"))          # []

API 速查

资源(只读)

URI 说明 示例返回值
config://app 应用元数据 {"name":"Todo Assistant","version":"1.0.0"}
todos://{user_id} 获取指定用户的全部待办 {"id":1,"title":"...","completed":false, ...}

提示模板

名称 参数 示例输出
greeting name: str "Hello, Alice! I'm your todo assistant. How can I help you today?"

工具(可写)

函数 参数 返回值
add_todo user_id, title 新创建的 todo JSON
complete_todo user_id, todo_id 更新后的 todo JSON 或 {"error":"..."}
list_todos user_id, show_completed=False 过滤后的 todo 列表 JSON

数据模型

{
  "id": 1,                        // 自增整数
  "title": "Buy milk",            // 任务描述
  "completed": false,             // 完成状态
  "created_at": "2025-03-21"      // 创建日期
}

所有数据常驻内存(TODOS 字典),服务重启即失效,适合演示与开发。生产环境可替换为数据库持久化。