tx MCP 服务器实现

使用说明(Markdown 格式)

  • 项目简介

    • tx 是一个围绕“为 AI 代理提供可扩展上下文服务”的工具集与服务器实现。MCP 服务器是其中的核心组件之一,负责对外提供按照 MCP 规范组织的资源、工具和提示模板等能力,通过 JSON-RPC 与 LLM 客户端进行通信。
  • 主要功能点

    • MCP 服务器核心能力
      • 资源管理:托管和提供任务相关的知识、数据和上下文资源,便于 LLM 客户端在对话中引用与检索。
      • 工具注册与执行:注册可调用的外部功能(Tools),LLM 客户端可通过 MCP 调用这些工具并获取结果。
      • Prompt/模板渲染:定义并渲染可定制的 Prompt 模板,支持不同的交互模式。
      • 会话与能力声明:服务器端维持会话状态、能力声明,以及安全与扩展机制。
    • 通信与协议
      • 通过 JSON-RPC 与客户端通信,接收请求(如读取资源、调用工具、获取 Prompts 等)。
      • 提供多传输协议支持(如 Stdio、SSE、WebSocket),以适配不同运行环境和集成场景。
    • 生态对接
      • 与现有的 TypeScript SDK、REST API、以及 CLI/仪表盘等工具集成,形成端到端的 MCP 服务链。
  • 安装步骤

    • 全局安装 TX 工具(示例命令,按实际仓库提供为准)
      • npm install -g @jamesaphoenix/tx
    • 初始化工作区并安装依赖
      • 在项目根目录执行安装命令,确保能够构建与运行 MCP 服务
    • 构建/启动 MCP 服务器
      • 使用项目内提供的 MCP 服务启动脚本,或自行编译后运行应用程序(dist/server.js 等入口取决于构建配置)
    • 运行参数与环境
      • MCP 服务器通常需要指定监听端口、传输协议、以及数据存储路径等配置,具体以部署文档为准。
  • 服务器配置(MCP 客户端所需信息)

    • 配置格式(JSON):用于描述 MCP 服务器的对接参数,包含服务器名称、启动命令及参数等信息。注意:以下配置仅供客户端了解连接信息,不需要客户端直接依赖代码。
    • 配置示例(JSON 注释性描述):
      • serverName: "tx-mcp-server"
      • startCommand: "node"
      • args: ["dist/server.js", "--port", "8080", "--transport", "websocket"]
      • description: "MCP 服务器启动参数,客户端根据此信息建立与 MCP 服务器的连接。传输协议默认支持 WebSocket,亦可配置 SSE 或 STDIO,端口按部署实际情况设置。"
      • transports: ["websocket", "sse", "stdio"]
      • healthCheckEndpoint: "/health"
      • auth: { type: "none" } // 如需鉴权可在此扩展
    • 重要说明
      • MCP 客户端不需要上面的具体实现细节代码,只需知道服务器的对接信息与连接方式即可。
      • 实际运行时,请参考仓库中 apps/mcp-server 相关文档与配置,确保启动命令、端口和传输选项的一致性。
  • 基本使用

    • 启动并对接
      • 启动 MCP 服务器后,LLM 客户端通过 JSON-RPC 调用获取资源、执行工具、读取 Prompt 模板等能力。
    • 常用交互模式
      • 读取资源(如 context/learnings 等)
      • 调用工具(如 tx_ready、tx_show、tx_list 等)以获取任务、依赖、或执行结果
      • 获取并渲染 Prompt 模板以便与 LLM 交互
    • 调试与监控
      • 使用日志与 HTTP 健康检查端点监控服务器状态
      • 与仪表盘/Dashboard 集成以查看资源、工具、Prompts 的元信息

服务器信息