mcpField
M
mcp-github-enterprise

mcp-github-enterprise

ローカル
github.com/dockndevaiバージョン管理03 日前に更新

mcp-github-enterprise について

mcp-github-enterpriseは、GitHub Enterpriseの組織、リポジトリ、セキュリティ設定、Actionsを管理するMCPサーバーです。アクセス範囲、監査、人による承認の制御下で動くAIエージェント向けです。

主な機能

  1. 01モード別の読み書きツール
  2. 02組織とリポジトリのガバナンス
  3. 03セキュリティ態勢の評価と強化
  4. 04影響の大きい変更への人の承認
  5. 05操作の監査と秘密情報のマスキング

活用シーン

  1. 01組織のセキュリティ態勢を確認
  2. 02組織設定にベースラインを適用
  3. 03許可リスト内のリポジトリとルールセットを管理
  4. 04セキュリティアラートとActions設定を確認

MCP 対応

MCPクライアントにGitHub Enterprise管理ツールを提供し、設定されたアクセスモードに応じて利用可能なツールを制御します。破壊的な操作や影響の大きい操作には確認機能があります。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"dockndevai-mcp-github-enterprise": {
"command": "npx",
"args": [
"-y",
"@dockndevai/mcp-github-enterprise"
],
"env": {
"GHE_TOKEN": "<GHE_TOKEN>",
"GHE_API_URL": "<GHE_API_URL>",
"GHE_ENTERPRISE": "<GHE_ENTERPRISE>",
"GHE_MODE": "<GHE_MODE>"
}
}
}
}
起動コマンドnpx -y @dockndevai/mcp-github-enterprise
設定が必要な環境変数
GHE_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 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@dockndevai/mcp-github-enterprise0.1.1

ツール

23

掲載時のツール一覧 · 1 週間前に更新

このツールにパラメーターはありません。

詳細

mcp-github-enterprise

CI npm License: MIT

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_URLhttps://api.github.comクラウドのデフォルト値。GHES の場合:https://HOST/api/v3。
GHE_ENTERPRISE—エンタープライズレベルの監査ログ/ポリシーに使用するエンタープライズのスラッグ。
GHE_MODEread-onlyread-only → read-write → admin。
GHE_ORG_ALLOWLIST(表示可能なすべて)操作対象にできる組織をカンマ区切りで指定します。必ず固定してください。
GHE_PROTECTED_ORGS—読み取りは可能ですが、変更は一切できない組織。
GHE_ALLOW_DELETEfalse破壊的な操作を行うには(admin モードと併せて)必須です。
GHE_REQUIRE_CONFIRMATIONtrue破壊的な操作には、対象と一致する確認文字列の入力が必要です。
GHE_DRY_RUNfalse書き込みを送信せずに検証し、ログに記録します。
GHE_AUDIT_LOGtrue操作ごとに JSON 形式の監査ログを stderr に出力します(承認レシートも記録されます)。
対話型の確認(自動)—
GHE_REQUIRE_HUMAN_APPROVALfalsetrue の場合、クライアントが承認プロンプトを表示できないとき、破壊的な操作と影響の大きい操作を拒否します(GHE_ALLOW_DELETE のゲートだけにフォールバックしません)。
GHE_MAX_PAGES10自動ページネーションの上限(100 ページ単位)。
GHE_GUARD_MODEoffオプションの 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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。