Fulcrum MCP 服务器实现

使用说明

  • 项目简介
    • Fulcrum MCP 服务器实现是一个基于 Model Context Protocol(MCP)的后端服务。它负责以标准化方式向 LLM 客户端提供资源(Resources)、注册与执行 Tools,以及管理并渲染 Prompt 模板,确保客户端能够通过 JSON-RPC 形式请求和获取上下文数据、调用外部功能以及获取提示模板。
    • 该实现包含服务器端代码、会话管理、能力声明,以及对多种传输协议的支持(如 Stdio、SSE、WebSocket),从而为 LLM 应用提供安全、可扩展的上下文服务框架。
  • 主要功能点
    • 资源管理:托管并提供对可访问资源与数据的读写能力。
    • 工具注册与执行:暴露 MCP 工具,允许 LLM 调用外部功能。
    • 提示模板(Prompts)定义与渲染:支持可定制的对话模板与上下文渲染。
    • JSON-RPC 通信:服务器通过 JSON-RPC 与客户端进行请求/响应交互,处理读取资源、调用工具、获取 Prompts 等操作,并返回标准化的 JSON-RPC 响应或通知。
    • 会话管理与能力声明:支持会话生命周期、能力清单等,并按需渲染上下文。
    • 多传输协议:提供多种传输方式以适配不同客户端场景(如标准输入输出、Server-Sent Events、WebSocket)。
  • 安装与运行步骤
    • 你可以按照仓库提供的快速启动方式,直接使用命令行安装并启动服务:
      • 通过 Fulcrum CLI 快速起步:执行 npx @knowsuchagency/fulcrum@latest up,Fulcrum 将自动检查依赖并在本地启动后端服务,默认监听 http://localhost:7777。
      • 如果需要在标准 MCP 场景中以 stdio 的方式暴露 MCP 服务,可以使用 CLI 的相关命令启动 MCP 服务。
    • 启动完成后,服务器将对外暴露 MCP 接入端口,供 MCP 客户端注册、读取资源、执行工具等操作。
  • 服务器配置(MCP 客户端角度,不需要改动服务器端代码)
    • MCP 客户端需要知道如何连接服务器以进行通信。以下是一个配置信息的描述,供 MCP 客户端在与服务器建立连接前进行注册:
    • 配置示例(JSON 格式,字段说明见注释): { "serverName": "fulcrum-mcp", "command": "fulcrum", "args": ["mcp"], "description": "Fulcrum MCP 服务器实例,用于向 MCP 客户端提供 Resources、Tools 及 Prompts 的标准化上下文服务。" }
    • 字段说明
      • serverName: MCP 服务器对外唯一标识名称,便于区分和日志追踪。
      • command: 启动 MCP 服务所需的命令(在部署环境中应确保该命令可执行)。
      • args: 启动命令的参数数组,示例中为 ["mcp"],表示以 MCP 模式启动。
  • 基本使用方法
    • 确保服务器已正确启动并对外暴露 MCP 接入点。
    • MCP 客户端注册:将服务器名称、启动命令与参数等信息配置为 MCP 客户端可识别的连接信息,从而通过 JSON-RPC 发送请求读取资源、调用工具、获取提示模板等。
    • 客户端与服务交互:客户端通过 MCP JSON-RPC 请求向服务器请求资源、执行工具、获取或渲染 Prompts,服务器返回标准化的 JSON-RPC 响应或通知。
    • 会话与安全:服务器负责会话生命周期与能力声明,确保多客户端并发访问时具备隔离与安全性。可根据需求扩展传输通道(Stdio、SSE、WebSocket)。

服务器信息