Mcp Github Enterprise

io.github.dockndevai由 GitHub 账号 dockndevai 发布v0.1.1更新于 Nov 7, 2026

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

概览

AI 生成的概览

默认只读的 MCP 服务器,让 AI 助手管理 GitHub Enterprise(Cloud 与 Server)的组织、仓库、规则集、安全告警与 Actions。

可以做什么
  • 校验令牌身份与 API 速率限制,列出组织、成员、团队与安全管理员
  • 查看仓库、分支保护、组织规则集、Webhook,以及 Actions 策略、运行器、运行器组、缓存用量与工作流
  • 查阅机密扫描、代码扫描与 Dependabot 告警,读取组织或企业级审计日志事件
  • 按内置安全基线为组织评分,并给出分阶段的企业配置模板
  • 在更高模式下应用组织设置、创建团队与规则集、保护分支、更新仓库安全设置、创建 Webhook;admin 模式还可删除仓库、成员、团队、规则集与 Webhook
适用场景
适合让助手在无写权限的情况下审计或汇报 GitHub Enterprise 组织的安全状况、CI 配置与告警积压。也适合希望以受控、按模式开放的方式管理组织设置与仓库,而不是把原始管理员令牌交给助手的团队。
运行要求
通过 npx 从 npm 包本地运行,需要 Node.js。需在 GHE_TOKEN 中提供 GitHub 令牌(细粒度 PAT、经典 PAT 或 App 安装令牌)。GHE_API_URL 默认指向 GitHub Cloud API,Enterprise Server 需改为该主机的 API 路径;GHE_ENTERPRISE 为可选项,用于企业级端点。GHE_MODE 默认只读;允许列表、受保护组织、删除、确认、试运行与审计等设置均为可选。
安装前请注意
该令牌具有真实的管理权限,应最小化授权并从只读模式开始。读写与 admin 模式可更改组织设置、分支保护、规则集、Webhook 与仓库安全设置,admin 模式还能删除仓库、团队、成员、规则集与 Webhook;破坏性操作受 GHE_ALLOW_DELETE 与键入式确认双重限制。企业的审计日志与告警数据会发送给模型提供方;Webhook 密钥与机密扫描值会被脱敏。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Mcp Github Enterprise,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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

来源:README.md,提交 89ab430

工具

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.

无需输入参数。

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.

无需输入参数。

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.

无需输入参数。

get_organization

Get organization

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

输入参数org必填

list_members

List organization members

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

输入参数org必填role

list_teams

List teams

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

输入参数org必填

list_security_managers

List security managers

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

输入参数org必填

list_repositories

List repositories

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

输入参数org必填type

get_repository

Get repository

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

输入参数org必填repo必填

get_branch_protection

Get branch protection

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

输入参数org必填repo必填branch必填

list_org_rulesets

List organization rulesets

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

输入参数org必填

list_webhooks

List organization webhooks

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

输入参数org必填

get_actions_permissions

Get Actions permissions

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

输入参数org必填

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.

输入参数org必填

list_runner_groups

List runner groups

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

输入参数org必填

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.

输入参数org必填repo

list_workflows

List workflows

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

输入参数org必填repo必填

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.

输入参数org必填state

list_code_scanning_alerts

List code-scanning alerts

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

输入参数org必填state

list_dependabot_alerts

List Dependabot alerts

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

输入参数org必填state

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'.

输入参数org必填scopephraseperPage

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.

输入参数org必填

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.

无需输入参数。

版本历史

1
  1. v0.1.1最新Nov 6, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分