Mcp Github Enterprise

io.github.dockndevaiPublished by GitHub account dockndevaiv0.1.1Updated Nov 7, 2026

Govern GitHub Enterprise orgs, repos, rulesets, security alerts & Actions for AI agents.

Overview

AI-generated overview

Read-only-by-default MCP server for administering GitHub Enterprise Cloud or Server orgs, repos, rulesets, security alerts and Actions from an AI assistant.

What you can do
  • Check token identity and API rate limits, and list organizations, members, teams and security managers
  • Inspect repositories, branch protection, org rulesets, webhooks and Actions policy, runners, runner groups, cache usage and workflows
  • Review secret-scanning, code-scanning and Dependabot alerts, and read org or enterprise audit-log events
  • Score an org against a built-in security baseline and get a staged enterprise setup template
  • In higher modes, apply org settings, create teams and rulesets, protect branches, update repo security and create webhooks; admin mode adds repository, member, team, ruleset and webhook deletion
When to use it
Useful when an assistant should audit or report on a GitHub Enterprise organization's security posture, CI setup and alert backlog without write access. Also fits teams that want governed, mode-gated administration of org settings and repositories rather than handing an agent a raw admin token.
Requirements
Runs locally via npx from the npm package; Node.js required. Needs a GitHub token in GHE_TOKEN (fine-grained PAT, classic PAT or App installation token). GHE_API_URL defaults to the GitHub Cloud API and must be set to the host API path for Enterprise Server; GHE_ENTERPRISE is optional for enterprise-level endpoints. GHE_MODE defaults to read-only; allowlist, protected-org, delete, confirmation, dry-run and audit settings are optional.
Before you install
The token grants real administrative reach, so scope it least-privilege and start in read-only mode. Write and admin modes can change org settings, branch protection, rulesets, webhooks and repo security, and admin mode can delete repositories, teams, members, rulesets and webhooks; destructive operations are gated by GHE_ALLOW_DELETE and a typed confirmation. Audit-log and alert data from your enterprise is sent to the model provider; webhook secrets and secret-scanning values are redacted.

Installation

In SourceWeft

  1. Open Mcp Github Enterprise in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

mcp-github-enterprise

[CI] [npm] [License: MIT]

A safe-by-default Model Context Protocol server for administering GitHub Enterprise (Cloud & Server) from an AI agent — organizations, members, teams, repositories, rulesets, security alerts, and Actions — with a built-in security-posture baseline and governance controls so an agent can help run your enterprise without being able to wreck it.

Part of the dockndevai suite of governed infrastructure MCP servers. Read-only by default · org-scoped · audited · human-confirmed.

Why

Handing an agent an admin token to GitHub is risky: one loose instruction can delete a repo, remove a member, or flip an org public. This server puts the agent behind the same controls you'd give a junior admin:

  • Read-only until you say otherwise. Tools above the current access mode are never advertised.
  • Pinned blast radius. An org allowlist and protected (read-only-forever) orgs.
  • Destructive ops double-gated. Admin mode + an explicit delete flag + a typed confirmation + a human prompt.
  • Secrets never leak. Webhook secrets and secret-scanning values are redacted before anything reaches the model.
  • Everything audited. A JSON line per operation to stderr.

Plus the part that makes it useful, not just safe: it ships an opinionated security baseline — assess_org_posture scores a live org and harden_org_settings applies the fix — and two operator skills (secure setup + Actions optimization).

Quick start

bash
# Read-only, against GitHub Enterprise CloudGHE_TOKEN=your-token GHE_MODE=read-only npx -y @dockndevai/mcp-github-enterprise

Add to Claude Code:

bash
claude mcp add github-enterprise -e GHE_TOKEN="your-token" -e GHE_MODE="read-only" -- npx -y @dockndevai/mcp-github-enterprise

GitHub Enterprise Server: add -e GHE_API_URL="https://HOST/api/v3". Full client configs (Cursor, Windsurf, Codex, VS Code, Claude Desktop) in docs/CLIENTS.md.

First call to run: whoami — confirms the token and base URL are wired correctly.

Configuration

VariableDefaultPurpose
GHE_TOKEN—Required. Fine-grained PAT, classic PAT, or App installation token. Least privilege.
GHE_API_URLhttps://api.github.comCloud default. GHES: https://HOST/api/v3.
GHE_ENTERPRISE—Enterprise slug, for enterprise-level audit log / policy.
GHE_MODEread-onlyread-only → read-write → admin.
GHE_ORG_ALLOWLIST(all visible)Comma-separated orgs that may be touched. Pin this.
GHE_PROTECTED_ORGS—Orgs readable but never mutated.
GHE_ALLOW_DELETEfalseRequired (with admin mode) for any destructive op.
GHE_REQUIRE_CONFIRMATIONtrueDestructive ops need a typed confirmation matching the target.
GHE_DRY_RUNfalseValidate + log writes without sending them.
GHE_AUDIT_LOGtrueJSON audit line per op to stderr.
GHE_MAX_PAGES10Auto-pagination cap (pages of 100).
GHE_GUARD_MODEoffOptional laya-guard AI risk gate: monitor | enforce.

See .env.example for the complete list.

Tools

Registered only up to the active mode: 23 in read-only, 32 in read-write, 38 in admin.

Read (always on)

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

Write (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

Admin (admin, destructive ones also need GHE_ALLOW_DELETE)

create_repository · delete_repository · remove_member · delete_team · delete_org_ruleset · delete_webhook

Security posture baseline

assess_org_posture { org } scores an organization against a built-in baseline and returns per-control findings with a grade:

jsonc
{  "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 }." }  ]}

