使用说明
MCP待办事项列表服务器
介绍
MCP Todo List Server 是一个简单的服务器,使用 Model Context Protocol (MCP) 和 FastMCP 构建。该服务器允许您通过各种可用工具管理任务列表(todo)。所有数据都存储在内存中(非持久性),适用于开发和测试。
主要特点
- 添加新全部
- 查看全部
- 根据ID删除所有内容
- 更新judul todo
- 将所有 todo 标题中的“我”替换为“我”(例如批量更新)
安装和运行
- 请确保您安装了 Python 3.8+。
- 安装依赖项:
pip install fastmcp pydantic - 运行服务器 :服务器将使用stdio传输进行开发/测试。
python todo_server.py
可用的工具
1.全部添加
将新东西添加到列表。
参数:
title(string, mandatory) 全部标题date(字符串,可选): 日期 todo (自由格式,例如“2025-09-21”)
使用范例:
- 添加标题“学习Python”没有日期
- 添加日期为“2025-09-21”的“10:00 会议”
2. 所有列表
显示所有可用的东西。
参数: 没有
使用范例:
- 查看当前全部
3.删除_todo
根据ID删除所有内容。
参数:
todo_id(integer, mandatory) 要删除的 todo ID
使用范例:
- 以 ID 1 删除所有内容
4.更新待办事项
根据 ID 更新 todo 标题。
参数:
todo_id(integer, mandatory) 要更新的 todo IDnew_title(string, mandatory) 新标题
使用范例:
- 将 Todo ID 2 的标题更改为“夜间运动”
5. replace_我_我的
将所有 todo 标题中的“我”替换为“我”(例如用于批量更新的工具)。
参数: 没有
使用范例:
- 运行以替换所有 todo 标题中的单词
使用会话示例
-
添加一些东西:
- add_todo(“早上起床”, “2025-09-21”)
- 添加一切(“萨拉潘”)
-
查看全部:
- list_todos() 显示所有列表
-
更新一:
- update_todo(1,“早上6点起床”)
-
删除不必要的:
- delete_todo(2)
-
如果有“我”这个词,请替换为:
- replace_我_我的()
注释
- 所有数据都存储在内存中,因此在服务器重新启动时会丢失。
- ID todo 从 1 开始,自动递增。
- 这些工具旨在与MCP客户端集成,如GitHub Copilot或其他AI工具。
故障排除
- 如果服务器没有运行,请确保依赖关系正确安装。
- 对于开发,使用代码中的stdio传输。
如果您有任何问题或需要额外的功能,请联系开发人员!
技术文件
如何制作MCP
MCP Todo List Server使用FastMCP构建,这是一个用于快速创建MCP服务器的Python库。以下是创建类似MCP的基本步骤:
-
设置项目:
- 创建一个新的项目文件夹。
- 创建主 Python 文件(例如
todo_server.py).
-
安装依赖关系:
fastmcp对于MCP服务器框架。pydantic用于验证和数据模型。
-
代码结构:
- 需要导入库。
- 使用Pydantic定义数据模型(例如
TodoItem). - 创建实例
FastMCP服务器名称。 - 装饰功能与
@mcp.tool()它可以被称为工具。 - 运行服务器与
mcp.run(transport="stdio").
-
测试:
- 通过 MCP 客户端(如 GitHub Copilot 或其他 AI 工具)运行服务器和测试工具。
如何读取这个代码
代码 todo_server.py 结构简单易读。以下是每个部分的解释:
-
进口(巴里斯1-4):
asyncio用于异步操作(虽然这里没有明确使用)。typing对于类型提示,如Optional,List.pydantic对于数据模型。mcp.server.fastmcp:进口FastMCP丹Context(这里没有使用上下文)
-
TodoItem型号(Baris 7-10):
- 定义 todo 结构的 Pydantic 类:
id(int),title(str),date(可选页面)。 - 用于验证输入和输出。
- 定义 todo 结构的 Pydantic 类:
-
数据存储(Baris 13):
todos: List[TodoItem] = []简单的列表,以存储在内存中的所有数据. 不持久, 适合演示.
-
服务器实例(Baris 16):
mcp = FastMCP(name="TodoServer")创建名为“TodoServer”的 MCP 服务器实例。
-
工具(Baris 19-54):
- 每个工具都被定义为一个装饰器的功能。
@mcp.tool(). add_todo创建新 ID,创建 TodoItem,添加到列表,返回项目。list_todos:返回seluruh列表待办事项。delete_todo过滤列表:根据ID删除,返回删除的数量。update_todo:循环cari ID、更新标题、返回状态。replace_aku_to_saya循环所有 todos,将标题中的“我”替换为“我”,返回已修改的金额。
- 每个工具都被定义为一个装饰器的功能。
-
主要执行(Baris 57-60):
if __name__ == "__main__":运行 stdio 传输服务器进行测试。
这些代码是为了什么
每个代码部分都有构建功能性MCP服务器的特定目的:
- Pydantic模型(
TodoItem): 确保所有数据都是一致和有效的。idunik,titlewajib,date可选。 - 列表
todos: 简单的数据存储。易于访问和修改,但在重新启动时丢失(用于演示)。 - FastMCP实例: 将工具连接到MCP协议的主要框架,允许与AI客户端集成。
- 工具:
add_todo添加新项目,使用自动ID。list_todos查看当前所有数据。delete_todo删除特定项目。update_todo更改项目标题。replace_aku_to_saya批量操作示例,显示如何同时修改多个项目。
- 主模块: 进入点运行服务器,使用stdio进行本地通信。
总的来说,这些代码演示了如何构建一个简单的MCP服务器来管理任务,可以通过持久数据库,身份验证或其他工具等功能进行扩展。
潘端:https://github.com/modelcontextprotocol/python-sdk
来自ChatGPT的代码和Github Copilot的帮助下的jgua和Github Copilot的帮助下的文档