Stitch MCP 服务端实现
使用说明(Markdown 格式)
-
项目简介
- 该仓库实现了一个针对 MCP 协议的服务端框架,包含了资源、工具、提示模板的管理与渲染能力,以及一个用于与 MCP 客户端通信的代理服务。通过命令行界面和一组服务/处理器实现,能够在本地或云端搭建并暴露 MCP 服务端能力,供 LLM 调用与集成。
-
主要功能点
- 资源与工具管理:提供资源的托管、查询和执行工具的能力,支持对外部功能的调用。
- Prompt 模板定义与渲染:支持定义和渲染可定制的 Prompt 模板,适配不同的交互模式。
- JSON-RPC 通信:服务器端实现对 MCP 客户端的请求/响应处理,符合 MCP 的标准数据结构与调用模式。
- 会话与能力声明:内置会话管理、能力表述与健康检查入口,便于集成监控与治理。
- 多传输协议支持:支持 stdio、SSE、WebSocket 等传输方式,以适配不同运行环境与集成场景。
- 代理模式(Proxy):提供 MCP 代理服务器,将本地开发环境的代理流量转发到远端 MCP 服务,支持自动 token 刷新与日志调试。
-
安装步骤
- 克隆仓库后在项目根目录安装依赖(如 bun / npm/yarn)。
- 运行构建并启动服务器端代理(proxy 命令):
- 直接执行代理命令以启动 MCP 服务端代理,代理会处理 token、请求转发与错误处理。
- 如需打包发布,使用脚本进行打包、打包产物的验证与生成可执行 bin。
-
服务器配置(给 MCP 客户端使用的启动配置示例) 概要说明:MCP 客户端通过配置文件指向 MCP 服务器的启动指令来建立连接。下面给出可直接用于 MCP 客户端配置的描述信息,包含服务器名称、启动命令和参数等字段说明。配置信息以 JSON 形式呈现,便于 MCP 客户端读取与理解。
服务器名称:stitch 启动命令:npx 启动参数:["@_davideast/stitch-mcp", "proxy"] 环境变量示例(根据需要设置,任选其一):
- STITCH_PROJECT_ID:用于 proxy 模式下的项目标识
- STITCH_USE_SYSTEM_GCLOUD=1:使用系统 gcloud 的配置
- GOOGLE_CLOUD_PROJECT:覆盖默认的 Google Cloud 项目
- STITCH_API_KEY:直接使用 API Key 进行认证(HTTP 直连模式) 声明的连接方式:默认使用 stdio 传输,若需要对接外部 HTTP 服务可切换至 http 直连 备注:MCP 客户端需要读取上述配置中的 serverName、command、args 等字段来启动与 MCP 服务器建立连接。若使用代理模式,命令与参数应正确设置以启动代理进程。
JSON 示例(文字描述,不作为代码块展示): { "mcpServers": { "stitch": { "name": "stitch", "command": "npx", "args": ["@_davideast/stitch-mcp", "proxy"], "env": { "STITCH_PROJECT_ID": "<project-id>", "STITCH_USE_SYSTEM_GCLOUD": "1" // 如需使用系统 gcloud,按需设置 } } } }
-
基本使用方法
- 启动代理服务后,MCP 客户端通过上面的配置启动对应的代理服务端,与 MCP 服务器建立 JSON-RPC 通信。
- 客户端可以通过资源、工具、Prompts 的相关 API 调用服务端能力,获取资源数据、执行工具、渲染并返回 Prompt。
- 如需调试,开启代理的调试日志选项,查看输出以诊断认证、网络、请求路由等问题。