
GraphQL-based MCP Server using Cloudflare Workers

2025.04.07
0
TypeScriptGraphQLCloudflare WorkersMCP Server开发效率
apollo-mcp-server 是一个基于 GraphQL 和 Cloudflare Workers 的模型上下文协议(MCP)服务器,旨在帮助大型语言模型(LLMs)利用现有的 GraphQL API 来支持基于 AI 的体验。该项目是实验性的,主要用于参考目的,社区反馈欢迎,但可能不会像官方 Apollo GraphQL GitHub 组织中的项目那样得到支持。
View on GitHub
Overview
基本能力
产品定位
apollo-mcp-server 是一个基于 GraphQL 和 Cloudflare Workers 的模型上下文协议(MCP)服务器,旨在帮助大型语言模型(LLMs)利用现有的 GraphQL API 来支持基于 AI 的体验。
核心功能
- 支持 GraphQL 和持久化查询(Persisted Queries, PQs)。
- 利用 Cloudflare Workers 提供高性能的 MCP 服务。
- 提供本地和远程部署选项,支持 SSE(Server-Sent Events)协议。
- 可以与 MCP 检查器和 Claude Desktop 等工具集成。
适用场景
- 为 AI 体验提供后端支持,尤其是基于大型语言模型的应用。
- 需要高性能和低延迟的 GraphQL API 服务。
- 本地开发或远程部署的 MCP 服务器需求。
工具列表
- MCP Inspector:用于探索和调试 MCP API 的工具。
- Claude Desktop:可以通过配置连接到本地或远程 MCP 服务器的客户端工具。
常见问题解答
- 认证和授权:当前实现不包含认证/授权机制,建议参考 Cloudflare 的模板添加 OAuth 提供者支持。
- 元数据管理:元数据需要手动关联到 PQ 列表,对于大型 PQ 列表可能较为繁琐。
使用教程
使用依赖
- 需要一个付费的 Cloudflare 账户,并能够创建:
- Cloudflare Workers
- KV Store
- Durable Storage
- 需要一个 GraphOS 账户。
安装教程
- GraphOS 设置:
- 创建新的持久化查询列表并发布操作。
- 获取 Apollo API 密钥。
- 手动步骤:
- 更新 PQ 元数据文件
src/apollo/pq-metadata.ts
。 - 复制
.dev.vars.example
到.dev.vars
并添加 Apollo API 密钥。 - 复制
example-wrangler.jsonc
到wrangler.jsonc
并更新配置。 - 运行
npm install
安装依赖。
调试方式
- 运行
npm run start
启动本地 MCP API,访问http://localhost:8787/sse
。 - 使用 MCP Inspector 连接到本地服务器:
- 启动
npx @modelcontextprotocol/inspector
。 - 在检查器中设置 Transport Type 为
SSE
,URL 为http://localhost:8787/sse
。 - 配置 Claude Desktop 连接到本地服务器:
- 更新配置文件以指向本地服务器地址。
部署步骤
- 创建 Cloudflare KV 存储并更新
wrangler.jsonc
配置。 - 运行
npm run deploy
部署应用。 - 使用 MCP Inspector 或 Claude Desktop 连接到远程服务器。