GitHub GraphQL API MCP
一个基于 MCP(模型控制协议)的工具,用于查询和使用 GitHub GraphQL API。该项目提供了一个服务器,允许您通过 MCP 客户端工具(例如 Claude AI)探索 GitHub GraphQL 模式并执行 GraphQL 查询。
为什么要使用 GitHub GraphQL API
GitHub GraphQL API 与传统 REST API 相比具有显著优势:
精确的数据检索:GraphQL 允许客户端精确指定他们需要的字段,避免多余的数据
减少令牌消耗:通过仅请求必要字段,API 响应大小显著减少,从而降低 AI 模型令牌消耗
相关数据的单次请求:一次查询可以检索多个相关资源,从而减少请求次数
自文档化:通过其内置的文档系统,您可以直接查询和了解 API 模式,而无需外部文档
强类型系统:提供类型检查,减少错误
该项目利用这些优势提供工具,帮助您有效地探索 GitHub GraphQL API 模式并执行优化查询,为 AI 助手提供高效的 GitHub 数据检索功能。
Related MCP server: mcp-graphql
应用场景
基本功能
该工具可以轻松实现以下常见操作:
仓库基本信息查询:获取仓库名称、描述、star数、分支列表等基本信息
问题数据检索:查询特定存储库的问题列表、详细信息或评论内容
用户资料访问:检索用户的个人资料、贡献统计数据和其他公共信息
Pull Request Status View :获取PR基本状态、评论内容、合并信息
项目依赖查询:检索项目依赖包列表和版本信息
探索性高级功能
借助 GraphQL 灵活的查询能力,你还可以尝试实现以下高级分析功能:
存储库贡献趋势分析:通过汇总提交数据、评估项目活动来分析代码更新频率和贡献者参与度
问题管理与分类:根据自定义条件整理问题数据,发现需要优先处理的问题,提高项目管理效率
代码审查模式分析:分析 PR 评论和审查流程,识别常见问题模式,优化代码审查工作流程
贡献者网络可视化:建立项目贡献者之间的合作关系,发现关键贡献者和专业领域
依赖健康评估:评估项目依赖的更新频率和潜在的安全问题,提供依赖管理建议
特征
查询 GitHub GraphQL 模式根类型(查询/变异)
获取特定类型的详细文档
查询特定字段的文档和参数
直接执行 GitHub GraphQL API 查询,精确检索所需数据,减少令牌消耗
双语支持(英语/中文)
先决条件
Python 3.10 或更高版本
GitHub 个人访问令牌(用于访问 GitHub API)
Poetry(推荐的依赖管理工具)
安装
克隆存储库:
使用 Poetry 安装依赖项:
如果你不使用 Poetry,你可以使用传统方法:
配置环境变量:
创建一个.env文件并添加您的 GitHub 个人访问令牌:
您可以通过复制.env.example文件来创建它:
然后编辑.env文件,将your_github_token_here替换为你的实际 GitHub 令牌。
用法
启动服务器
确保你已经激活了 Poetry 虚拟环境( poetry shell ),然后:
跑步
服务器启动后,您可以通过 MCP 客户端(例如 Claude AI)连接到它。
在 Claude Desktop 中配置
您可以在 Claude 桌面应用中配置此 MCP 服务器,实现一键启动:
打开 Claude 桌面应用程序
进入设置,找到 MCP 服务器配置部分
添加如下配置(根据你的实际路径修改):
配置示例:
如果您使用 conda 或其他环境管理工具:
配置完成后,您可以直接从 Claude 桌面应用程序启动 MCP 服务器,而无需手动启动。
可用工具
该服务器提供以下工具:
print_type_field :查询 GitHub GraphQL 模式根类型的字段
graphql_schema_root_type :获取根类型的文档(查询/变异)
graphql_schema_type :查询特定类型的文档
call_github_graphql :执行 GitHub GraphQL API 查询
使用示例
使用 MCP 客户端连接到服务器后,您可以:
查询根类型文档:
Use the graphql_schema_root_type tool, parameter type_name="QUERY"查询特定类型的字段:
Use the print_type_field tool, parameters type_name="QUERY", type_fields_name="repository"查询特定类型的文档:
Use the graphql_schema_type tool, parameter type_name="Repository"执行 GraphQL 查询:
Use the call_github_graphql tool, parameter: graphql=""" query { viewer { login name } } """
示例截图
以下是使用 GitHub GraphQL API MCP 与 Claude 的示例:

笔记
使用前请确保你的 GitHub 令牌具有适当的权限
令牌存储在
.env文件中,该文件不应提交到版本控制系统查询应符合 GitHub API 使用限制
执照
该项目根据 MIT 许可证获得许可 - 这是一个非常宽松的许可证,允许用户自由使用、修改、分发和商业化该软件,只要他们保留版权声明和许可声明。
请参阅MIT 许可证以了解详细条款。