FrankenTerm MCP 服务器

使用说明(简明易懂的使用流程,帮助理解与上手)

  • 项目简介

    • FrankensteinTerm 提供一个专门的 MCP 服务器分支/模块,用以对外暴露资源、工具和提示模板等上下文能力,通过 JSON-RPC 机制与 LLM 客户端对接,提供统一的后端上下文服务框架。
    • MCP 服务器旨在实现模型上下文的托管、数据访问、工具注册与调用,以及提示模板的渲染,支持多种传输通道,具备会话管理与能力声明。
  • 主要功能点

    • 资源(Resources):托管并管理数据资源,LLM 客户端可通过 JSON-RPC 读取资源、查询数据等。
    • 工具(Tools):注册与执行外部功能,LLM 能以 JSON-RPC 调用工具。
    • 提示模板(Prompts):定义与渲染可定制的 Prompt 模板,支撑多种交互模式。
    • JSON-RPC 通信:服务器与客户端通过 JSON-RPC 进行请求/响应和通知。
    • 会话与能力声明:会话管理、能力声明、访问控制等策略性要素。
    • 多传输协议:原生 StdIO、SSE、WebSocket 等传输方案的接入能力,提升集成灵活性。
    • 安全与扩展性:面向多代理、插件化后端适配,以及可扩展的工具/资源/模板面。
  • 安装步骤(简化版指引)

    • 安装 ft 并开启 MCP 支持(一般以仓库提供的入口进行构建);
    • 使用包含 mcp 功能的构建参数编译运行,例如在仓库提供的方式下,启用 mcp 特性后执行 MCP 服务器;
    • 启动 MCP 服务器,默认通过标准输入输出(stdio)监听客户端的 JSON-RPC 请求。
  • 服务器配置(JSON 配置示例说明) 客户端不需要你直接提供配置文件给 MCP 客户端,但为了便于部署与集成,MCP 服务器端的配置通常包含以下字段:

    • server_name:服务器实例的名称(如 “ft-mcp”),用于日志、监控与多实例区分。
    • command:启动 MCP 服务器的命令(如 "ft")。
    • args:启动参数数组,指明运行模式与传输方式,例如 ["mcp","serve","--transport","stdio"],表示通过标准输入输出(stdio)进行 JSON-RPC 通信。
    • transport(可选):传输协议类型(stdio、sse、websocket 等),若选择 stdio 则与客户端的通信通过标准输入输出完成。
    • 其他运行时参数:如日志级别、工作线程数、资源/工具/模板的初始化路径等,可在部署时注入环境变量或附带的配置文件。

    注:上述配置仅用于 MCP 客户端的连接与部署定位,实际运行时的核心逻辑在服务器实现中通过代码完成对资源、工具与提示模板的暴露、注册与调用。

  • 基本使用方法

    • 启动与连接
      • 启动 MCP 服务器进程(在具备 mcp 特性的 ft 构建下运行 ft mcp serve),服务器将对外暴露 JSON-RPC 接口。
      • 客户端通过指定的传输通道(如 stdio、WebSocket、SSE)与 MCP 服务器建立 JSON-RPC 通信。
    • 常用交互
      • 读取资源、获取工具信息、执行工具、获取提示模板等操作,均通过统一的 JSON-RPC 请求/响应进行,服务端负责执行策略、权限与数据访问。
    • 典型流程
      • 客户端初始化会话、声明能力(哪些资源、工具可用); – 读取某资源的上下文、查询数据; – 调用工具以完成外部功能; – 请求并渲染 prompts,按需要返回给 LLM。
    • 运行与调试
      • 通过日志与事件流观测 MCP 服务的请求处理、权限判定、资源访问与工具执行等。
  • 注意事项

    • MCP 服务器作为后端服务,需正确配置传输通道与安全策略,确保 JSON-RPC 的请求/响应可控且审计可追溯。
    • 服务器应实现会话隔离、能力断言与访问控制,避免敏感数据泄露。
  • 连接示意

    • LLM 客户端通过 stdio/WebSocket/SSE 向 MCP 服务器发起请求,服务器返回 JSON-RPC 响应;客户端再将结果拼接到对话上下文中,或者将结果用于触发后续工作流。

服务器信息