一个模型上下文协议服务器,使大语言模型(LLMs)能够与GraphQL API进行交互。该实现提供了模式自省和查询执行功能,允许模型动态发现和使用GraphQL API。
使用正确的端点运行 mcp-graphql
,它将自动尝试自省您的查询。
参数 | 描述 | 默认值 |
---|---|---|
--endpoint |
GraphQL 端点 URL | http://localhost:4000/graphql |
--headers |
包含请求头的 JSON 字符串 | {} |
--enable-mutations |
启用变更操作(默认禁用) | false |
--name |
MCP 服务器的名称 | mcp-graphql |
--schema |
本地 GraphQL 模式文件的路径(可选) | - |
# 使用本地 GraphQL 服务器的基本用法
npx mcp-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 --enable-mutations
# 使用本地模式文件而不是自省
npx mcp-graphql --endpoint http://localhost:3000/graphql --schema ./schema.graphql

服务器提供了两个主要工具:
introspect-schema:此工具检索 GraphQL 模式。如果您无法访问模式资源,请首先使用此工具。它使用本地模式文件或自省查询。
query-graphql:针对端点执行 GraphQL 查询。默认情况下,除非指定了 --enable-mutations
,否则禁用变更操作。
要通过 Smithery 自动为 Claude Desktop 安装 GraphQL MCP 服务器:
npx -y @smithery/cli install mcp-graphql --client claude
可以手动安装到 Claude:
{
"mcpServers": {
"mcp-graphql": {
"command": "npx",
"args": ["mcp-graphql", "--endpoint", "http://localhost:3000/graphql"]
}
}
}

默认情况下,变更操作被禁用,作为一项安全措施,以防止 LLM 修改您的数据库或服务数据。在生产环境中启用变更操作之前,请仔细考虑。
这是一个非常通用的实现,它允许完全自省,并允许用户执行任何操作(包括变更)。如果您需要更具体的实现,我建议您创建自己的 MCP,并锁定客户端只能输入特定的查询字段和/或变量。您可以将其作为参考。