GraphQL操作工具

一个用于动态执行GraphQL查询和突变、列出可用操作及描述模式实体的服务器工具。

  • by wricardo
  • Go
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 wricardo/graphql-mcp

使用说明

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\"}"
}