Guilders MCP 服务器

使用说明(Markdown 格式)

  • 项目简介

    • 这是一个实现 MCP(Model Context Protocol)服务器的后端组件,位于 Guilders 的 API 服务中。它通过 /mcp 接口接收 JSON-RPC 请求,提供资源数据、工具执行以及 Prompts 的渲染能力,并具备会话管理和能力声明等功能,面向需要读取数据、调用外部功能并渲染对话模板的 AI 客户端。
  • 主要功能点

    • 资源管理与数据访问:后端托管可被 MCP 客户端读取的资源(如账户、交易、文档等数据)。
    • 工具注册与执行:允许 MCP 客户端调用后端提供的工具来完成外部功能。
    • Prompts 定义与渲染:提供可定制的 Prompt 模板与渲染能力,支持多种交互模式。
    • JSON-RPC 通信:服务器与 MCP 客户端通过标准的 JSON-RPC 协议进行请求与响应。
    • 会话与能力声明:实现会话管理并对客户端能力进行声明与协商。
    • 多传输协议与安全:支持在不同传输场景下工作(如 Stdio、SSE、WebSocket),并通过 OAuth 等方式进行认证授权。
  • 安装与运行步骤

    • 环境依赖:需要 Bun 环境和后端数据库(如 PostgreSQL),以及 API 服务所需的其他依赖。
    • 运行本 MCP 服务器所在的 API 服务:
      • 进入项目中的后端服务目录(例如 apps/api)。
      • 启动开发服务器,通常使用 Bun 的开发命令,例如 bun run dev。
      • MCP 服务器的入口端点为 /mcp,后续可以通过配置的 MCP 客户端进行连接与交互。
    • 验证方式:易于通过仓库中的测试用例进行集成测试,尤其是 /mcp 的初始化与工具清单等流程。
  • 服务器配置(给 MCP 客户端配置的 JSON 示例说明) 配置信息用于 MCP 客户端发起连接与启动时的参数化描述(JSON 格式,不包含代码,仅用于描述连接信息和启动参数): { "serverName": "Guilders MCP Server", "command": "bun", "args": ["run", "dev"], "description": "Guilders MCP 服务,提供资源读取、工具执行、Prompts 渲染等能力,用于 LLM 的上下文服务。", "endpoint": { "url": "https://api.your-domain.com/mcp", "transport": "http" } } 注释说明:

    • serverName:MCP 服务器的名称,便于在客户端管理和日志标识。
    • command / args:用于在客户端启动服务器进程时需要执行的命令及参数,这里与仓库中后端启动方式保持一致(示例为在本地使用 Bun 启动开发环境)。
    • endpoint:MCP 服务的实际访问地址与传输方式,帮助客户端正确建立连接(当前实现通过 HTTP/JSON-RPC 请求 /mcp 路径)。
    • 该配置仅用于客户端示例说明;实际连接时客户端可能不需要直接读写此配置,但有助于理解服务器的启动与对接方式。
  • 基本使用方法

    1. 启动后端服务:根据仓库提供的运行方式,在后端目录启动开发服务器,确保数据库连通性正常。
    2. 连接 MCP 接口:MCP 客户端向 /mcp 端点发送 JSON-RPC 请求,包含方法名(如 initialize、tools/list 等)以及参数。
    3. 交互流程:客户端通过初始化协商能力、获取并执行工具、读取资源、渲染和获取 prompts 等来完成对话与上下文构建。
    4. 安全与权限:服务通过 OAuth 验证,确保资源访问和工具执行在授权范围内进行。
    5. 结果处理:服务返回符合 JSON-RPC 规范的响应,或以通知/推送方式向客户端告知状态与结果。

服务器信息