GraphQL-based MCP Server using Cloudflare Workers

GraphQL-based MCP Server using Cloudflare Workers

site icon
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 服务器需求。

工具列表

  1. MCP Inspector:用于探索和调试 MCP API 的工具。
  2. Claude Desktop:可以通过配置连接到本地或远程 MCP 服务器的客户端工具。

常见问题解答

  • 认证和授权:当前实现不包含认证/授权机制,建议参考 Cloudflare 的模板添加 OAuth 提供者支持。
  • 元数据管理:元数据需要手动关联到 PQ 列表,对于大型 PQ 列表可能较为繁琐。

使用教程

使用依赖

  1. 需要一个付费的 Cloudflare 账户,并能够创建:
  2. Cloudflare Workers
  3. KV Store
  4. Durable Storage
  5. 需要一个 GraphOS 账户。

安装教程

  1. GraphOS 设置
  2. 创建新的持久化查询列表并发布操作。
  3. 获取 Apollo API 密钥。
  4. 手动步骤
  5. 更新 PQ 元数据文件 src/apollo/pq-metadata.ts
  6. 复制 .dev.vars.example.dev.vars 并添加 Apollo API 密钥。
  7. 复制 example-wrangler.jsoncwrangler.jsonc 并更新配置。
  8. 运行 npm install 安装依赖。

调试方式

  1. 运行 npm run start 启动本地 MCP API,访问 http://localhost:8787/sse
  2. 使用 MCP Inspector 连接到本地服务器:
  3. 启动 npx @modelcontextprotocol/inspector
  4. 在检查器中设置 Transport Type 为 SSE,URL 为 http://localhost:8787/sse
  5. 配置 Claude Desktop 连接到本地服务器:
  6. 更新配置文件以指向本地服务器地址。

部署步骤

  1. 创建 Cloudflare KV 存储并更新 wrangler.jsonc 配置。
  2. 运行 npm run deploy 部署应用。
  3. 使用 MCP Inspector 或 Claude Desktop 连接到远程服务器。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。