GraphQL API交互服务

一个模型上下文协议服务器,使LLM能够与GraphQL API交互,提供模式自省和查询执行功能。

  • by blurrah
  • TypeScript
  • 本地部署
  • 407 星标
  • 更新于
在 GitHub 查看 blurrah/mcp-graphql

使用说明

mcp图形库

一个模型上下文协议服务器,使LLM能够与GraphQL API交互。此实现提供了模式自检和查询执行功能,允许模型动态发现和使用GraphQL API。

用法

跑 mcp-graphql 使用正确的端点,它将自动尝试反思您的查询。

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

注: 从1.0.0版本开始,命令行参数已被环境变量替换。

环境变量 描述 默认值
ENDPOINT GraphQL端点URL http://localhost:4000/graphql
HEADERS 包含请求标头的JSON字符串 {}
ALLOW_MUTATIONS 启用变异操作(默认禁用) false
NAME MCP服务器的名称 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模式:服务器将GraphQL模式作为客户端可以访问的资源公开。这要么是本地模式文件,要么是托管在URL上的模式文件,或者是基于自省查询的模式文件。

可用工具

服务器提供两个主要工具:

  1. 内省模式:此工具检索GraphQL模式。如果您没有将架构作为资源访问的权限,请先使用此选项。 这使用本地模式文件、URL上托管的模式文件或自检查询。

  2. 查询图形库:对端点执行GraphQL查询。默认情况下,突变被禁用,除非 ALLOW_MUTATIONS 设置为 true.

安装

通过Smithery安装

通过以下方式自动安装GraphQL MCP Server for 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"
            }
        }
    }
}

安全考虑

默认情况下,作为防止LLM修改数据库或服务数据的安全措施,会禁用突变。在生产环境中启用突变之前,请仔细考虑。

为您自己的服务器进行自定义

这是一个非常通用的实现,它允许用户进行完全的内省,并允许用户做任何事情(包括突变)。如果你需要一个更具体的实现,我建议你创建自己的MCP和锁定工具,让客户端只输入特定的查询字段和/或变量。您可以将此作为参考。