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. 启动服务器
默认以 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 字典),服务重启即失效,适合演示与开发。生产环境可替换为数据库持久化。