vipink1203
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"github": {
"transport": "sse",
"url": "http://localhost:8050/sse"
}
}
}
服务介绍
MCP GITHUB ENTERPRISE 🌉
一个模型上下文协议(MCP)服务器,允许AI代理(如Claude、ChatGPT等)查询您的GitHub Enterprise许可证数据。通过/consumed-licenses端点安全地获取许可证摘要、每个用户的详细信息、组织成员资格和企业角色。
📊 功能与示例提示
-
许可证摘要
•"显示我们的GitHub Enterprise许可证摘要"
•"我们当前使用了多少个许可证?" -
详细的许可证使用情况
•"列出所有已使用的GitHub许可证"
•"我们有未使用的GitHub许可证吗?" -
用户查找
•"johndoe属于哪些GitHub组织?"
•"johndoe有哪些企业角色?"
•"johndoe是我们企业的所有者吗?"
•"获取关于johndoe的详细信息"
•"johndoe启用了两步验证吗?"
🌟 特性
- 许可证分析: 总数与已使用席位
- 用户查找: 组织成员资格、角色、两步验证、SAML ID
- 分页: 自动处理大型企业
- 双传输方式: stdio用于直接MCP,SSE用于HTTP
- Kubernetes就绪: 可部署在EKS/GKE或任何K8s集群上
📋 前提条件
- Python 3.9+
- 具有
read:enterprise/ 许可范围的GitHub个人访问令牌(PAT) - GitHub Enterprise Cloud租户
🚀 快速开始
1. 克隆并安装
bash
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. 配置
bash
cp .env.example .env
编辑.env文件: 设置GITHUB_TOKEN和GITHUB_ENTERPRISE_URL
3. 运行
stdio传输
bash
export TRANSPORT=stdio
python main.py
SSE传输
bash
export TRANSPORT=sse PORT=8050
python main.py
🐳 Docker & n8n
将此服务添加到docker-compose.yml中,与n8n一起使用:
yaml
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设置中:
json
{
"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配置
json
{
"mcpServers": {
"github": {
"transport": "sse",
"url": "http://localhost:8050/sse"
}
}
}
📊 示例用例
- 企业用户管理: 自动化用户入职和离职流程
- 许可证监控: 当许可证接近到期时接收警报
- 组织结构分析: 分析组织结构和关系
- 用户访问审核: 跟踪用户权限和访问级别
- 基于AI的GitHub洞察: 让AI分析您的企业GitHub数据
🔌 MCP工具与资源
工具
| 名称 | 描述 |
|---|---|
list_consumed_licenses |
汇总许可证,可选包括用户 |
get_user_organizations |
列出用户的GitHub组织成员资格 |
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 文件。
🙏 致谢
- Model Context Protocol 提供了 Python SDK
- MCP-Mem0 提供了一个优秀的模板结构
- GitHub API 提供了全面的 API 文档
用❤️构建,以实现无缝的 AI ↔️ GitHub Enterprise 集成。