项目简介
TPC 服务器是一个后端服务,旨在以结构化的方式记录、存储和检索 AI Agent 或协作项目的工作过程。它跟踪“思维 (Thoughts)”、“计划 (Plans)”和“变更 (Changes)”,并记录它们之间的关联。该服务器使用 FastAPI 构建基础 Web 服务和 API,同时集成 'fastmcp' 库,将核心数据和功能以 MCP 协议暴露给 LLM 客户端/Agent 调用。
主要功能点
- 结构化过程记录: 专门用于记录和关联项目或 Agent 的思维、制定的计划以及实际执行的变更。
- 多模态访问: 同时提供简单的 Web 界面用于浏览、JSON API 用于程序化访问数据,以及最重要的是,通过 MCP 协议暴露核心功能和数据。
- MCP 工具: 提供了 'add_thought', 'create_plan', 'log_change', 'get_recent_thoughts', 'get_active_plans' 等一系列工具,供 LLM Agent 直接调用以写入或读取过程数据。
- MCP 资源: 暴露了如 'tpc://thoughts/active', 'tpc://plans/active', 'tpc://changes/recent' 等 MCP 资源,允许客户端读取结构化的上下文信息。
- 数据库支持: 使用 SQLAlchemy,默认使用轻量级的 SQLite 数据库文件,但也支持方便地切换到 PostgreSQL、MySQL 等其他数据库。
- 灵活配置: 支持通过 '.env' 文件配置数据库连接、服务器监听地址/端口以及 Agent 通信协议 (SSE 或 Stdio)。
安装步骤
- 克隆仓库: 打开终端,克隆项目仓库到本地。
git clone https://github.com/suttonwilliamd/tpc-server.git cd tpc-server - 创建并激活虚拟环境: 推荐使用虚拟环境安装依赖,避免与系统或其他项目冲突。
# 创建环境 (macOS/Linux/Windows) python -m venv venv # 激活环境 (macOS/Linux) source venv/bin/activate # 或激活环境 (Windows - Git Bash/WSL) source venv/Scripts/activate # 或激活环境 (Windows - Command Prompt/PowerShell) .\venv\Scripts\activate - 安装依赖: 激活环境后,安装项目所需的库。
pip install -r requirements.txt - 配置环境: 在项目根目录创建 '.env' 文件,配置数据库、服务器地址和通信协议。
# .env file DATABASE_URL="sqlite:///./tpc_server.db" # 或其他数据库连接串 HOST="0.0.0.0" # 服务器监听地址 PORT="8050" # 服务器监听端口 (FastAPI 和 MCP SSE) TRANSPORT="sse" # Agent 通信协议 ('sse' 或 'stdio')
服务器配置 (面向 MCP 客户端)
MCP客户端(如 LLM Agent)连接到此服务器时,需要知道服务器的连接信息。根据服务器 '.env' 文件中的配置,MCP 客户端通常需要提供以下信息:
- 服务器名称 (Server Name): 此 TPC MCP 服务器的标识符是 'mcp-tpc'。
- 传输协议 (Transport): 服务器配置为使用 'sse' 或 'stdio'。客户端需要使用相应的协议连接。
- 主机 (Host): 服务器监听的网络地址,对应 '.env' 文件中的 'HOST' 配置。
- 端口 (Port): 服务器监听的端口,对应 '.env' 文件中的 'PORT' 配置(主要用于 'sse' 传输)。
MCP客户端连接配置通常是一个JSON对象,例如,对于 'sse' 传输:
- 'name': "mcp-tpc"
- 'transport': "sse"
- 'host': 服务器实际运行的 IP 地址或域名
- 'port': 服务器实际运行的端口号 (例如 8050)
如果服务器配置为 'stdio' 传输,客户端的配置方式可能有所不同,可能需要指定启动服务器进程的命令 ('command') 和参数 ('args')。具体配置格式请参考您使用的 MCP 客户端库文档,但上述名称、协议、地址和端口是核心信息。
基本使用方法
- 启动服务器: 确保你处于项目根目录且虚拟环境已激活,然后运行:
服务器将启动并显示日志,包括 FastAPI 和 MCP 服务器的状态。python main.py - 访问 Web 界面 (可选): 在浏览器中访问 'http://localhost:8050' (如果使用默认端口) 可以查看简单的 Web UI,浏览思维、计划和变更列表。
- 访问 JSON API (可选): 可以使用 'curl' 或其他工具访问 '/api/recent-activity', '/api/thoughts', '/api/plans', '/api/changes' 等 API 端点获取数据。
- LLM Agent 调用 MCP 工具: 配置您的 LLM Agent 使用 MCP 客户端连接到此服务器,通过 JSON-RPC 调用暴露的工具(如 'add_thought', 'create_plan', 'get_active_plans' 等)与 TPC 数据进行交互。
信息
分类
AI与计算