SuperAPI AI 工具集

github-mcp

github-mcp 是一个面向 GitHub REST API 的公开读写参考 MCP 服务器,采用环境变量控制的工具组机制:读工具组始终开启且无需认证即可使用,写工具组(issue/PR 变更)默认关闭,需显式设置 GITHUB_MCP_ENABLE_WRITE=1 并提供 GITHUB_TOKEN 才能启用。它对速率限制和错误进行类型化处理,禁用或缺少令牌时会返回结构化的 policy_refusal 或 auth_required 错误,而非静默失败或崩溃。项目明确声明并非 GitHub 官方 MCP 服务器,仅覆盖 REST v1,不包含 GraphQL、webhooks、GitHub App 认证或 Actions/workflow-dispatch 工具。

访问官网

工具介绍

用途

github-mcp 是一个基于 GitHub REST API 构建的公开读写参考 MCP 服务器,用于演示在真实外部 SaaS API 上实现加固型读写 MCP 服务器的模式,包括环境变量门控的工具组、类型化错误与速率限制处理、可优雅降级的认证机制以及真实的测试套件。项目明确说明它不是 GitHub 官方 MCP 服务器,也不追求与官方 MCP 产品对等。

主要能力

  • 提供读写两套工具组,工具组仅控制默认开启或关闭状态,不决定工具是否存在。
  • 读工具组始终开启,无需认证即可使用,运行在 GitHub 未认证的 60 次/小时额度下。
  • 写工具组(issue/PR 变更)默认关闭,需设置 GITHUB_MCP_ENABLE_WRITE=1 并提供 GITHUB_TOKEN 才能启用;组门控与令牌前置条件独立检查,且都在任何网络调用之前完成。
  • 对速率限制和错误进行类型化处理;调用被禁用的写工具会返回结构化的 policy_refusal 错误,启用写组但缺少令牌会返回结构化的 auth_required 错误,不会静默无操作或崩溃。
  • 提供诚实的 capabilities 表,每项能力声明都对应实现文件与验证测试。

使用方式

  1. 在 Python 3.12+ 环境执行 pip install -r requirements.txt。
  2. (可选)生成细粒度 PAT,范围涵盖需要读写权限的仓库(Issues 读写、Pull requests 读写、Contents 读即可满足 v1)。读工具无需任何令牌。
  3. 添加到 MCP 主机配置(例如 ~/.claude.json)。
  4. 如需为某次部署启用写工具,在该条目的 env 块中添加 "GITHUB_MCP_ENABLE_WRITE": "1",这是注册时的运维决策,不是代码变更。

项目以 stdio 方式在 ~/.claude.json 中注册为 github-mcp,使用系统 Python312,读组始终开启,写组在 env 中缺省即关闭。

适用场景

适合希望以具体可点击的链接展示“我会构建面向外部 API 的读写 MCP 服务器”的参考作品集场景,也适合需要在真实 GitHub API 上演示加固型读写 MCP 服务器模式的开发者。

限制

  • 仅覆盖 REST v1,不支持 GraphQL API。
  • 不支持 webhooks 或 GitHub App 认证,仅支持细粒度 PAT。
  • 不提供 Actions/workflow-dispatch 工具,issue/PR CRUD 是 v1 的写操作范围。
  • 未认证读取受 GitHub 自身限制为 60 次/小时(搜索为 10 次/分钟),持续未认证使用会出现 rate_limited 错误;设置 GITHUB_TOKEN(即使只读细粒度 PAT)可显著提升额度。
  • get_file_content 超过 100KB 会截断,对非 UTF-8 文件会报告而非解码。
  • 列表端点不支持超过单页的分页,limit(按端点设上限)是 v1 唯一的页大小控制。
  • 未注册到 mcp-factory hub,以独立仓库形式分发(自带 pyproject,系统 Python312 安装)。
  • 商业支持由 Jaimen Bell 维护。

缺失信息:未提供具体收费价格、支持平台列表或性能效果数据。