一个模型上下文协议服务器,能让大语言模型(LLM)与GraphQL API进行交互。该实现具备模式内省(introspection)和查询执行功能,可让模型动态发现并使用GraphQL API。
运行mcp-graphql并指定正确的端点,它将自动尝试进行内省(introspect)查询。
要自动通过Smithery安装GraphQL MCP服务器以用于Claude Desktop,可执行以下命令:
npx -y @smithery/cli install mcp-graphql --client claude
可以手动安装到Claude,配置如下:
{
"mcpServers": {
"mcp-graphql": {
"command": "npx",
"args": ["mcp-graphql"],
"env": {
"ENDPOINT": "http://localhost:3000/graphql"
}
}
}
}
# 基本使用,与本地GraphQL服务器通信
ENDPOINT=http://localhost:3000/graphql npx mcp-graphql
# 使用自定义头文件
ENDPOINT=https://api.example.com/graphql HEADERS='{"Authorization":"Bearer token123"}' npx mcp-graphql
# 启用变异操作
ENDPOINT=http://localhost:3000/graphql ALLOW_MUTATIONS=true npx mcp-graphql
# 使用本地模式文件而不是内省查询
ENDPOINT=http://localhost:3000/graphql SCHEMA=./schema.graphql npx mcp-graphql
⚠️ 重要提示
从版本1.0.0开始,命令行参数已替换为环境变量。
| 环境变量 | 描述 | 默认值 |
|---|---|---|
ENDPOINT |
GraphQL端点URL | http://localhost:4000/graphql |
HEADERS |
请求中的头文件JSON字符串 | {} |
ALLOW_MUTATIONS |
启用变异操作(默认禁用) | false |
NAME |
服务器的名称 | mcp-graphql |
SCHEMA |
本地GraphQL模式文件路径(可选) | - |
服务器提供两个主要工具:
ALLOW_MUTATIONS设置为true。此实现提供模式内省和查询执行功能,允许模型动态发现和使用GraphQL API。运行时指定正确的端点,它将自动尝试内省查询。
文档未提及相关许可证信息。
默认情况下,变异操作是禁用的,这是一种安全措施。请谨慎考虑在生产环境中启用变异操作。
这是一个非常通用的实现,允许完整的内省,并且让用户可以执行任何操作(包括变异)。如果你需要更具体的实现,建议创建自己的MCP并限制客户端仅调用特定的查询字段和/或变量。此项目可作为参考。