Farnsworth MCP 服务器

使用说明(Markdown 格式)

  • 项目简介 Farnsworth MCP 服务器是一个基于 Model Context Protocol 的后端服务,旨在以标准化的 JSON-RPC 方式向 LLM 客户端提供上下文信息和功能。服务器负责资源(Resources)的托管与访问、Tools 的注册与执行、Prompt 模板的定义与渲染,以及会话管理、能力声明等能力,支持多种传输协议以适配不同的客户端环境。

  • 主要功能点

    • MCP 核心协议实现:接收客户端请求(读取资源、调用工具、获取 Prompt 等),返回标准的 JSON-RPC 响应。
    • 资源与工具管理:托管资源、注册工具、执行外部功能调用。
    • Prompt 与模板:定义、渲染和提供可定制的 Prompt 模板,支持多种交互模式。
    • 会话与能力声明:会话管理、服务能力声明、并发运行能力。
    • 传输适配:提供 Stdio、SSE、WebSocket 等传输协议的对接能力,确保与多种客户端的兼容性。
    • 安全与扩展性:具备访问控制、错误处理、扩展点以接入更多提供方与工具。
  • 安装步骤

    • 克隆仓库并进入项目根目录。
    • 安装依赖(示例:pip install -r requirements.txt)。
    • 直接启动 MCP 服务器(命令示例:python -m farnsworth.mcp_server.server,实际请参考仓库中 run_server 的实现入口)。
    • 如需在生产环境部署,请结合 Docker/Kubernetes 进行容器化部署,参考仓库中的部署章节进行配置。
  • 服务器配置(给 MCP 客户端的连接信息,JSON 格式,用于 MCP 客户端启动时的参数描述) 服务器名称(server_name):farnsworth-mcp
    启动命令(command):python
    启动参数(args):["-m","farnsworth.mcp_server.server"]
    传输协议(transport):["stdio","sse","websocket"]
    说明:该配置用于 MCP 客户端在连接 MCP 服务器时知道如何启动服务、以及所支持的传输方式。客户端不需要理解实现细节,仅需使用提供的启动命令与参数启动服务端以建立连接。

    例如(描述性注释,不直接作为代码块呈现):

    • server_name: 标识 MCP 服务实例
    • command: 启动服务器的可执行命令
    • args: 启动命令的参数列表
    • transport: 支持的传输协议集合
    • 说明: 指出客户端只需遵循上述 command/args 即可连接 MCP 服务器

服务器信息