MCP.so
Sign In
Servers

mcp-github-cli

@michaelneale

a MCP server for github using the GH cli under the covers

Overview

What is mcp-github-cli?

mcp-github-cli is an MCP server that provides focused GraphQL and REST API tools for interacting with GitHub. It leverages GitHub’s APIs to offer a streamlined set of powerful tools for retrieving rich data and performing common operations.

How to use mcp-github-cli?

Run with uvx mcp-github-cli from the command line. Prerequisites are installing the GitHub CLI (gh) and authenticating via gh auth login. Can be used with Goose or Claude. For a test run, execute uv run python main.py --test from the source directory.

Key features of mcp-github-cli

  • Get detailed authenticated user information via gh_get_me
  • Execute GraphQL queries for repos, users, PRs, and issues
  • Run custom GraphQL queries with gh_custom_graphql
  • Search repositories using the REST API
  • Create issues and pull requests via REST endpoints
  • List branches, commits, and repository contents

Use cases of mcp-github-cli

  • Retrieve the authenticated user’s GitHub profile
  • Get comprehensive repository information with a single GraphQL request
  • Search for repositories by language, stars, or other criteria
  • Create issues and pull requests programmatically from an MCP client
  • List branches and commits for a given repository

FAQ from mcp-github-cli

What are the prerequisites?

Install the GitHub CLI (gh) via a package manager (e.g., brew install gh on macOS) and authenticate with gh auth login.

Can I use this server with Claude or Goose?

Yes, it can be used in Goose or Claude as an MCP server. Run it with uvx mcp-github-cli.

How do I test the server functionality?

Run uv run python main.py --test from the source directory. This verifies authentication, user info retrieval, GraphQL queries, REST searches, and other tools.

How do I publish an updated version?

Update the version in pyproject.toml, clean previous builds (rm -rf dist/*), build the package with python -m build, and upload to PyPI using twine.

What tools are available for custom queries?

You can execute custom GraphQL queries with gh_custom_graphql(query, variables) and custom REST API requests with gh_rest_api(endpoint, method, data, query_params).

More from Developer Tools