README
🚀 GraphQL 模式模型上下文协议服务器
本项目是一个基于 Model Context Protocol (MCP) 的服务器,它能将 GraphQL 模式信息暴露给大型语言模型(LLMs),如 Claude。借助该服务器,LLM 可以对 GraphQL 模式进行探索与理解。
✨ 主要特性
- 灵活加载模式:可通过命令行参数指定并加载任意 GraphQL 模式文件。
- 多类型字段探索:支持探索查询、突变和订阅字段。
- 详细类型查看:能够查看详细的类型定义。
- 模式匹配搜索:可使用模式匹配搜索类型和字段。
- 简化信息获取:获取简化的字段信息,包含类型和参数。
- 结果清洁过滤:过滤掉内部 GraphQL 类型,使结果更简洁。
📦 安装指南
此部分未提及具体安装步骤,跳过。
💻 使用示例
命令行
运行 MCP 服务器并指定特定的模式文件:
# 使用当前目录中的默认schema.graphqls
npx -y mcp-graphql-schema
# 使用相对路径的特定模式文件
npx -y mcp-graphql-schema ../schema.shopify.2025-01.graphqls
# 使用绝对路径的模式文件
npx -y mcp-graphql-schema /absolute/path/to/schema.graphqls
# 显示帮助信息
npx -y mcp-graphql-schema --help
Claude Desktop 集成
要在 Claude Desktop 中使用此 MCP 服务器,请编辑 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 集成
要在 Claude Code CLI 中使用此 MCP 服务器,请按照以下步骤操作:
- 将 GraphQL 模式 MCP 服务器添加到 Claude Code
# 基本语法
claude mcp add graphql-schema npx -y mcp-graphql-schema
# 示例带有特定模式的
claude mcp add shopify-graphql-schema npx -y mcp-graphql-schema ~/Projects/work/schema.shopify.2025-01.graphqls
- 验证注册的 MCP 服务器
# 列出所有配置好的服务器
claude mcp list
# 获取 GraphQL 模式服务器的详细信息
claude mcp get graphql-schema
- 如果需要可以删除服务器
claude mcp remove graphql-schema
- 在 Claude Code 中使用工具 配置完成后,您可以在 Claude Code 会话中通过询问关于 GraphQL 模式的问题来调用该工具。
技巧:
- 使用
-s或--scope标志与project(默认)或global指定配置存储的位置。 - 为不同的模式添加多个 MCP 服务器(例如主要 API 模式、Shopify 模式)。
📚 详细文档
MCP 工具
该服务器为 LLM 提供了以下工具来与 GraphQL 模式交互:
list-query-fields:列出所有可用的根级别查询字段。get-query-field:获取特定查询字段的详细 SDL 定义。list-mutation-fields:列出所有可用的根级别突变字段。get-mutation-field:获取特定突变字段的详细 SDL 定义。list-subscription-fields:列出所有可用的根级别订阅字段(如果模式中有订阅)。get-subscription-field:获取特定订阅字段的详细信息(如果模式中有订阅)。list-types:列出 GraphQL 模式中定义的所有类型(排除内部类型)。get-type:获取特定 GraphQL 类型的详细 SDL 定义。get-type-fields:获取特定 GraphQL 对象类型的简化字段列表及其类型。search-schema:使用模式匹配搜索类型和字段。
示例查询
# 查询示例:
# 列出所有可用的根级别查询字段
mcp query --tool list-query-fields
通过以上工具和技术,您可以有效地在 GraphQL 模式中进行交互和探索。
Scan to join WeChat group