mcpField
M
mcp-graphql

mcp-graphql

本地服务
github.com/blurrah开发工具40765 周前更新

关于 mcp-graphql

mcp-graphql 是一个 MCP 服务,使 LLM 能够与 GraphQL API 交互。它提供 schema 内省和查询执行功能,使模型能够动态发现并使用 GraphQL API,默认禁用 mutation 以降低风险。

主要功能

  1. 01Schema 内省与 schema 资源
  2. 02查询执行工具 query-graphql
  3. 03通过环境变量配置端点与请求头
  4. 04默认禁用 mutation,可通过 ALLOW_MUTATIONS 开启
  5. 05支持本地或 URL 形式的 schema 文件

适用场景

  1. 01让 LLM 探索并查询内部 GraphQL API
  2. 02在 Claude Desktop 中接入 GraphQL 服务

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露 graphql-schema 资源,并提供 introspect-schema 与 query-graphql 两个工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"graphql": {
"command": "npx",
"args": [
"-y",
"mcp-graphql"
],
"env": {
"ENDPOINT": "<ENDPOINT>"
}
}
}
}
启动命令npx -y mcp-graphql
需要配置的环境变量
ENDPOINT

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcp-graphql

工具

2

收录的工具列表 · 更新于 3 周前

参数类型必填说明
__ignore__boolean否此操作不执行任何操作

详细介绍

mcp-graphql

smithery badge

一个 Model Context Protocol 服务,可让大模型与 GraphQL API 交互。此实现提供架构内省和查询执行功能,使模型能够动态发现和使用 GraphQL API。

mcp-graphql MCP server

用法

使用正确的端点运行 mcp-graphql,它会自动尝试内省你的查询。

环境变量(1.0.0 中的重大变更)

注意: 从 1.0.0 版本起,命令行参数已替换为环境变量。

环境变量描述默认值
ENDPOINTGraphQL 端点 URLhttp://localhost:4000/graphql
HEADERS包含请求标头的 JSON 字符串{}
ALLOW_MUTATIONS启用变更操作(默认禁用)false
NAMEMCP 服务的名称mcp-graphql
SCHEMA本地 GraphQL 架构文件的路径或 URL(可选)-
示例
# Basic usage with a local GraphQL server
ENDPOINT=http://localhost:3000/graphql npx mcp-graphql

# Using with custom headers
ENDPOINT=https://api.example.com/graphql HEADERS='{"Authorization":"Bearer token123"}' npx mcp-graphql

# Enable mutation operations
ENDPOINT=http://localhost:3000/graphql ALLOW_MUTATIONS=true npx mcp-graphql

# Using a local schema file instead of introspection
ENDPOINT=http://localhost:3000/graphql SCHEMA=./schema.graphql npx mcp-graphql

# Using a schema file hosted at a URL
ENDPOINT=http://localhost:3000/graphql SCHEMA=https://example.com/schema.graphql npx mcp-graphql

资源

  • graphql-schema:服务将 GraphQL 架构作为资源公开,客户端可以访问。该资源可以是本地架构文件、托管在 URL 上的架构文件,也可以基于内省查询生成。

可用工具

服务提供两个主要工具:

  1. introspect-schema:此工具用于获取 GraphQL 架构。如果你无法通过资源访问架构,请先使用此工具。 此工具使用本地架构文件、托管在 URL 上的架构文件,或内省查询。

  2. query-graphql:对端点执行 GraphQL 查询。默认情况下,除非将 ALLOW_MUTATIONS 设为 true,否则会禁用变更操作。

安装

通过 Smithery 安装

要通过 Smithery 为 Claude Desktop 自动安装 GraphQL MCP Server:

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,并限制客户端的工具调用,只允许输入特定的查询字段和/或变量。你可以将此项目用作参考。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。