关于 GitHub MCP Bridge 🌉
GitHub MCP Bridge 是面向 GitHub Enterprise 管理团队的 MCP 服务,可查询许可证使用情况和用户访问详情,包括组织成员关系、角色及 2FA 状态,并支持大型企业分页查询。
主要功能
- 01汇总许可证总量和已用数量
- 02查询组织成员关系与角色
- 03获取用户许可证和访问详情
- 04查看用户 2FA 与 SAML ID
- 05分页处理大型企业结果
适用场景
- 01监控 GitHub Enterprise 许可证使用情况
- 02审计用户角色和访问权限
- 03检查组织成员关系
- 04支持企业用户入职与离职管理
MCP 相关
该服务通过工具和资源提供 GitHub Enterprise 许可证及用户数据,支持 stdio 和 SSE 传输,并使用具备所需权限范围的 GitHub PAT。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP GITHUB ENTERPRISE 🌉
一个 Model Context Protocol(MCP)服务,让 AI Agent(Claude、ChatGPT 等)能够查询你的 GitHub Enterprise 许可证数据。通过 /consumed-licenses 端点安全获取许可证摘要、用户详情、组织成员身份和企业角色。
📊 功能与示例提示词
-
许可证摘要
•"显示我们的 GitHub Enterprise 许可证摘要"
•"我们目前使用了多少个许可证?" -
详细许可证使用情况
•"列出所有已使用的 GitHub 许可证"
•"我们有未使用的 GitHub 许可证吗?" -
用户查询
•"johndoe 属于哪些 GitHub 组织?"
•"johndoe 拥有哪些企业角色?"
•"johndoe 是我们企业中的所有者吗?"
•"获取 johndoe 的详细信息"
•"johndoe 是否启用了 2FA?"
🌟 功能
- 许可证分析:席位总数与已使用席位数
- 用户查询:组织成员身份、角色、2FA、SAML ID
- 分页:自动处理大型企业
- 双传输方式:stdio 用于直接 MCP 通信,SSE 用于 HTTP
- 适用于 Kubernetes:部署到 EKS/GKE 或任何 K8s 集群
📋 前置条件
- Python 3.9+
- 具备
read:enterprise/ 许可证权限范围的 GitHub PAT - GitHub Enterprise Cloud 租户
🚀 快速开始
1. 克隆并安装
git clone https://github.com/vipink1203/mcp-github-enterprise.git
cd mcp-github-enterprise
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
2. 配置
cp .env.example .env
# Edit .env: set GITHUB_TOKEN and GITHUB_ENTERPRISE_URL
3. 运行
stdio 传输方式
export TRANSPORT=stdio
python main.py
SSE 传输方式
export TRANSPORT=sse PORT=8050
python main.py
🐳 Docker 与 n8n
将此服务添加到 n8n 所在的 docker-compose.yml 中:
services:
github-mcp:
image: ghcr.io/vipink1203/mcp-github-enterprise:latest
environment:
- GITHUB_TOKEN=${GITHUB_TOKEN}
- GITHUB_ENTERPRISE_URL=${GITHUB_ENTERPRISE_URL}
- TRANSPORT=sse
- PORT=8050
ports:
- "8050:8050"
restart: unless-stopped
networks:
- n8n-network
在 n8n 的 UI 中启用 MCP 客户端:
- 设置 → 凭据 → 新建凭据
- 选择 MCP Client API,将 URL 设置为 http://github-mcp:8050/sse
🔌 客户端配置
Claude Desktop / Windsurf / Cursor
将此配置添加到 Claude Desktop 设置中:
{
"mcpServers": {
"github-ent": {
"command": "/path/to/your/venv/python",
"args": ["/path/to/main.py"],
"env": {
"GITHUB_TOKEN": "",
"GITHUB_ENTERPRISE_URL": "https://api.github.com/enterprises/{enterprise_name}",
"TRANSPORT": "stdio"
}
}
}
SSE 配置
{
"mcpServers": {
"github": {
"transport": "sse",
"url": "http://localhost:8050/sse"
}
}
}
📊 示例用例
- 企业用户管理:自动处理用户入职和离职
- 许可证监控:在许可证即将到期时获取提醒
- 组织分析:分析组织结构和关系
- 用户访问审计:跟踪用户权限和访问级别
- AI 驱动的 GitHub 洞察:让 AI 分析企业 GitHub 数据
🔌 MCP 工具与资源
工具
| 名称 | 描述 |
|---|---|
list_consumed_licenses | 汇总许可证,可选择包含用户 |
get_user_organizations | 列出用户所属的 GitHub 组织 |
get_user_enterprise_roles | 列出用户的企业角色 |
get_user_detail | 用户的完整许可证详情 |
资源
| URI | 描述 |
|---|---|
github://consumed-licenses/{dummy} | 完整的许可证使用情况和用户详情 |
github://user/{username}/roles | 用户的组织和企业角色 |
🔒 安全注意事项
- 安全存储 GitHub 令牌
- 为 GitHub 令牌使用适当的权限范围
- 对于生产环境,可考虑使用 AWS Secrets Manager 或类似服务
- 在 Kubernetes 部署中实施网络策略
🤝 贡献
欢迎贡献!欢迎提交 Pull Request。
- Fork 此仓库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交更改(
git commit -m 'Add some amazing feature') - 将分支推送到远程仓库(
git push origin feature/amazing-feature) - 发起 Pull Request
📜 许可证
本项目采用 MIT License 授权,详情请参阅 LICENSE 文件。
🙏 致谢
- 感谢 Model Context Protocol 提供 Python SDK
- 感谢 MCP-Mem0 提供出色的模板结构
- 感谢 GitHub API 提供全面的 API
为实现 AI ↔️ GitHub Enterprise 无缝集成而倾心打造。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。