Skip to main content

Github CLI MCP Server

PyPI License Visitors

MCP server that wraps the GitHub CLI (gh) into two generic tools — similar to how aws-api-mcp-server wraps the AWS CLI.

Why?

Most GitHub MCP servers expose 25+ individual tools — one per API operation. That's a lot of tools for something the gh CLI already handles in a single binary.

aws-api-mcp-server solved this for AWS by wrapping the entire AWS CLI into one call_aws tool. This project does the same for GitHub — two tools instead of dozens:

  • call_gh — run any gh command
  • suggest_gh_commands — get help with syntax

No need for a dedicated tool per operation. The gh CLI already covers repos, issues, PRs, workflows, releases, and more. This just gives MCP clients a way to execute those commands directly.

Why not just use gh through a shell tool?

You can — it works. This server just cleans things up:

  • Parses gh output into structured JSON when possible, instead of raw terminal text
  • Handles timeouts so commands don't hang forever
  • Includes a suggest_gh_commands tool for when you're unsure about syntax
  • Shows up as a dedicated "github" capability instead of generic shell access

Same gh CLI underneath, just a smoother wrapper for MCP clients to work with.

Tools

  • call_gh — Execute any gh CLI command and get structured output
  • suggest_gh_commands — Get command suggestions from a natural language query

Prerequisites

  • GitHub CLI installed and authenticated (gh auth login)
  • uv (recommended, for running with uvx)

Installation

pip install gh-cli-mcp-server

Usage with MCP clients

{
  "mcpServers": {
    "github": {
      "command": "uvx",
      "args": ["gh-cli-mcp-server"]
    }
  }
}

Examples

Just ask your MCP client naturally — it'll use call_gh under the hood:

You say What runs
"List my repos" gh repo list --limit 30
"Show open issues on my project" gh issue list --repo owner/repo --state open
"Create a PR from this branch to main" gh pr create --title '...' --body '...' --base main
"What workflows does this repo have?" gh workflow list --repo owner/repo
"Show me the last 5 CI runs" gh run list --repo owner/repo --limit 5
"Who am I logged in as?" gh auth status

If the client isn't sure which command to use, it can call suggest_gh_commands with your prompt to get suggestions first.

Metadata

Release files for gh-cli-mcp-server 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gh-cli-mcp-server 0.3.0
File Size Uploaded Provenance
gh_cli_mcp_server-0.3.0.tar.gz 13.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for gh-cli-mcp-server 0.3.0
File Interpreter ABI Platform
gh_cli_mcp_server-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 28.9 kB

Release files / gh_cli_mcp_server-0.3.0.tar.gz

Download URL gh_cli_mcp_server-0.3.0.tar.gz
Size 13.7 kB
Tags Source
SHA-256 checksum
How to use checksums
cbd464ab090a1cbba6df8c132fa422c319de4c834176a05abea1d4dc8ee28a3a
BLAKE2b-256 checksum
How to use checksums
57a5455793f2bc7e54ab563e1ba0a9d16b07144ed6d3e675809a9123c4059f6c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.0

Release files / gh_cli_mcp_server-0.3.0-py3-none-any.whl

Download URL gh_cli_mcp_server-0.3.0-py3-none-any.whl
Size 15.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5e9541c84cc06b253208366fefa145bfa825123a20b97bab829f262341ab7336
BLAKE2b-256 checksum
How to use checksums
eeeced35b7c50681a09ba23debfb73113ff933ddaec31de6851237a8760410cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.0

Security for gh-cli-mcp-server 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page