gh_mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GITHUB_TOKEN | Yes | Required. GitHub personal access token or OAuth token used by the gh CLI. | |
| MCP_GH_ENV_FILE | No | Absolute path to a .env file to load environment variables from. Useful when the .env file is not in the launch directory. | |
| MCP_GH_LOG_LEVEL | No | Logging verbosity level. Use 'DEBUG' for detailed command logs. | INFO |
| MCP_GH_TRANSPORT | No | Transport protocol. Must be either 'stdio' or 'streamable-http'. The default is 'stdio'. | stdio |
| MCP_GH_HARD_MAX_RESULTS | No | Hard upper limit for maximum number of results returned by search tools. | 100 |
| MCP_GH_DEFAULT_MAX_RESULTS | No | Default maximum number of search results returned by search tools. | 30 |
| MCP_GH_ALLOW_WRITE_COMMANDS | No | Set to 'true' to enable write commands. Default is 'false' (read-only mode). | false |
| MCP_GH_CONFIRM_WRITE_COMMANDS | No | Set to 'true' to require human approval before executing write commands. Set to 'false' to disable the approval gate (not recommended). Default is 'true'. | true |
Capabilities
Features and capabilities supported by this server
| 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 |
|---|---|
| gh_infoA | Return gh CLI version, authentication status, and active account. |
| gh_search_reposA | Search GitHub repositories. Supports all GitHub search qualifiers (e.g. 'language:python stars:>1000'). Use 'is:fork' to exclude forks, 'archived:false' to exclude archived repos. |
| gh_search_issuesA | Search GitHub issues and pull requests. Supports all GitHub search qualifiers (e.g. 'is:open label:bug author:user'). Use 'is:pr' for pull requests only, 'is:issue' for issues only. |
| gh_search_codeA | Search GitHub source code. Supports all GitHub code search qualifiers (e.g. 'func name:main language:python'). |
| gh_list_issuesB | List issues in a repository. state: open, closed, or all (default: all). labels: comma-separated label filter. |
| gh_get_issueA | Get details of a specific issue or pull request. |
| gh_create_issueA | Create a new issue in a repository. This tool is disabled unless MCP_GH_ALLOW_WRITE_COMMANDS=true. With the default MCP_GH_CONFIRM_WRITE_COMMANDS=true, MCP asks a human to approve the command before executing. |
| gh_list_prsB | List pull requests in a repository. state: open, closed, or all (default: open). |
| gh_get_prA | Get details of a specific pull request. |
| gh_create_prA | Create a new pull request in a repository. This tool is disabled unless MCP_GH_ALLOW_WRITE_COMMANDS=true. With the default MCP_GH_CONFIRM_WRITE_COMMANDS=true, MCP asks a human to approve the command before executing. |
| gh_get_repoC | Get details of a specific repository. |
| gh_list_reposB | List repositories for a user or organization. type: all, owner, member, public, private, fork. |
| gh_create_repoA | Create a new repository. This tool is disabled unless MCP_GH_ALLOW_WRITE_COMMANDS=true. With the default MCP_GH_CONFIRM_WRITE_COMMANDS=true, MCP asks a human to approve the command before executing. |
| gh_list_releasesB | List releases in a repository. |
| gh_get_releaseA | Get details of a specific release. |
| gh_create_releaseA | Create a new release in a repository. This tool is disabled unless MCP_GH_ALLOW_WRITE_COMMANDS=true. With the default MCP_GH_CONFIRM_WRITE_COMMANDS=true, MCP asks a human to approve the command before executing. |
| gh_list_workflowsB | List GitHub Actions workflows in a repository. state: active, all, disabled, disabled_inactivity, disabled_fork. |
| gh_get_workflowC | Get details of a specific GitHub Actions workflow. |
| gh_run_workflowA | Trigger a workflow dispatch event for a GitHub Actions workflow. The workflow must support an |
| gh_list_runsA | List recent GitHub Actions workflow runs. status: completed, in_progress, queued, pending, requested, waiting, actionable, null (all). |
| gh_get_runB | Get details of a specific GitHub Actions workflow run. |
| gh_watch_runA | Watch a GitHub Actions workflow run until completion. This is a blocking call that waits for the run to finish. Uses gh run watch with --interval, --compact, and --exit-status flags. |
| gh_edit_issueB | Edit an existing issue in a repository. This tool is disabled unless MCP_GH_ALLOW_WRITE_COMMANDS=true. With the default MCP_GH_CONFIRM_WRITE_COMMANDS=true, MCP asks a human to approve the command before executing. |
| gh_list_labelsA | List labels in a repository. |
| gh_create_labelA | Create a new label in a repository. color: 6-character hex color code (e.g. 'ff0000' for red). force: overwrite existing label's color and description if it exists. This tool is disabled unless MCP_GH_ALLOW_WRITE_COMMANDS=true. With the default MCP_GH_CONFIRM_WRITE_COMMANDS=true, MCP asks a human to approve the command before executing. |
| gh_edit_labelA | Edit an existing label in a repository. This tool is disabled unless MCP_GH_ALLOW_WRITE_COMMANDS=true. With the default MCP_GH_CONFIRM_WRITE_COMMANDS=true, MCP asks a human to approve the command before executing. |
| gh_list_milestonesA | List milestones in a repository via the GitHub API. state: open, closed, or all (default: all). |
| gh_create_milestoneA | Create a new milestone in a repository via the GitHub API. due_on: due date in ISO format (e.g. '2026-12-31'). state: open or closed (default: open). This tool is disabled unless MCP_GH_ALLOW_WRITE_COMMANDS=true. With the default MCP_GH_CONFIRM_WRITE_COMMANDS=true, MCP asks a human to approve the command before executing. |
| gh_create_commentA | Post a comment on an issue or pull request. |
| gh_create_branchB | Create a new branch for an issue. |
| gh_edit_prC | Edit an existing pull request. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/fvanevski/gh_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server