Github MCP logo

Github MCP

Connects AI assistants to GitHub for listing repositories' issues and retrieving issue details over MCP.

Install Github MCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "github-mcp-2": {
      "command": "npx",
      "args": [
        "-y",
        "github-mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Install not yet sandbox-tested— we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

github-mcp connects MCP-compatible AI assistants to GitHub's REST API for issue-focused repository operations. It currently exposes tools for listing issues and viewing an individual issue, with open or closed state filtering for list queries. The server accepts a GitHub personal access token and can run over standard input/output or a streamable HTTP endpoint. Reach for it when an agent needs to inspect GitHub issues from a conversation or another MCP-enabled workflow.

Use cases

  • List open or closed issues for a repository
  • Inspect the metadata and description of a specific issue
  • Connect Claude Desktop to GitHub issue data
  • Expose GitHub issue queries through a streamable HTTP endpoint

Key features

  • List repository issues
  • Filter issues by open or closed state
  • Retrieve individual issue details
  • Authenticate with a GitHub personal access token
  • Support stdio and streamable HTTP transports
  • Configure the GitHub API endpoint and version

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 2h ago via OSV.dev · github-mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars2Stargazers on the source repository.
npm downloads497Package downloads in the last 30 days.
Last commit11mo agoMost recent push to the default branch.

How Github MCP works

What github-mcp does

github-mcp exposes GitHub issue operations through the Model Context Protocol. Its available functionality covers listing issues for a selected repository and retrieving complete information for one issue. List requests identify a repository with its owner and name, and can optionally filter by open or closed state; open issues are the default.

Returned issue data includes the issue number, title, body, state, creator, creation and update timestamps, and the GitHub web URL. The server is focused on reading issue information. Issue creation, label changes, comments, pull request management, GitHub Actions, and analytics are described as planned additions rather than available capabilities.

How it works

The core GitHubMCPServer class registers MCP tools and sends requests to the GitHub REST API. It can connect through the MCP SDK's StdioServerTransport, which is suitable for desktop and command-line MCP clients, or through the Hono-based streamable HTTP transport.

The HTTP mode serves the /mcp endpoint for POST, GET, and DELETE requests. It handles CORS and maintains server-sent event streams for ongoing messaging. Both transports use the same server logic, so the tools and configuration model remain consistent when changing transports.

Authentication is lazy: the process can start without a token, but a GitHub credential is needed when a tool calls the GitHub API. The default API base is GitHub's public API endpoint, and the implementation also supports an alternate API base and API version through programmatic configuration.

Setup and configuration

Install the package locally or globally with npm:

Terminal
npm install github-mcp

Start the default stdio server after setting a personal access token:

server.ts
export GITHUB_ACCESS_TOKEN="your_github_token_here"
npx github-mcp

The setup instructions use a GitHub classic personal access token with the repo permission. For HTTP transport, run:

Terminal
npx github-mcp streamableHttp

You can also select that transport and set its port through environment variables:

bash
MCP_TRANSPORT=streamableHttp STREAMABLE_HTTP_PORT=3001 npx github-mcp

When used as a library, construct GitHubMCPServer with options such as token, apiBase, apiVersion, serverName, and serverVersion, then connect it to an MCP transport. Constructor values take precedence over environment settings, followed by defaults.

Claude Desktop can launch the package with npx -y github-mcp and pass GITHUB_ACCESS_TOKEN in the MCP server's env configuration. Continue is also identified as a compatible MCP client.

Tools and capabilities

  • list_issues: queries issues for a specified repository using owner and repo values.
  • Issue-state filtering: accepts open or closed, defaulting to open issues.
  • Issue details: provides full information for a single issue.
  • Stdio transport: connects through the MCP SDK's standard input/output transport.
  • Streamable HTTP transport: exposes /mcp through a Hono server with CORS and SSE support.
  • Configurable GitHub API access: supports token, API base, API version, and server identity settings.

Limitations and notes

The available feature set is centered on issue retrieval. Creating issues, managing labels, commenting, pull request operations, GitHub Actions control, and analytics are listed as future work, so workflows requiring those operations should not depend on them being available.

A GitHub token is not needed merely to start the process, but API calls require authentication. The documented token setup uses the classic-token repo permission, so credential scope should be reviewed before deploying the server in a shared or automated environment.

The package can be used directly as a Node.js library as well as launched with npx. The HTTP transport requires a client that can connect to the /mcp endpoint, while stdio requires an MCP client capable of starting the configured command.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Github MCP

github-mcp is an MCP server that connects AI assistants to GitHub through the GitHub REST API. Its main tools list repository issues and retrieve individual issue details, with optional open or closed state filtering. It supports GitHub personal-token authentication and stdio or streamable HTTP transports.

Install it with `npm install github-mcp`, then run it with `npx github-mcp`. Set `GITHUB_ACCESS_TOKEN` before making GitHub API calls. A global installation with `npm install -g github-mcp` is also supported.

Add an MCP server entry that runs `npx` with `-y` and `github-mcp`, then place the GitHub token in the entry's `env` object as `GITHUB_ACCESS_TOKEN`. Restart Claude Desktop after saving its configuration.

Yes, github-mcp supports streamable HTTP through its Hono transport. Run `npx github-mcp streamableHttp`, or set `MCP_TRANSPORT=streamableHttp` and `STREAMABLE_HTTP_PORT` before launching it. The endpoint is `/mcp`.

github-mcp supports listing repository issues and retrieving individual issue details. Issue creation, label management, comments, pull requests, GitHub Actions, and analytics are identified as planned features rather than part of the available feature set.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewGithub MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/github-mcp-2?style=directory)](https://allmcps.com/mcp/github-mcp-2)
HTML Embed
<a href="https://allmcps.com/mcp/github-mcp-2"><img src="https://allmcps.com/api/badge/github-mcp-2?style=directory" alt="Github MCP on AllMCPs" /></a>