MCP GITHUB ENTERPRISE 🌉 について
GitHub Enterprise Cloud のライセンス使用状況やユーザーアクセス情報を AI エージェントから調べられる MCP サーバーです。stdio と SSE に対応し、大規模な企業データのページネーションも処理します。
主な機能
- 01ライセンス総数と使用状況
- 02ユーザーの所属組織とロール
- 032FA と SAML ID を含むユーザー情報
- 04自動ページネーション
- 05stdio と SSE のトランスポート
活用シーン
- 01企業のライセンス使用状況の確認
- 02ユーザーの所属組織の確認
- 03企業ロールと 2FA の監査
MCP 対応
ライセンスやユーザーの検索ツールに加え、ライセンスとロールのリソースを MCP クライアントに提供します。stdio または SSE で接続できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP GITHUB ENTERPRISE 🌉
AI エージェント(Claude、ChatGPT など)が GitHub Enterprise のライセンスデータを照会できる Model Context Protocol(MCP)サーバーです。/consumed-licenses エンドポイントを通じて、ライセンスの概要、ユーザーごとの詳細、組織のメンバーシップ、エンタープライズのロールを安全に取得できます。
📊 機能とプロンプトの例
-
ライセンスの概要
•"GitHub Enterprise ライセンスの概要を表示して"
•"現在、ライセンスをいくつ使用していますか?" -
ライセンス使用状況の詳細
•"使用中の GitHub ライセンスをすべて一覧表示して"
•"未使用の GitHub ライセンスはありますか?" -
ユーザーの検索
•"johndoe はどの GitHub 組織に所属していますか?"
•"johndoe にはどのようなエンタープライズロールがありますか?"
•"johndoe はエンタープライズのオーナーですか?"
•"johndoe の詳細情報を取得して"
•"johndoe は 2FA を有効にしていますか?"
🌟 機能
- ライセンス分析:ライセンス総数と使用済みシート数
- ユーザーの検索:組織のメンバーシップ、ロール、2FA、SAML ID
- ページネーション:大規模なエンタープライズにも自動対応
- 2 種類のトランスポート:直接 MCP に接続する stdio、HTTP 用の SSE
- 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 クライアントを有効にします。
- Settings → Credentials → New Credential
- 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 のデプロイでは、ネットワークポリシーを実装してください
🤝 コントリビューション
コントリビューションを歓迎します!お気軽にプルリクエストを送信してください。
- リポジトリをフォークします
- 機能ブランチを作成します(
git checkout -b feature/amazing-feature) - 変更をコミットします(
git commit -m 'Add some amazing feature') - ブランチにプッシュします(
git push origin feature/amazing-feature) - プルリクエストを作成します
📜 ライセンス
このプロジェクトは MIT License のもとでライセンスされています。詳細は LICENSE ファイルをご覧ください。
🙏 謝辞
- Python SDK を提供する Model Context Protocol
- 優れたテンプレート構成を提供する MCP-Mem0
- 包括的な API を提供する GitHub API
シームレスな AI ↔️ GitHub Enterprise 統合のために ❤️ を込めて開発しました。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。