Then harden_org_settings { org } applies the baseline (base read permission, secret scanning + push protection, Dependabot defaults, no public-repo creation, no private forks, commit sign-off) — preview-able with GHE_DRY_RUN=true. recommend_enterprise_setup returns the full enterprise → org → repo setup template.

2FA is reported by the assessor but must be enforced in the org/enterprise authentication UI — GitHub does not expose it as a REST toggle.

Skills

Two bundled Agent Skills in .claude/skills:

  • github-enterprise-admin — the operator playbook: least-privilege token setup, the secure-setup template, the org-policy baseline, and the guardrails for destructive work.
  • github-actions-optimization — pipeline optimization strategy, a caching strategy (dependencies, Docker layers, cache limits), and self-hosted runners on Kubernetes with actions-runner-controller (ARC): GitHub App/PAT connection, autoscaling, caching across ephemeral pods, and runner isolation.

A third, mcp-suite-maintenance, documents how to safely extend this server.

Development

bash
npm installnpm run typecheck && npm test && npm run buildnpm run dev   # watch mode

Architecture (shared across the suite): config.ts (env → typed config) · security.ts (pure policy engine, unit-tested) · github/client.ts (REST wrapper) · baseline.ts (pure posture assessor) · tools/{read,write,admin}.ts (capability-tagged). See SECURITY.md and PUBLISHING.md.

License

MIT © dockndevai

Source: README.md at commit 89ab430

Tools

23

whoami

Who am I

Return the identity behind the configured GHE_TOKEN (login, type, and whether it is a user or an app). Use this first to confirm the token and base URL are wired correctly before anything else.

Takes no parameters.

get_rate_limit

Get API rate limit

Report the current REST API rate-limit budget (core, search, graphql) and reset times. Use to pace bulk reads.

Takes no parameters.

list_organizations

List organizations

List the organizations the token can see (filtered by GHE_ORG_ALLOWLIST), each flagged if it is protected (readable but never mutated). Start here to discover valid org logins.

Takes no parameters.

get_organization

Get organization

Fetch an organization's full profile and security-relevant settings (2FA, base permission, secret scanning & Dependabot defaults).

Parametersorgrequired

list_members

List organization members

List an organization's members, optionally filtered by role (admin = owners, member = everyone else).

Parametersorgrequiredrole

list_teams

List teams

List an organization's teams with their slugs, privacy, and permissions. Use a team slug with the team tools.

Parametersorgrequired

list_security_managers

List security managers

List the teams granted the organization's security-manager role (least-privilege security triage).

Parametersorgrequired

list_repositories

List repositories

List an organization's repositories (name, visibility, default branch, archived), optionally filtered by type.

Parametersorgrequiredtype

get_repository

Get repository

Fetch a single repository including its security_and_analysis settings (secret scanning, push protection, advanced security).

Parametersorgrequiredreporequired

get_branch_protection

Get branch protection

Fetch the protection settings for a branch (required reviews, status checks, signatures, force-push rules).

Parametersorgrequiredreporequiredbranchrequired

list_org_rulesets

List organization rulesets

List the organization's rulesets (the modern, org-wide replacement for per-repo branch protection).

Parametersorgrequired

list_webhooks

List organization webhooks

List the organization's webhooks and their events. Webhook secrets are redacted and never returned.

Parametersorgrequired

get_actions_permissions

Get Actions permissions

Fetch the organization's GitHub Actions policy (which repos may run Actions, and which actions are allowed).

Parametersorgrequired

list_self_hosted_runners

List self-hosted runners

List the organization's self-hosted Actions runners (name, status, labels, busy). Use with runner groups to audit where CI executes — e.g. Kubernetes runners managed by actions-runner-controller.

Parametersorgrequired

list_runner_groups

List runner groups

List the organization's self-hosted runner groups and which repositories may use them (runner isolation).

Parametersorgrequired

get_actions_cache_usage

Get Actions cache usage

Report GitHub Actions cache usage — org-wide, or for one repository. Use to spot caches near the 10 GB/repo limit and to size a caching strategy for faster pipelines.

Parametersorgrequiredrepo

list_workflows

List workflows

List the Actions workflows defined in a repository (name, path, state). Starting point for pipeline optimization.

Parametersorgrequiredreporequired

list_secret_scanning_alerts

List secret-scanning alerts

List the organization's secret-scanning alerts (type, state, repo, location). The matched secret value itself is dropped and never returned.

Parametersorgrequiredstate

list_code_scanning_alerts

List code-scanning alerts

List the organization's code-scanning (CodeQL/SARIF) alerts with rule, severity, state, and location.

Parametersorgrequiredstate

list_dependabot_alerts

List Dependabot alerts

List the organization's Dependabot (vulnerable dependency) alerts with package, severity, state, and the fixing version.

Parametersorgrequiredstate

get_audit_log

Get audit log

Fetch recent audit-log events for the organization (or the enterprise, when GHE_ENTERPRISE is set), optionally filtered by a search phrase like 'action:repo.destroy' or 'actor:octocat'.

ParametersorgrequiredscopephraseperPage

assess_org_posture

Assess org security posture

Score an organization against the built-in security baseline (2FA, base permission, secret scanning + push protection, Dependabot, Actions policy). Returns per-control findings (pass/fail/unknown with severity and the exact remediation tool) plus a summary grade. Read-only — it changes nothing; apply fixes with harden_org_settings.

Parametersorgrequired

recommend_enterprise_setup

Recommend enterprise setup

Return the staged secure-setup template for a GitHub Enterprise — enterprise, organization, and repository level controls with the rationale for each, plus the exact org-settings baseline that harden_org_settings applies. Pure guidance; use assess_org_posture to measure a specific org against it.

Takes no parameters.

Version history

1
  1. v0.1.1LatestNov 6, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts