mcp-graphql

mcp-graphql

site icon
2025.03.09 1
GraphQL 服务API 交互LLM 集成开发效率
mcp-graphql 是一个 Model Context Protocol 服务器,旨在使大型语言模型(LLMs)能够与 GraphQL API 进行交互。它提供了模式自省和查询执行能力,使模型能够动态发现和使用 GraphQL API。该服务器支持通过本地模式文件或自省查询获取 GraphQL 模式,并允许执行查询操作(默认禁用变更操作以确保安全)。
View on GitHub

Overview

基本能力

产品定位

mcp-graphql 是一个专为大型语言模型设计的 GraphQL API 交互服务器,旨在简化 LLMs 与 GraphQL 服务的集成过程。

核心功能

  1. GraphQL 模式自省:通过 introspect-schema 工具自动获取 GraphQL 模式。
  2. 查询执行:通过 query-graphql 工具执行 GraphQL 查询。
  3. 安全控制:默认禁用变更操作,防止意外数据修改。
  4. 自定义配置:支持自定义请求头、本地模式文件等配置选项。

适用场景

  1. 需要让 LLMs 动态访问 GraphQL API 的场景。
  2. 需要为 LLMs 提供结构化数据查询能力的应用。
  3. 开发需要与 GraphQL 服务交互的 AI 助手或自动化工具。

工具列表

  1. introspect-schema:获取 GraphQL 模式,支持本地文件或自省查询。
  2. query-graphql:执行 GraphQL 查询,默认禁用变更操作。

常见问题解答

  1. 为什么变更操作默认禁用? 出于安全考虑,防止 LLMs 意外修改数据。
  2. 如何启用变更操作? 使用 --enable-mutations 参数启动服务器。
  3. 如何使用本地模式文件? 通过 --schema 参数指定本地模式文件路径。

使用教程

使用依赖

需要安装 Node.js 和 npm 环境。

安装教程

通过 Smithery 安装

npx -y @smithery/cli install mcp-graphql --client claude

手动安装

在 Claude 配置中添加:

{
    "mcpServers": {
        "mcp-graphql": {
            "command": "npx",
            "args": ["mcp-graphql", "--endpoint", "http://localhost:3000/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

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。