使用说明
MCP GraphQL
这个项目是 模型上下文协议(MCP)服务器 设计用于使用官方GraphQL客户端库与GraphQL API交互。它允许用户 列出可用的查询和突变,描述模式实体,并调用GraphQL操作.
🚀 特性
✅ 调用GraphQL操作:动态执行查询和突变。
✅ 列表查询和变体:检索GraphQL模式中的所有可用查询和突变。
✅ 描述模式实体:获取有关GraphQL操作和类型的详细信息。
✅ 设置自定义标题:配置和管理API调用的身份验证或请求标头。
📋 需求
- 去 1.23.0或更高版本
- 正在运行的GraphQL API
⚙️ 设置
1.️⃣ 安装软件包
go install github.com/wricardo/mcp-graphql@latest
2.️⃣ 配置环境变量
设置以下环境变量以连接到GraphQL API:
export ADDRESS="https://your-graphql-endpoint.com"
3.️⃣ 配置MCP客户端设置
将以下配置添加到MCP设置中:
"mcp-graphql": {
"command": "mcp-graphql",
"env": {
"ADDRESS": "https://your-graphql-endpoint.com"
},
"disabled": false,
"autoApprove": []
}
▶️ 用法
运行MCP服务器:
mcp-graphql
🛠️ 工具
🔹 invoke_graphql
执行GraphQL操作(查询或变异)。
📌 参数:
operation(必需的):GraphQL查询或变异字符串。variables(可选的):表示查询变量的JSON编码字符串。
📌 例子:
{
"operation": "query { jobs { id name } }"
}
🔹 list_查询
检索GraphQL架构中的所有可用查询。
📌 参数:
- 无
📌 示例响应:
{
"queries": [
"healthcheck(input: String!): String!",
"candidate(id: String!): Candidate"
]
}
🔹 list_mutations
检索GraphQL模式中的所有可用突变。
📌 参数:
- 无
📌 示例响应:
{
"mutations": [
"createCandidate(input: CandidateInput!): Candidate!",
"updateInterviewScorecard(id: String!, input: ScorecardInput!): InterviewScorecard!"
]
}
🔹 描述
检索有关指定GraphQL操作或类型的详细信息。
📌 参数:
entities(必需的):以逗号分隔的GraphQL类型或操作列表。
📌 例子:
{
"entities": "query.jobs,type.JobQueryParams,JobsPage,job"
}
🔹 set_headers
为GraphQL请求设置或覆盖HTTP标头。
📌 参数:
headers(必需的):JSON编码的标头。
📌 例子:
{
"headers": "{\"Authorization\": \"Bearer token123\", \"X-API-Key\": \"abc123\"}"
}