# GitHub (MCP server)

> GitHub is an MCP server that connects AI tools directly to GitHub's platform. This gives AI agents, assistants, and chatbots the ability to read repositories and code files, manage issues and PRs, analyze code, and automate… It has 33,414 GitHub stars, is released under the MIT license and runs locally with docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server:2.0.0.

The GitHub MCP Server connects AI tools directly to GitHub's platform. This gives AI agents, assistants, and chatbots the ability to read repositories and code files, manage issues and PRs, analyze code, and automate workflows. All through natural language interactions.

## Key facts

| Fact | Value |
|---|---|
| Repository | https://github.com/github/github-mcp-server |
| GitHub stars | 33,414 |
| License | MIT |
| Language | Go |
| Transport | stdio, streamable-http |
| Packages | docker: ghcr.io/github/github-mcp-server:2.0.0 |
| Remote URL | https://api.githubcopilot.com/mcp/ |
| Needs API key | yes |
| Official | yes |
| Works with | Claude Desktop, Claude Code, Cursor, VS Code, Claude.ai, ChatGPT |
| Category | Developer tools |
| Latest release | v2.0.0 (Oct 6, 2026) |
| Last commit | Oct 6, 2026 |
| MCP registry name | io.github.github/github-mcp-server |

## Install

### Claude Desktop (claude_desktop_config.json)

```json
{
  "mcpServers": {
    "github": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server:2.0.0"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "your-value"
      }
    }
  }
}
```

Settings > Developer > Edit Config. macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\. Restart Claude Desktop afterwards.

### Claude Code

```sh
claude mcp add --env GITHUB_PERSONAL_ACCESS_TOKEN=your-value --transport stdio github -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server:2.0.0
```

### Cursor (.cursor/mcp.json)

```json
{
  "mcpServers": {
    "github": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server:2.0.0"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "your-value"
      }
    }
  }
}
```

Project file; use ~/.cursor/mcp.json to enable it in every project.

### VS Code (.vscode/mcp.json)

```json
{
  "inputs": [
    {
      "type": "promptString",
      "id": "github_personal_access_token",
      "description": "GITHUB_PERSONAL_ACCESS_TOKEN",
      "password": true
    }
  ],
  "servers": {
    "github": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server:2.0.0"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_personal_access_token}"
      }
    }
  }
}
```

### Claude Code (remote)

```sh
claude mcp add --transport http github "https://api.githubcopilot.com/mcp/"
```

The same server is also hosted as a remote MCP endpoint, so nothing runs on your machine.

Config formats checked against the official docs on 2026-10-07.

## Environment variables

- `GITHUB_PERSONAL_ACCESS_TOKEN` (secret): Optional GitHub Personal Access Token. Omit to log in with OAuth on first use.

## Tools

- `actions_get`: Get details of GitHub Actions resources (workflows, workflow runs, jobs, and artifacts)
- `method`: The method to execute (string, required)
- `owner`: Repository owner (string, required)
- `repo`: Repository name (string, required)
- `resource_id`: The unique identifier of the resource. This will vary based on the "method" provided, so ensure you provide the…
- `actions_list`: List GitHub Actions workflows in a repository
- `page`: Page number for pagination (default: 1) (number, optional)
- `workflow_jobs_filter`: Filters for workflow jobs. ONLY used when method is 'listworkflowjobs' (object, optional)
- `workflow_runs_filter`: Filters for workflow runs. ONLY used when method is 'listworkflowruns' (object, optional)
- `actions_run_trigger`: Trigger GitHub Actions workflow actions
- `inputs`: Inputs the workflow accepts. Only used for 'run_workflow' method. (object, optional)
- `run_id`: The ID of the workflow run. Required for all methods except 'run_workflow'. (number, optional)
- `workflow_id`: The workflow ID (numeric) or workflow file name (e.g., main.yml, ci.yaml). Required for 'run_workflow' method.
- `get_job_logs`: Get GitHub Actions workflow job logs
- `failed_only`: When true, gets logs for all failed jobs in the workflow run specified by runid. Requires runid to be provided.
- `job_id`: The unique identifier of the workflow job. Required when getting logs for a single job. (number, optional)
- `return_content`: Returns actual log content instead of URLs (boolean, optional)
- `tail_lines`: Number of lines to return from the end of the log (number, optional)
- `get_code_quality_finding`: Get code quality finding
- `get_code_scanning_alert`: Get code scanning alert
- `list_code_scanning_alerts`: List code scanning alerts
- `severity`: Filter code scanning alerts by severity (string, optional)
- `state`: Filter code scanning alerts by state. Defaults to open (string, optional)
- `tool_name`: The name of the tool used for code scanning. (string, optional)
- `get_me`: Get my user profile
- `get_team_members`: Get team members
- `team_slug`: Team slug (string, required)
- `get_teams`: Get teams
- `user`: Username to get teams for. If not provided, uses the authenticated user. (string, optional)
- `ui_get`: Get UI data
- `assign_copilot_to_issue`: Assign Copilot to issue
- `base_ref`: Git reference (e.g., branch) that the agent will start its work from.
- `custom_instructions`: Optional custom instructions to guide the agent beyond the issue body.
- `issue_number`: Issue number (number, required)
- `request_copilot_review`: Request Copilot review
- `assign_copilot_to_issue_with_intent`: Assign Copilot to issue with intent
- `confidence`: How confident you are in this choice. 'HIGH' for clear signal or explicit user request, 'MEDIUM' for reasonable…
- `is_suggestion`: If true, records a pending Copilot assignment intent rather than launching the agent.
- `rationale`: One concise sentence explaining what specifically about the issue led to choosing Copilot.
- `get_dependabot_alert`: Get dependabot alert

## Similar MCP servers

- [Gemini CLI](https://appsgit.com/mcp-servers/gemini-cli): An open-source AI agent that brings the power of Gemini directly into your terminal. (107,240 stars, Apache-2.0)
- [Front-End Checklist](https://appsgit.com/mcp-servers/front-end-checklist): Review frontend code and live pages against 386 quality-gated web development rules. (74,390 stars, MIT)
- [Claude Flow](https://appsgit.com/mcp-servers/claude-flow): AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev. (74,016 stars, MIT, needs API key)
- [Codebase Memory](https://appsgit.com/mcp-servers/codebase-memory): Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens. (45,917 stars, MIT)
- [Bytedance Filesystem](https://appsgit.com/mcp-servers/bytedance-filesystem): MCP server for filesystem access. (39,206 stars, Apache-2.0)
- [Repomix](https://appsgit.com/mcp-servers/repomix): Pack local or remote codebases into AI-friendly files that LLMs and coding agents can read or search. (28,734 stars, MIT)

---

Canonical page: https://appsgit.com/mcp-servers/github
Source: appsgit (https://appsgit.com), the app store for github. Data from the GitHub API, refreshed nightly.
Machine access: JSON API https://appsgit.com/api/v1/apps (OpenAPI: https://appsgit.com/openapi.json), MCP server https://mcp.appsgit.com/mcp, full index https://appsgit.com/llms-full.txt.
