使用说明
项目简介
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' 中。
安装步骤
- 克隆仓库:
git clone https://github.com/suttonwilliamd/Tpc-server cd Tpc-server - 创建并激活虚拟环境 (推荐):
python3 -m venv .venv source .venv/bin/activate # Linux/macOS .\.venv\Scripts\activate # Windows - 安装依赖:
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 客户端库才能与之交互。
基本使用方法
-
启动服务器: 根据上述服务器配置,在项目根目录下运行启动命令,例如:
uvicorn main:mcp --reload --port 8000 --host 127.0.0.1或者在生产模式下:
uvicorn main:mcp --host 0.0.0.0 --port 8000服务器启动后,'tpc_data.db' 数据库文件将在项目目录下自动创建。
-
使用 MCP 客户端连接服务器: 配置您的 MCP 客户端,使用上述生成的服务器配置信息连接到 TPC Server。
-
通过 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 客户端来调用工具和访问资源。
- 调用工具 (Tools): 使用客户端调用服务器提供的工具,例如:
信息
分类
开发者工具