项目简介

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)。

安装步骤

  1. 克隆仓库: 打开终端,克隆项目仓库到本地。
    git clone https://github.com/suttonwilliamd/tpc-server.git
    cd tpc-server
  2. 创建并激活虚拟环境: 推荐使用虚拟环境安装依赖,避免与系统或其他项目冲突。
    # 创建环境 (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
  3. 安装依赖: 激活环境后,安装项目所需的库。
    pip install -r requirements.txt
  4. 配置环境: 在项目根目录创建 '.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 客户端库文档,但上述名称、协议、地址和端口是核心信息。

基本使用方法

  1. 启动服务器: 确保你处于项目根目录且虚拟环境已激活,然后运行:
    python main.py
    服务器将启动并显示日志,包括 FastAPI 和 MCP 服务器的状态。
  2. 访问 Web 界面 (可选): 在浏览器中访问 'http://localhost:8050' (如果使用默认端口) 可以查看简单的 Web UI,浏览思维、计划和变更列表。
  3. 访问 JSON API (可选): 可以使用 'curl' 或其他工具访问 '/api/recent-activity', '/api/thoughts', '/api/plans', '/api/changes' 等 API 端点获取数据。
  4. LLM Agent 调用 MCP 工具: 配置您的 LLM Agent 使用 MCP 客户端连接到此服务器,通过 JSON-RPC 调用暴露的工具(如 'add_thought', 'create_plan', 'get_active_plans' 等)与 TPC 数据进行交互。

信息

分类

AI与计算