项目简介
该项目是一个包含Todo应用、API后端、Web UI前端以及Model Context Protocol (MCP) 服务器的示例应用程序。其中,'todo_mcp/server.py' 实现了基于FastMCP框架的MCP服务器,旨在将Todo应用的核心能力(如查看、创建、更新、删除任务)通过标准化的MCP协议暴露给大型语言模型(LLM)或其他AI客户端。
主要功能点
- 任务管理工具: 提供以下MCP工具,允许AI模型直接操作Todo任务:
- 'list_todos': 列出所有待办任务。
- 'get_todo': 根据ID获取特定待办任务详情。
- 'create_todo': 创建新的待办任务。
- 'update_todo': 更新现有待办任务的信息(标题、描述、完成状态)。
- 'delete_todo': 根据ID删除待办任务。
- 'get_todo_stats': 获取待办任务的总数、已完成数及完成百分比等统计信息。
- 任务分析 Prompt: 提供 'todo_analysis' Prompt,AI模型可以通过此Prompt获取格式化的待办任务列表及概况分析,便于进行总结或规划。
安装步骤
- 确保已安装 'uv' 工具(用于依赖管理)。
- 克隆仓库到本地。
- 在项目根目录执行以下命令安装所有依赖(包括FastAPI、Flask、uvicorn、Flask等,以及mcp相关的库):
uv pip install -e . - 安装MCP CLI工具(如果需要使用MCP Inspector或便捷安装服务器):
uv add mcp-cli
服务器配置(面向MCP客户端)
该MCP服务器通过标准输入/输出 (Stdio) 协议进行通信。一个MCP客户端(如MCP CLI、Claude等)可以通过配置以下信息来连接并启动此服务器:
- 服务器名称 (Server Name): 'Todo MCP Server'
- 启动命令 (Command): 'python' (执行Python解释器)
- 启动参数 (Args): '-m', 'todo_mcp.server' (以模块方式运行服务器脚本)
客户端通常会使用一个包含这些信息的JSON对象来进行配置或注册服务器。
基本使用方法
- 启动Todo API (非必需,但建议): MCP服务器直接读写JSON文件,不需要API运行。但为了整个应用完整性或测试API,可以先启动API。
uv run uvicorn todo_api.main:app --reload --port 8000 - 启动MCP服务器:
服务器启动后,会监听标准输入输出,等待MCP客户端连接。uv run python -m todo_mcp.server - 使用MCP客户端连接:
- 使用MCP Inspector (推荐测试): 在另一个终端运行 'mcp dev todo_mcp/server.py' 或 'uv run --with mcp mcp run todo_mcp/server.py'。这会启动服务器并在浏览器中打开一个交互式UI,展示所有工具和Prompt,并允许你手动调用和测试。
- 运行客户端示例: 在另一个终端运行 'uv run python -m todo_mcp.client_example'。这会执行一个Python脚本,演示如何通过代码调用MCP服务器的工具和Prompt。
- 集成到支持MCP的AI客户端: 如果你的AI客户端(如Claude Desktop应用)支持通过MCP CLI注册服务器,可以执行 'mcp install todo_mcp/server.py --name "Todo MCP Server"' 将此服务器注册为可用的工具集。
信息
分类
生产力应用