这是一个模型上下文协议服务器,使大型语言模型能够与GraphQL API进行交互。此实现提供了模式内省和查询执行能力,允许模型动态发现并使用GraphQL API。
<a href="https://glama.ai/mcp/servers/4zwa4l8utf"><img width="380" height="200" src="https://gips0.baidu.com/it/u=3785151361,3490400495&fm=3081&app=3081&f=PNG?w=760&h=400" alt="mcp-graphql MCP服务器" /></a>
使用正确的端点运行mcp-graphql,它会自动尝试内省您的查询。
注意: 自1.0.0版本起,命令行参数已被环境变量取代。
| 环境变量 | 描述 | 默认值 |
|---|---|---|
ENDPOINT | GraphQL端点URL | http://localhost:4000/graphql |
HEADERS | 包含请求头的JSON字符串 | {} |
ALLOW_MUTATIONS | 启用突变操作(默认禁用) | false |
NAME | MCP服务器名称 | mcp-graphql |
SCHEMA | 本地GraphQL模式文件路径或URL(可选) | - |
# 基本用法,使用本地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
# 使用托管在URL上的模式文件
ENDPOINT=http://localhost:3000/graphql SCHEMA=https://example.com/schema.graphql npx mcp-graphql
该服务器提供两个主要工具:
introspect-schema: 此工具检索GraphQL模式。如果您无法将模式作为资源访问,请首先使用此工具。 这将使用本地模式文件、托管在URL上的模式文件,或者一个内省查询。
query-graphql: 对端点执行GraphQL查询。默认情况下,突变是禁用的,除非将ALLOW_MUTATIONS设置为true。
要通过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"
}
}
}
}
默认情况下禁用突变操作,作为一种安全措施,以防止大型语言模型修改您的数据库或服务数据。在生产环境中启用突变操作时需谨慎考虑。
这是一个非常通用的实现,它允许完全内省,并且用户可以做任何事情(包括突变)。如果您需要更具体的实现,我建议您创建自己的MCP,并锁定工具调用,以便客户端仅输入特定的查询字段和/或变量。您可以将此作为参考。 </中文翻译>