FreeAct MCP 服务器实现

使用说明(Markdown 格式)

  • 项目简介
    • FreeAct 提供一个完整的 MCP 后端框架,用于向大模型客户端提供可检索的资源、可执行的工具,以及可渲染的 Prompt 模板。服务器通过 MCP 协议与客户端通信,支持 JSON 基本工具调用,以及代码化的 PTL(PTC)调用,并实现会话管理、能力声明和多传输协议的支持。
  • 主要功能点
    • 资源管理与数据访问:通过 MCP 端点暴露或管理资源,支持工具和技能的动态发现。
    • 工具注册与执行:支持基于 MCP 的工具调用、审批流,以及对外部工具的执行。
    • Prompt 模板渲染:定义和渲染系统提示,结合技能/工具信息形成上下文。
    • JSON-RPC 风格通信:遵循 MCP 的请求/响应模式,客户端发起请求,服务器返回结果或通知。
    • 会话与能力声明:服务器端维护会话状态、工具可用性和权限控制。
    • 多传输协议支持:包括标准输入输出、HTTP 流、以及 WebSocket/SSE 等,便于不同环境接入。
  • 安装步骤
    • 将仓库源码获取到本地或服务器环境中。
    • 安装依赖(Python 包管理工具安装依赖,如 pip),确保支持的运行环境(Python 3.8+)。随后可直接运行 MCP 服务器代码。
    • 启动服务器时,确保配置正确的 MCP 服务器信息(见下方服务器配置示例),并根据需要选择传输模式。
  • 服务器配置(JSON,需提供 server name、command、args 等等) 说明:MCP 客户端需要配置 MCP 服务器的启动命令及参数以建立连接。以下为示例配置,实际使用时请替换为你的服务器名称、执行命令及参数。 { "mcp-servers": { "pytools_hybrid_search": { "command": "python", "args": ["-m", "freeact.agent.tools.pytools.search.hybrid"] } // 说明:如需环境变量,请在同级添加 "env": { "VAR": "value" } 仍需保证客户端理解该字段的用途 }, "ptc-servers": { // 这里只在需要时添加,用于程序化工具调用的服务器(示例占位) // "ptc-example": { "command": "python", "args": ["-m", "some.module"] } } } 注解:以上配置用于 MCP 客户端建立连接。实际环境中会结合具体服务器实现的启动命令与参数进行调整。
  • 基本使用方法
    • 启动 MCP 服务器后,确保客户端可以通过配置读取到服务器信息并发起工具调用、资源读取、以及 Prompt 获取等请求。
    • 客户端可以使用 JSON-RPC 形式对服务器发起请求,请求格式、参数和返回结果遵循 MCP 规范。
    • 通过工具与资源的联合查询,可以实现对 LLM 上下文的动态管理与扩展。

服务器信息