GraphQL MCP Server

本项目实现了一个MCP (Model Context Protocol) 服务器,旨在让大型语言模型 (LLM) 能够方便地与 GraphQL API 进行交互。它提供了 GraphQL API 模式内省和查询执行工具,使得 LLM 可以动态地发现和利用 GraphQL API 的数据和功能。

主要功能点:

  • GraphQL 模式内省: 自动从 GraphQL 端点检索模式,或使用本地模式文件,使 LLM 能够理解 API 的结构。
  • GraphQL 查询执行: 允许 LLM 对 GraphQL 端点执行查询,按需获取特定数据。
  • 资源管理: 将 GraphQL 模式作为资源暴露,供 MCP 客户端访问。
  • 工具化交互: 提供 "introspect-schema" 和 "query-graphql" 工具,供 LLM 动态发现和使用 GraphQL API。
  • 安全考虑: 默认禁用 Mutation 操作,防止 LLM 意外修改数据。如有需要,可以手动启用 Mutation。

安装步骤:

此 MCP 服务器通常与支持 Model Context Protocol 的 LLM 客户端(如 Claude)一起使用。安装步骤如下:

  1. 环境准备: 确保已安装 Node.js 和 npm。
  2. 获取代码: 克隆仓库或下载代码压缩包。
  3. 进入目录: 在终端中导航到项目目录。
  4. 安装依赖: 运行命令 'npm install' 安装项目依赖。
  5. 构建项目: 运行命令 'npm run build' 构建项目。
  6. 配置客户端: 现在可以配置您的 MCP 客户端(例如 Claude)来使用此服务器。

服务器配置 (MCP 客户端配置):

要将此 MCP 服务器连接到 MCP 客户端,您需要在客户端中配置服务器的启动命令。以下是 JSON 格式的配置示例,您需要根据实际情况进行调整:

{
    "mcpServers": {
        "graphql-mcp": {  // 服务器名称,可以自定义
            "command": "npx", // 启动命令,通常为 npx
            "args": [
                "mcp-graphql",  // 主脚本名称,构建后可能位于 'dist' 文件夹下
                "--endpoint", "http://your-graphql-api.com/graphql" // 您的 GraphQL API 端点 URL,请替换为实际地址
                // 其他可选参数,例如 "--headers", "--enable-mutations", "--schema" 等
            ]
        }
    }
}

注意:

  • 将 '"http://your-graphql-api.com/graphql"' 替换为您的 GraphQL API 的实际 URL。
  • 可以自定义服务器名称 '"graphql-mcp"'。
  • 更多可选的命令行参数,请参考仓库 README.md 文件中的 "Command Line Arguments" 部分,例如 '--headers' (自定义请求头), '--enable-mutations' (启用 mutation 操作), 和 '--schema' (指定本地 schema 文件路径)。

基本使用方法:

  1. 启动 MCP 服务器: 在终端中使用配置好的命令启动服务器 (例如 'npx mcp-graphql --endpoint http://your-graphql-api.com/graphql')。
  2. 配置 MCP 客户端: 在您的 LLM 客户端(如 Claude)中,使用上面提供的 JSON 配置信息连接到 MCP 服务器。
  3. LLM 交互: 现在,您的 LLM 可以使用 "introspect-schema" 工具来获取 GraphQL 模式,并使用 "query-graphql" 工具来执行 GraphQL 查询。 "graphql-schema" 资源也可用作直接访问模式。

LLM 交互示例流程:

  1. LLM 使用 'introspect-schema' 工具获取 GraphQL 模式。
  2. LLM 分析模式,理解可用的查询和数据结构。
  3. LLM 使用 'query-graphql' 工具,并提供 GraphQL 查询语句来获取数据。
  4. MCP 服务器执行查询,并将结果返回给 LLM。

信息

分类

网页与API