MCP待办事项列表服务器
介绍
MCP Todo List Server 是一个简单的服务器,使用 Model Context Protocol (MCP) 和 FastMCP 构建。该服务器允许您通过各种可用工具管理任务列表(todo)。所有数据都存储在内存中(非持久性),适用于开发和测试。
主要特点
- 添加新全部
- 查看全部
- 根据ID删除所有内容
- 更新judul todo
- 将所有 todo 标题中的“我”替换为“我”(例如批量更新)
安装和运行
- 请确保您安装了 Python 3.8+。
- 安装依赖项:
pip install fastmcp pydantic- 运行服务器 :
python todo_server.py服务器将使用stdio传输进行开发/测试。
可用的工具
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 (可选页面)。 - 用于验证输入和输出。
- 数据存储(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的帮助下的文档
