Renfield MCP 后端服务器

使用说明(Markdown 格式)

  • 项目简介 Renfield MCP 后端是一个以 MCP 为核心的自托管后端框架,旨在向大语言模型(LLM)客户端提供稳定的上下文信息、可执行工具以及可定制的提示模板,帮助实现统一的上下文服务与外部功能调用。

  • 主要功能点

    • 资源与知识库管理:集中存放并提供访问知识库、文档、知识图谱等资源。
    • 工具注册与执行:支持注册外部工具并在 LLM 代理流程中调用,提供工具执行能力。
    • 提示模板定义与渲染:定义、渲染并管理用于与 LLM 的交互的 Prompt 模板。
    • MCP 协议实现与客户端通信:基于 MCP 的标准化接口,支持通过 JSON-RPC 风格的请求与响应进行资源读取、工具调用与 Prompt 获取等操作。
    • 会话与能力声明:实现会话管理、能力声明与权限控制,支持多语言与模型配置。
    • 多传输协议与扩展:设计上支持多种传输协议(如 STDIO、SSE、WebSocket 等),并通过插件化扩展实现可扩展性。
    • 安全与监控:JWT/RPBAC 访问控制、限流、指标暴露(Prometheus)等安全与运维能力。
  • 安装步骤

    1. 将仓库克隆到本地或服务器:git clone <仓库地址>,进入项目根目录。
    2. 安装依赖:在项目根目录执行依赖安装(如 Python 的 pip install -r requirements.txt,或按照 README 的 Docker/容器化方案准备环境)。
    3. 配置环境变量:按照 docs/ENVIRONMENT_VARIABLES.md 设置必要的环境变量(如 MCP 配置、模型/LLM 的端点、认证相关参数等)。
    4. 启动服务:根据项目提供的 docker-compose 或直接运行后端服务命令启动 MCP 服务器。
    5. 验证运行状态:访问 /api/mcp/status、/api/mcp/tools 等端点,确认 MCP 服务器状态与可用工具。
  • 服务器配置(给 MCP 客户端的配置说明) MCP 客户端在连接和使用 MCP 服务器前,通常需要基于以下 JSON 配置提供连接信息(客户端侧不需要实现服务器端逻辑,仅需知道服务器的名称、启动命令与参数以便对接)。请按以下描述理解配置信息(文本描述,不给出代码块)。

    • server_name: 指定 MCP 服务器的逻辑名称,例如 weather、search、paperless 等,用于在客户端路由和展示。
    • command: 服务器启动命令路径(如可执行文件或容器入口点)。
    • args: 启动参数列表,用于传递传输协议、端口、模型配置等初始化信息;包括 transport、port、模型路径等。
    • transport: 客户端与服务器之间的通信传输协议,例如 stdio、streamable_http、websocket 等。
    • 说明:这些字段用于 MCP 客户端在初始化时知晓如何启动与接入该服务器,实际运行由服务端实现控制,客户端仅通过名称与参数对接。

    注:此处提供的是对客户端接入的描述性配置要点,具体实现与参数取值应以实际运行环境的文档为准。

  • 基本使用方法

    • 启动与接入:按文档配置和启动 MCP 服务器后,客户端可以通过 MCP 提供的接口读取资源、执行工具、获取并渲染 Prompt。
    • 资源访问:通过标准化接口读取知识库、文档、知识图谱等资源,用于给 LLM 提供背景信息与检索能力。
    • 工具执行:向 MCP 注册的工具发起调用,请求参数应遵循工具的输入 schema,返回执行结果或错误信息。
    • Prompt 渲染:从 MCP 获取或渲染 Prompt 模板,用于引导 LLM 的交互与任务执行。
    • 安全与扩展:利用 RPBAC 及 JWT 进行权限控制,结合 Prometheus 指标实现监控;如需扩展,请使用插件/扩展 API。

服务器信息