Github CLI MCP Server

bpmiranda3099/gh-cli-mcp-server
0 starsMITCommunity

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

Enables interaction with GitHub by wrapping the gh CLI into two generic tools for executing any gh command and suggesting syntax, providing structured JSON output.

README.md

Github CLI MCP Server

![PyPI](https://pypi.org/project/gh-cli-mcp-server) ![License](https://github.com/bpmiranda3099/gh-cli-mcp-server/blob/main/LICENSE) ![Visitors](https://github.com/bpmiranda3099/gh-cli-mcp-server)

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.

Related MCP servers

Browse all →