mcp-graphql-schema

mcp-graphql-schema

一个 MCP 服务器,它向像 Claude 这样的 LLM 暴露 GraphQL schema 信息。这个服务器允许 LLM 通过一套专门的工具来探索和理解大型 GraphQL schema,而无需将整个 schema 加载到上下文中。 (Alternative translation, emphasizing the functionality:) 一个 MCP 服务器,其作用是将 GraphQL schema 信息提供给像 Claude 这样的 LLM。 该服务器提供了一系列专用工具,使 LLM 能够探索和理解大型 GraphQL schema,而无需将整个 schema 加载到其上下文环境中。

编程文档访问
访问服务器

README

GraphQL Schema 模型上下文协议服务器

一个模型上下文协议 (MCP) 服务器,用于向大型语言模型 (LLM),如 Claude,公开 GraphQL schema 信息。此服务器允许 LLM 通过一组专用工具来探索和理解 GraphQL schema。

功能

  • 加载通过命令行参数指定的任何 GraphQL schema 文件
  • 探索 query、mutation 和 subscription 字段
  • 查找详细的类型定义
  • 使用模式匹配搜索类型和字段
  • 获取简化的字段信息,包括类型和参数
  • 过滤掉内部 GraphQL 类型,以获得更清晰的结果

用法

命令行

使用特定的 schema 文件运行 MCP 服务器:

# 使用当前目录中的默认 schema.graphqls
npx -y mcp-graphql-schema

# 使用特定的 schema 文件(相对路径)
npx -y mcp-graphql-schema ../schema.shopify.2025-01.graphqls

# 使用特定的 schema 文件(绝对路径)
npx -y mcp-graphql-schema /absolute/path/to/schema.graphqls

# 显示帮助
npx -y mcp-graphql-schema --help

Claude Desktop 集成

要将此 MCP 服务器与 Claude Desktop 一起使用,请编辑您的 claude_desktop_config.json 配置文件:

{
  "mcpServers": {
    "GraphQL Schema": {
      "command": "npx",
      "args": ["-y", "mcp-graphql-schema", "/ABSOLUTE/PATH/TO/schema.graphqls"]
    }
  }
}

配置文件的位置:

  • macOS/Linux: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: $env:AppData\Claude\claude_desktop_config.json

Claude Code 集成

要将此 MCP 服务器与 Claude Code CLI 一起使用,请按照以下步骤操作:

  1. 将 GraphQL Schema MCP 服务器添加到 Claude Code

    # 基本语法
    claude mcp add graphql-schema npx -y mcp-graphql-schema
    
    # 带有特定 schema 的示例
    claude mcp add shopify-graphql-schema npx -y mcp-graphql-schema  ~/Projects/work/schema.shopify.2025-01.graphqls
    
  2. 验证 MCP 服务器是否已注册

    # 列出所有已配置的服务器
    claude mcp list
    
    # 获取 GraphQL schema 服务器的详细信息
    claude mcp get graphql-schema
    
  3. 如果需要,删除服务器

    claude mcp remove graphql-schema
    
  4. 在 Claude Code 中使用该工具

    配置完成后,您可以通过询问有关 GraphQL schema 的问题,在 Claude Code 会话中调用该工具。

提示:

  • 使用 -s--scope 标志以及 project(默认)或 global 来指定配置的存储位置
  • 为具有不同名称的不同 schema 添加多个 MCP 服务器(例如,主 API schema、Shopify schema)

MCP 工具

该服务器提供以下工具,供 LLM 与 GraphQL schema 交互:

  • list-query-fields: 列出 GraphQL query 的所有可用根级别字段
  • get-query-field: 获取 SDL 格式的特定 query 字段的详细定义
  • list-mutation-fields: 列出 GraphQL mutation 的所有可用根级别字段
  • get-mutation-field: 获取 SDL 格式的特定 mutation 字段的详细定义
  • list-subscription-fields: 列出 GraphQL subscription 的所有可用根级别字段(如果 schema 中存在)
  • get-subscription-field: 获取 SDL 格式的特定 subscription 字段的详细定义(如果 schema 中存在)
  • list-types: 列出 GraphQL schema 中定义的所有类型(不包括内部类型)
  • get-type: 获取 SDL 格式的特定 GraphQL 类型的详细定义
  • get-type-fields: 获取特定 GraphQL 对象类型的字段及其类型的简化列表
  • search-schema: 按名称模式(不区分大小写的正则表达式)搜索 schema 中的类型或字段

示例

尝试的示例查询:

此 GraphQL schema 中有哪些 query 字段可用?
显示 "user" query 字段的详细信息。
我可以在此 schema 中执行哪些 mutation 操作?
列出此 schema 中定义的所有类型。
显示 "Product" 类型的定义。
列出 "Order" 类型的全部字段。
搜索与 "customer" 相关的类型和字段。

推荐服务器