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的路径(可选) | - |
例子
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和锁定工具,让客户端只输入特定的查询字段和/或变量。您可以将此作为参考。