内容
# ultimate-github-mcp
用于 GitHub 的强大 MCP 服务器,通过 Playwright 驱动 **网页界面**(而非 REST/GraphQL API)。
无 API 速率限制。代码搜索结果与您登录 github.com 所见相同 — 包括 API 搜索遗漏的结果。
## 30 个工具,涵盖 8 类
### 搜索(6)
- `search_code` — 搜索 GitHub 上的所有代码(核心功能)
- `search_repositories` — 搜索仓库,支持按星标、语言、主题过滤
- `search_issues` — 完整的议题搜索语法
- `search_pull_requests` — 搜索拉取请求,支持按审查者、状态、草稿过滤
- `search_commits` — 搜索提交信息
- `search_users` — 搜索用户和组织
### 仓库(6)
- `get_repo_info` — 获取仓库信息,包括星标、复刻、主题、语言、许可证、最近提交和最新发布
- `get_file_contents` — 获取任意引用下的原始文件内容
- `list_directory` — 获取目录列表,位于指定引用下
- `get_readme` — 获取 README 内容(尝试常见的候选项)
- `list_branches` — 获取分支列表,包含最近提交信息
- `list_releases` — 获取发布列表,包含标签、备注、资产
### Git 历史(4)
- `get_commit` — 获取提交元数据和统一差异
- `get_file_history` — 获取最近修改文件的提交记录
- `get_file_blame` — 获取逐行 blame(范围有限)
- `compare_refs` — 获取两个引用之间的差异
### 拉取请求和议题(5)
- `get_issue` — 获取议题标题、正文、状态、作者、标签、指派者、评论
- `get_pull_request` — 获取拉取请求信息,包含基准/头部分支、检查、审查者
- `get_pull_request_diff` — 通过 `.diff` 端点获取原始统一差异
- `get_pull_request_files` — 获取每个文件的 +/- 计数
- `list_pull_request_review_comments` — 获取内联代码审查评论
### 用户和组织(2)
- `get_user_profile` — 获取用户简介、位置、公司、关注者数量、固定仓库
- `list_user_repos` — 获取用户/组织拥有的仓库列表,支持过滤
### CI / Actions(2)
- `list_workflow_runs` — 获取运行记录,支持按状态、分支、执行者、事件过滤
- `get_workflow_run` — 获取单个运行记录,包含所有作业和状态
### 发现(3)
- `get_dependents` — 获取“被使用”仓库和软件包(**GitHub API 未公开**)
- `get_trending` — 获取每日/每周/每月趋势,支持按语言过滤
- `list_topic_repos` — 按 GitHub 主题探索仓库
- `list_contributors` — 获取顶级贡献者,包含提交计数
### 杂项(1)
- `get_gist` — 获取 Gist 内容
## 安装
```powershell
git clone https://github.com/<you>/ultimate-github-mcp.git
cd ultimate-github-mcp
npm install
npm run build
npm run login # 打开浏览器,登录 GitHub,然后关闭它
```
会话保存到 `%USERPROFILE%\.ultimate-github-mcp\profile`(或 macOS/Linux 上的 `$HOME/.ultimate-github-mcp/profile`)。
## 注册 Claude Code
```powershell
claude mcp add ultimate-github -s user -- node "C:\path\to\ultimate-github-mcp\dist\index.js"
```
然后询问 Claude:
> 在 GitHub 代码中查找 StreamQosCookie 的提及
## 环境变量
- `ULTIMATE_GITHUB_PROFILE_DIR` — 覆盖 Playwright 配置文件位置
- `ULTIMATE_GITHUB_HEADLESS=0` — 可见模式运行浏览器(调试)
## 工作原理
具有持久化配置文件的 Playwright Chromium 以您的身份验证一次,并在会话间保持登录状态。每个工具:
- 访问 `.diff` / `.patch` / `/raw/` 端点以获取纯文本(最快、最可靠),或
- 使用针对 GitHub 当前 React UI 的选择器刮取渲染的 DOM。
Playwright 实例是 MCP 进程内的单例 — 按需打开和关闭页面。