GraphQL API交互服务

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

作者 By blurrah
本地部署 GraphQL LLM交互
GitHub

mcp图形库

一个模型上下文协议服务器,使LLM能够与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的路径(可选)-

例子

BASH``` 1 2 3 4 5 6 7 8 9 10# 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 [史密瑟里](https://smithery.ai/server/mcp-graphql):


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

手动安装

它可以手动安装到Claude:

JSON``` 1 2 3 4 5 6 7 8 9 10 11{ “mcpServers”: { “mcp-graphql”: { “command”: “npx”, “args”: [“mcp-graphql”], “env”: { “ENDPOINT”: “http://localhost:3000/graphql” } } } }


## 安全考虑


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


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


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