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)一起使用。安装步骤如下:
- 环境准备: 确保已安装 Node.js 和 npm。
- 获取代码: 克隆仓库或下载代码压缩包。
- 进入目录: 在终端中导航到项目目录。
- 安装依赖: 运行命令 'npm install' 安装项目依赖。
- 构建项目: 运行命令 'npm run build' 构建项目。
- 配置客户端: 现在可以配置您的 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 文件路径)。
基本使用方法:
- 启动 MCP 服务器: 在终端中使用配置好的命令启动服务器 (例如 'npx mcp-graphql --endpoint http://your-graphql-api.com/graphql')。
- 配置 MCP 客户端: 在您的 LLM 客户端(如 Claude)中,使用上面提供的 JSON 配置信息连接到 MCP 服务器。
- LLM 交互: 现在,您的 LLM 可以使用 "introspect-schema" 工具来获取 GraphQL 模式,并使用 "query-graphql" 工具来执行 GraphQL 查询。 "graphql-schema" 资源也可用作直接访问模式。
LLM 交互示例流程:
- LLM 使用 'introspect-schema' 工具获取 GraphQL 模式。
- LLM 分析模式,理解可用的查询和数据结构。
- LLM 使用 'query-graphql' 工具,并提供 GraphQL 查询语句来获取数据。
- MCP 服务器执行查询,并将结果返回给 LLM。
信息
分类
网页与API