Agentic Titan MCP 服务器

使用说明

  • 项目类别与定位

    • 该仓库实现了一个完整的 MCP 服务器(MCP:Model Context Protocol),核心职责是向 LLM 客户端提供统一的上下文信息、资源、以及可执行工具(Tools),并允许客户端通过标准的 JSON-RPC 请求与服务器交互。
    • MCP 服务器包含会话/任务管理、能力声明、以及对多种数据源与工具的对接能力,尽可能覆盖 MCP 的资源、工具、提示等核心对象。
  • 主要功能点

    • MCP 协议核心:实现对 MCP 请求的解析、路由与响应,支持初始化、读取资源、列出工具、调用工具、读取提示、获取与返回结果等能力。
    • 资源管理(Resources):提供对系统状态、学习统计、模型认知签名、拓扑状态等只读资源的读取接口,以及资源元数据描述。
    • 工具注册与执行(Tools):具备本地工具集(PDF、DOCX/XLSX/PPTX、网页搜索、文件操作、命令执行等),以及通过 MCP Tool 适配器导出相应的输入模式与结果。
    • 提示模板(Prompts):定义并渲染 MCP 提示模板,包含多种工作流与推理提示,支持将参数转化为 LLM 输入消息。
    • MCP 客户端桥接(MCP Client Bridge):提供一个适配器,能够通过 MCP 服务暴露的工具来调用远端 MCP 服务器中的工具。
    • 服务器实现与运行入口:内置滚动式 STDIO 传输的 JSON-RPC 服务循环,持续监听输入并返回响应。
  • 安装与运行步骤

    • 环境要求:Python 3.11+ 推荐,依赖面向异步 I/O 的 asyncio 及相关包。
    • 安装
      • 克隆仓库并进入项目目录
      • 安装开发依赖(如需要):pip install -e ".[dev]",或按需安装核心包
    • 启动 MCP 服务器
      • 直接通过 Python 运行入口来启动:执行命令
        • python -m titan_mcp.server
      • 服务器启动后将通过标准输入输出进行 JSON-RPC 通信(STDIO 传输),客户端需要以 JSON-RPC 的格式向服务器发送请求并读取响应。
    • MCP 客户端的配置
      • MCP 客户端需要知道服务器的启动命令与参数,以便进行连接与通信。下列 JSON 结构描述了一个准确的服务器配置信息(仅用于客户端的描述,实际调用仍然由客户端实现方提供):
      • { "server_name": "Titan-MCP", "command": "python", "args": ["-m", "titan_mcp.server"], "description": "Titan MCP 服务器,通过 STDIO 提供 MCP JSON-RPC 服务。客户端通过标准输入输出与之通信。", "notes": "MCP 客户端需要将请求写入服务器的 STDIN,并从 STDOUT 读取响应。服务器默认传输为 JSON-RPC 2.0 格式。" }
    • 基本用法
      • 客户端与 MCP 服务器建立连接后,可以发送以下核心请求:
        • initialize:初始化并获取服务器能力信息(协议版本、服务器信息、可用工具/资源/提示等)。
        • tools/list:列出服务器暴露的工具清单及描述。
        • resources/list:列出可用资源。
        • prompts/list/get:获取提示模板及相关消息。
        • tools/call:发起对某个工具的调用(如 spawn_agent、agent_status、agent_result、list_agents、cancel_agent 等)。
        • resources/read:读取指定资源的内容。
        • prompts/get:获取特定提示的消息序列。
      • 使用时请遵循 MCP 的 JSON-RPC 请求格式,包含 jsonrpc、id、method、params 字段,服务器将返回相应的 JSON-RPC 响应。
  • 运行与调试提示

    • 运行前确保环境可用(Python 3.11+、依赖就绪)。
    • 服务器侧实现提供了日志输出、异常捕获与回退路径,便于定位 RPC 处理、资源读取、工具执行等环节的错误。
    • 针对开发和测试,可使用仓库内提供的测试用例与示例来验证 MCP 流程的正确性。
  • 重要说明

    • MCP 服务器的实现尽量覆盖核心 MCP 功能:请求处理、响应返回、资源/工具/提示的暴露,以及会话/任务的生命周期管理。
    • 客户端仅需知道服务器的启动命令及参数,MCP 客户端配置不需要包含实现细节,服务器端提供了完整的对接与暴露路径。

服务器信息