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 服务器