mcp-github-enterprise について
mcp-github-enterpriseは、GitHub Enterpriseの組織、リポジトリ、セキュリティ設定、Actionsを管理するMCPサーバーです。アクセス範囲、監査、人による承認の制御下で動くAIエージェント向けです。
主な機能
- 01モード別の読み書きツール
- 02組織とリポジトリのガバナンス
- 03セキュリティ態勢の評価と強化
- 04影響の大きい変更への人の承認
- 05操作の監査と秘密情報のマスキング
活用シーン
- 01組織のセキュリティ態勢を確認
- 02組織設定にベースラインを適用
- 03許可リスト内のリポジトリとルールセットを管理
- 04セキュリティアラートとActions設定を確認
MCP 対応
MCPクライアントにGitHub Enterprise管理ツールを提供し、設定されたアクセスモードに応じて利用可能なツールを制御します。破壊的な操作や影響の大きい操作には確認機能があります。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @dockndevai/mcp-github-enterpriseGHE_TOKENシークレットGitHub token (fine-grained PAT, classic PAT, or App installation token). Read-only scopes to start.GHE_API_URLAPI base URL. Cloud: https://api.github.com (default). Server/GHES: https://HOST/api/v3.GHE_ENTERPRISEEnterprise slug, for enterprise-level endpoints (audit log, Actions policy). Optional.GHE_MODEAccess mode: read-only | read-write | admin. Start with read-only.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
23掲載時のツール一覧 · 1 週間前に更新
このツールにパラメーターはありません。
詳細
mcp-github-enterprise
AI エージェントから GitHub Enterprise(Cloud & Server)を管理するための、デフォルトで安全な Model Context Protocol サーバーです。組織、メンバー、チーム、リポジトリ、ルールセット、セキュリティアラート、Actions を管理できるほか、組み込みのセキュリティ体制ベースラインとガバナンス制御により、エージェントが企業環境の運用を支援しながら、環境を壊すことを防ぎます。
ガバナンスが適用されたインフラストラクチャ向け MCP サーバーを提供する dockndevai スイートの一部です。デフォルトで読み取り専用 · 組織スコープ · 監査済み · 人による確認。
理由
エージェントに GitHub の管理者トークンを渡すのは危険です。曖昧な指示ひとつで、リポジトリを削除したり、メンバーを削除したり、組織を公開に切り替えたりする可能性があります。このサーバーは、ジュニア管理者に与えるのと同じ制御のもとにエージェントを置きます。
- 明示的に許可するまでは読み取り専用です。 現在のアクセスモードを超えるツールは、決して公開されません。
- 影響範囲を固定します。 組織の許可リストと、保護された(永久に読み取り専用の)組織を設定できます。
- 破壊的な操作には二重のゲートを設けます。 管理者モード + 明示的な削除フラグ + 入力形式が指定された確認 + 人による確認プロンプトが必要です。プロンプトにはツール、正確な引数、フィンガープリントが表示されます。プロンプトの表示中は対象のバージョンが固定され、変更されていた場合は操作が拒否されます。誰も応答しなかった場合も拒否されます。
- シークレットは決して漏えいしません。 Webhook シークレットとシークレットスキャンの値は、モデルに渡される前にマスキングされます。
- すべてを監査します。 各操作について、stderr に JSON 形式の行を出力します。
安全なだけでなく、実用性を高める機能も備えています。独自の方針に基づくセキュリティベースラインが付属し、assess_org_posture で稼働中の組織を評価し、harden_org_settings で修正を適用できます。また、運用担当者向けのスキルが 2 つ(セキュアなセットアップと Actions の最適化)用意されています。
クイックスタート
# Read-only, against GitHub Enterprise Cloud
GHE_TOKEN=your-token GHE_MODE=read-only npx -y @dockndevai/mcp-github-enterprise
Claude Code に追加します。
claude mcp add github-enterprise -e GHE_TOKEN="your-token" -e GHE_MODE="read-only" -- npx -y @dockndevai/mcp-github-enterprise
GitHub Enterprise Server の場合:-e GHE_API_URL="https://HOST/api/v3" を追加します。クライアント(Cursor、Windsurf、Codex、VS Code、Claude Desktop)の完全な設定については、docs/CLIENTS.md を参照してください。
最初に実行する呼び出しは whoami です。トークンとベース URL が正しく設定されていることを確認できます。
設定
| 変数 | デフォルト | 目的 |
|---|---|---|
GHE_TOKEN | — | 必須。 細分化された PAT、クラシック PAT、またはアプリのインストールトークン。最小限の権限にしてください。 |
GHE_API_URL | https://api.github.com | クラウドのデフォルト値。GHES の場合:https://HOST/api/v3。 |
GHE_ENTERPRISE | — | エンタープライズレベルの監査ログ/ポリシーに使用するエンタープライズのスラッグ。 |
GHE_MODE | read-only | read-only → read-write → admin。 |
GHE_ORG_ALLOWLIST | (表示可能なすべて) | 操作対象にできる組織をカンマ区切りで指定します。必ず固定してください。 |
GHE_PROTECTED_ORGS | — | 読み取りは可能ですが、変更は一切できない組織。 |
GHE_ALLOW_DELETE | false | 破壊的な操作を行うには(admin モードと併せて)必須です。 |
GHE_REQUIRE_CONFIRMATION | true | 破壊的な操作には、対象と一致する確認文字列の入力が必要です。 |
GHE_DRY_RUN | false | 書き込みを送信せずに検証し、ログに記録します。 |
GHE_AUDIT_LOG | true | 操作ごとに JSON 形式の監査ログを stderr に出力します(承認レシートも記録されます)。 |
| 対話型の確認 | (自動) | — |
GHE_REQUIRE_HUMAN_APPROVAL | false | true の場合、クライアントが承認プロンプトを表示できないとき、破壊的な操作と影響の大きい操作を拒否します(GHE_ALLOW_DELETE のゲートだけにフォールバックしません)。 |
GHE_MAX_PAGES | 10 | 自動ページネーションの上限(100 ページ単位)。 |
GHE_GUARD_MODE | off | オプションの laya-guard AI リスクゲート:monitor | enforce。 |
完全な一覧は .env.example を参照してください。
ツール
アクティブなモードに応じて登録されます。read-only では 23 個、read-write では 32 個、admin では 38 個です。
読み取り(常時有効)
whoami · get_rate_limit · list_organizations · get_organization · list_members · list_teams · list_security_managers · list_repositories · get_repository · get_branch_protection · list_org_rulesets · list_webhooks · get_actions_permissions · list_self_hosted_runners · list_runner_groups · get_actions_cache_usage · list_workflows · list_secret_scanning_alerts · list_code_scanning_alerts · list_dependabot_alerts · get_audit_log · assess_org_posture · recommend_enterprise_setup
書き込み(read-write 以上)
harden_org_settings · update_org_settings · set_actions_permissions · create_team · set_member_role · create_org_ruleset · protect_branch · update_repo_security · create_webhook
書き込み前に人間の承認が必要です(クライアントがプロンプトを表示できる場合。GHE_REQUIRE_HUMAN_APPROVAL=true のとき、プロンプトなしでは拒否されます):harden_org_settings、update_org_settings、set_actions_permissions、create_org_ruleset、protect_branch、update_repo_security、create_webhook、および admin を付与する場合の set_member_role。プロンプトには変更内容(フィールドごとの current → new、create_org_ruleset の場合は新しいルールセットと既存のルールセット)が表示され、承認は表示された状態に固定されます。GHE_DRY_RUN=true の場合、プロンプトを表示せずに終了します。create_team ではプロンプトは表示されません。set_actions_permissions は、すべての書き込みで GitHub が必須とする enabled_repositories を送信します(allowed_actions だけを設定した場合は、組織の現在のポリシーから読み取った enabled_repositories を維持します)。protect_branch では requiredStatusChecks(またはその別名 requireStatusChecks)を指定します。
管理(admin、破壊的な操作には GHE_ALLOW_DELETE も必要です)
create_repository(private リポジトリはプロンプトなしで作成されます。public と internal の場合は事前に人間に確認し、クライアントがプロンプトを表示できない状態で GHE_REQUIRE_HUMAN_APPROVAL=true の場合は拒否されます) · delete_repository · remove_member · delete_team · delete_org_ruleset · delete_webhook
セキュリティ態勢のベースライン
assess_org_posture { org } は、組織を組み込みのベースラインに照らして評価し、各制御項目の評価結果を返します。
{
"org": "acme",
"summary": { "score": 60, "grade": "C", "passed": 6, "failed": 4, "high_failures": 2 },
"findings": [
{ "id": "push-protection", "severity": "high", "status": "fail",
"current": false, "recommended": true,
"rationale": "Blocks secrets at push time — the only control that prevents the leak…",
"remediation": "harden_org_settings, or update_org_settings { secret_scanning_push_protection_enabled_for_new_repositories: true }." }
]
}
次に、harden_org_settings { org } はベースライン(基本の read 権限、シークレットスキャンとプッシュ保護、Dependabot のデフォルト設定、パブリックリポジトリの作成禁止、プライベートフォークの禁止、コミットへの署名)を適用します。GHE_DRY_RUN=true でプレビューできます。recommend_enterprise_setup は、エンタープライズ → 組織 → リポジトリの完全なセットアップテンプレートを返します。
2FA は評価ツールによって報告されますが、組織またはエンタープライズの認証 UI で適用する必要があります。GitHub は REST の切り替え機能を提供していません。
スキル
.claude/skills に、バンドルされた 2 つの Agent Skills があります。
github-enterprise-admin— 運用担当者向けプレイブックです。最小権限のトークン設定、セキュアなセットアップテンプレート、組織ポリシーのベースライン、破壊的な操作に対するガードレールを説明します。github-actions-optimization— パイプラインの最適化戦略、キャッシュ戦略(依存関係、Docker レイヤー、キャッシュの上限)、および actions-runner-controller(ARC)を使用した Kubernetes 上のセルフホストランナーについて説明します。GitHub App/PAT の接続、自動スケーリング、一時的なポッド間でのキャッシュ、ランナーの分離を取り上げます。
3 つ目の mcp-suite-maintenance では、このサーバーを安全に拡張する方法を説明しています。
開発
npm install
npm run typecheck && npm test && npm run build
npm run dev # watch mode
アーキテクチャ(スイート全体で共通):config.ts(環境変数 → 型付き設定) · security.ts(純粋なポリシーエンジン、ユニットテスト済み) · github/client.ts(REST ラッパー) · baseline.ts(純粋なセキュリティ態勢評価ツール) · tools/{read,write,admin}.ts(機能タグ付き)。SECURITY.md と PUBLISHING.md を参照してください。
ライセンス
MIT © dockndevai
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。