Skip to main content
Glama
jarrettmeyer

gh-mcp

by jarrettmeyer

gh-mcp

This is a very thin wrapper around the gh CLI.

Security

This server passes any command directly to gh without filtering. It can do anything your authenticated GitHub token allows.

To control what the server can do, scope your token:

  • Recommended: Create a fine-grained personal access token with only the repository access and permissions your AI tool needs.

  • Alternatively: Use a classic PAT with the minimum required scopes.

The server prevents shell injection by design — commands are passed as argument arrays to Bun.spawn, never interpolated into a shell string.

Installation

1. Install the GitHub CLI

Download the GitHub CLI. Or use brew install gh. Verify your installation.

gh --version

2. Install bun

This project uses bun for package management. Verify your installation.

bun --version

3. Clone the repo and install dependencies

git clone https://github.com/jarrettmeyer/gh-mcp.git
cd gh-mcp
bun install

4. Add the server to your MCP client

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

Note: bun installs to ~/.bun/bin/, which is not on the default PATH. Use the full path to the bun executable.

{
  "mcpServers": {
    "gh": {
      "command": "/Users/your-username/.bun/bin/bun",
      "args": ["run", "/path/to/gh-mcp/src/index.ts"]
    }
  }
}

Restart Claude Desktop.

Claude Code

Install from your terminal:

claude mcp add gh -- bun run /path/to/gh-mcp/src/index.ts

If gh is in a non-standard location, pass GH_PATH via --env:

claude mcp add gh --env GH_PATH=/opt/homebrew/bin/gh -- bun run /path/to/gh-mcp/src/index.ts

Usage

send_command

Execute a gh CLI command. Pass everything that would follow gh on the command line as the command string.

Parameter

Type

Description

command

string

The gh subcommand and arguments to run

Examples:

List open pull requests in a repo:
  command: "pr list --repo owner/repo"

View an issue:
  command: "issue view 42 --repo owner/repo"

Check the authenticated user:
  command: "auth status"

This tool works with any MCP-compatible client, including Claude Desktop, Claude Code, and Cursor.

Additional Configuration

GH_PATH

By default, the server resolves gh from your PATH. If gh is installed in a non-standard location (e.g. Homebrew on Apple Silicon), set GH_PATH to its absolute path:

{
  "mcpServers": {
    "gh": {
      "command": "/Users/your-username/.bun/bin/bun",
      "args": ["run", "/path/to/gh-mcp/src/index.ts"],
      "env": {
        "GH_PATH": "/opt/homebrew/bin/gh"
      }
    }
  }
}

Resources

License

MIT

-
license - not tested
-
quality - not tested
F
maintenance

Maintenance

Maintainers
4dResponse time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/jarrettmeyer/gh-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server