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 路径)。
- 该配置仅用于客户端示例说明;实际连接时客户端可能不需要直接读写此配置,但有助于理解服务器的启动与对接方式。
-
基本使用方法
- 启动后端服务:根据仓库提供的运行方式,在后端目录启动开发服务器,确保数据库连通性正常。
- 连接 MCP 接口:MCP 客户端向 /mcp 端点发送 JSON-RPC 请求,包含方法名(如 initialize、tools/list 等)以及参数。
- 交互流程:客户端通过初始化协商能力、获取并执行工具、读取资源、渲染和获取 prompts 等来完成对话与上下文构建。
- 安全与权限:服务通过 OAuth 验证,确保资源访问和工具执行在授权范围内进行。
- 结果处理:服务返回符合 JSON-RPC 规范的响应,或以通知/推送方式向客户端告知状态与结果。