项目简介

该项目是一个包含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获取格式化的待办任务列表及概况分析,便于进行总结或规划。

安装步骤

  1. 确保已安装 'uv' 工具(用于依赖管理)。
  2. 克隆仓库到本地。
  3. 在项目根目录执行以下命令安装所有依赖(包括FastAPI、Flask、uvicorn、Flask等,以及mcp相关的库):
    uv pip install -e .
  4. 安装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对象来进行配置或注册服务器。

基本使用方法

  1. 启动Todo API (非必需,但建议): MCP服务器直接读写JSON文件,不需要API运行。但为了整个应用完整性或测试API,可以先启动API。
    uv run uvicorn todo_api.main:app --reload --port 8000
  2. 启动MCP服务器:
    uv run python -m todo_mcp.server
    服务器启动后,会监听标准输入输出,等待MCP客户端连接。
  3. 使用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"' 将此服务器注册为可用的工具集。

信息

分类

生产力应用