使用说明

项目简介

TPC Server (Thoughts, Plans, Changelog Server) 是一个基于 Model Context Protocol (MCP) 构建的服务器应用,旨在为软件开发项目提供结构化的上下文信息管理。它主要用于记录开发过程中的想法 (Thoughts)计划 (Plans)变更日志 (Changelog),并通过 MCP 接口将这些信息以标准化的方式提供给 AI 编码助手或其他开发工具使用。

主要功能点

  • MCP 接口: 遵循 Model Context Protocol,通过工具 (Tools) 和资源 (Resources) 提供数据访问和操作能力。
  • 记录想法 (Thoughts): 支持记录开发过程中的想法、决策和考虑,并可关联到具体计划。
  • 管理计划 (Plans): 支持创建、管理开发计划和任务,并可设置计划之间的依赖关系。
  • 记录变更日志 (Changelog): 支持记录代码变更日志,并关联到相关计划和想法。
  • 异步数据库操作: 使用 SQLAlchemy 和 asyncio 实现高性能的异步数据库操作,支持 SQLite 数据库。
  • 数据持久化: 数据存储在本地 SQLite 数据库文件 'tpc_data.db' 中。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/suttonwilliamd/Tpc-server
    cd Tpc-server
  2. 创建并激活虚拟环境 (推荐):
    python3 -m venv .venv
    source .venv/bin/activate  # Linux/macOS
    .\.venv\Scripts\activate  # Windows
  3. 安装依赖:
    pip install -r requirements.txt

服务器配置

MCP 客户端需要配置以下信息以连接到 TPC Server。这是一个 JSON 格式的配置示例,您需要根据实际情况进行配置:

{
  "serverName": "TPC Server",
  "command": "uvicorn",
  "args": [
    "main:mcp",         //  指定运行模块和 FastMCP 实例 (main.py 文件中的 mcp 实例)
    "--host",           //  指定服务器绑定的主机地址
    "127.0.0.1",      //  绑定到本地回环地址,仅允许本地客户端连接
    "--port",           //  指定服务器监听的端口号
    "8000"            //  使用 8000 端口
  ]
}

配置参数说明:

  • '"serverName"': 服务器名称,可以自定义。
  • '"command"': 启动服务器的命令,这里使用 'uvicorn' (需要已安装)。
  • '"args"': 启动命令的参数列表:
    • '"main:mcp"': 指定 'uvicorn' 运行 'main.py' 文件中的 'mcp' FastMCP 实例。
    • '"--host", "127.0.0.1"': 设置服务器监听地址为 '127.0.0.1',即本地回环地址,只允许本机访问。如果需要允许外部访问,可以设置为 '"0.0.0.0"'。
    • '"--port", "8000"': 设置服务器监听端口为 '8000'。您可以根据需要修改端口号。

注意: TPC Server 基于 MCP 协议通信,不能使用标准的 HTTP 工具(如 'curl' 或浏览器)直接访问。您需要使用兼容 FastMCP 的 MCP 客户端库才能与之交互。

基本使用方法

  1. 启动服务器: 根据上述服务器配置,在项目根目录下运行启动命令,例如:

    uvicorn main:mcp --reload --port 8000 --host 127.0.0.1

    或者在生产模式下:

    uvicorn main:mcp --host 0.0.0.0 --port 8000

    服务器启动后,'tpc_data.db' 数据库文件将在项目目录下自动创建。

  2. 使用 MCP 客户端连接服务器: 配置您的 MCP 客户端,使用上述生成的服务器配置信息连接到 TPC Server。

  3. 通过 MCP 客户端与服务器交互:

    • 调用工具 (Tools): 使用客户端调用服务器提供的工具,例如:
      • 'create_thought': 创建新的想法记录。
      • 'create_plan': 创建新的计划或任务。
      • 'log_change': 记录代码变更日志。
    • 访问资源 (Resources): 使用客户端访问服务器提供的资源,例如:
      • 'tpc://thoughts': 获取所有想法列表。
      • 'tpc://plans': 获取所有计划列表。
      • 'tpc://changelog': 获取所有变更日志列表。
      • 'tpc://thoughts/{thought_id}': 获取特定 ID 的想法。
      • 'tpc://plans/{plan_id}': 获取特定 ID 的计划。
      • 'tpc://changelog/{change_id}': 获取特定 ID 的变更日志。

    具体工具和资源的使用方法,请参考仓库 'README.md' 文件中的 "MCP Interface Summary" 和 "MCP Interface Usage Examples" 部分。您需要查阅您使用的 MCP 客户端库的文档,了解如何配置和使用 MCP 客户端来调用工具和访问资源。

信息

分类

开发者工具