ghe-mcp-gateway
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GITHUB_TOKEN | Yes | Your GitHub personal access token with appropriate scopes (repo, read:org, admin:org, read:audit_log, admin:org_hook, security_events). | |
| GITHUB_API_URL | No | Base URL for the GitHub API. For GitHub Enterprise Server, set to https://<host>/api/v3. | https://api.github.com |
| GITHUB_MCP_READ_ONLY | No | Set to 'false' to enable write operations (mutating tools). Default is 'true' for read-only mode. | true |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_repositoriesA | List repositories for an org or user. owner: org login or username. owner_type: "org" or "user". type_filter: all | public | private | forks | sources | member (org) / owner|member (user). Returns trimmed repo records (name, visibility, default_branch, archived, pushed_at). |
| get_repositoryC | Get full details for a single repository (settings, visibility, permissions). |
| list_organization_membersC | List members of an organization. role: all | admin | member. |
| list_teamsC | List all teams in an organization (slug, name, privacy, parent). |
| list_team_membersC | List members of a team. role: all | maintainer | member. |
| list_repo_collaboratorsB | List collaborators on a repo with their permission level. affiliation: outside | direct | all. |
| get_repo_permissionA | Get a user's effective permission level on a repo (admin/write/read/none). |
| set_repo_collaborator_permissionA | Add or update a collaborator's permission on a repo. WRITE OPERATION. permission: pull | triage | push | maintain | admin. Blocked unless GITHUB_MCP_READ_ONLY=false. |
| get_org_audit_logA | Query an organization's audit log (requires org-owner token w/ read:audit_log). phrase: GitHub audit-log search syntax, e.g. 'action:repo.create actor:octocat'. include: web | git | all. |
| list_org_webhooksB | List organization-level webhooks (events, active state, target URL). |
| list_secret_scanning_alertsA | List secret-scanning alerts for a repo, or for an org if repo is omitted. state: open | resolved. Requires GHAS/secret-scanning enabled and a token with access. |
| get_branch_protectionB | Get the branch-protection configuration for a branch (404 -> unprotected). |
| set_branch_protectionA | Apply a baseline branch-protection policy. WRITE OPERATION. Requires PRs with |
| list_org_rulesetsB | List organization-level rulesets (the modern, scalable branch-protection model). |
| get_org_rulesetA | Get the full definition of a single org ruleset (rules, conditions, bypass actors). |
| list_team_reposB | List repositories a team can access, with the team's permission on each. |
| set_team_repo_permissionA | Grant or update a team's permission on a repo. WRITE OPERATION. permission: pull | triage | push | maintain | admin. Blocked unless GITHUB_MCP_READ_ONLY=false. |
| list_code_scanning_alertsB | List CodeQL/code-scanning alerts for a repo. state: open | closed | dismissed | fixed. |
| list_dependabot_alertsA | List Dependabot vulnerability alerts. state: open | dismissed | fixed | auto_dismissed. |
| resolve_secret_scanning_alertA | Resolve a secret-scanning alert. WRITE OPERATION. resolution: false_positive | wont_fix | revoked | used_in_tests. Use after the credential has actually been revoked/rotated. Blocked unless GITHUB_MCP_READ_ONLY=false. |
| graphql_queryA | Run an arbitrary GraphQL query against GitHub's v4 API. Useful for nested fetches (e.g. org -> teams -> members) in one round trip. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 21 tools
Each tool targets a distinct resource or action (e.g., get vs list, different alert types, branch protection vs permissions). There is no ambiguity between tools; they are clearly differentiated by their target and verb.
Most tools follow a consistent verb_noun pattern (get_*, list_*, set_*, resolve_*) in snake_case. The only outlier is 'graphql_query', which deviates from the pattern but is a generic utility.
21 tools is slightly above the typical well-scoped range (3-15), but given the breadth of GitHub admin functionality covered (branch protection, security alerts, permissions, webhooks), it is still reasonable and not excessive.
The tool set covers reading many resources and some write operations (permissions, branch protection, alert resolution). However, it lacks create/delete operations for repos, teams, and webhooks, which are notable gaps for a full admin gateway.