github-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GH_TOKEN | No | GitHub personal access token. Recommended but not required if `gh` is already authenticated. | |
| GITHUB_MCP_ALLOWED_ROOTS | Yes | Allowed root directories for repository operations. | |
| GITHUB_MCP_DEFAULT_REMOTE | No | Default remote name. | origin |
| GITHUB_MCP_DEFAULT_BASE_BRANCH | No | Default base branch name. | main |
| GITHUB_MCP_REQUIRE_CLEAN_WORKTREE | No | Require clean worktree before operations. | 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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| github_repo_statusA | Inspect a local Git repository status, branch, remotes, upstream, and MCP allowed roots. |
| github_pull_mainA | Fetch, switch to the base branch, and fast-forward pull from the configured remote. |
| github_create_feature_branchB | Create a new feature branch from the base branch after validating safety constraints. |
| github_push_feature_branchA | Push a non-protected feature branch and set upstream. Refuses main/master. |
| github_create_pull_requestB | Create a ready-for-review pull request from a pushed feature branch into the base branch. |
| github_prepare_feature_workflowA | Check status, update main, and create a new feature branch. Does not push or create a PR. |
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 6 tools
Each tool has a clear, distinct purpose. Despite some conceptual overlap between create_feature_branch and prepare_feature_workflow, the latter includes additional steps (status check, update main) that differentiate them. All other tools are uniquely scoped.
All tool names follow a consistent verb_noun pattern with underscores, using descriptive verbs like create, prepare, pull, push, and inspect. No mixing of conventions or vague terms.
Six tools is an ideal number for a focused Git workflow server. Each tool covers a necessary step without redundancy or bloat.
The set covers the core feature workflow: status, pull, branch creation, push, and PR creation. Missing operations like branch deletion or listing PRs are minor gaps that don't break the primary workflow.