GitHub logo — Git & Repo Workflows MCP server

GitHub

Official

Full GitHub API access: repos, PRs, issues, and code search.

Score 90(?)GitHubMIT32kVerified Top MCPs for Git & Repo Workflows →

Quick answer

What it does

Provides access to GitHub repositories, issues, pull requests, commits, branches, and code search via the GitHub REST and GraphQL APIs.

Best for

  • Automated issue creation
  • PR review and management
  • Code search across repos
  • Repository browsing

Not for

  • GitLab or Bitbucket workflows
  • Fully local git-only setups

Source: top-mcps.com/mcp/github — verified Aug 2026

Setup recipe

Pick your client, then follow the three steps.

  1. 1

    Install

    claude_desktop_config.json
    {
      "mcpServers": {
        "github": {
          "command": "npx",
          "args": [
            "-y",
            "mcp-remote",
            "https://api.githubcopilot.com/mcp/"
          ]
        }
      }
    }

    Claude Desktop launches stdio servers, so mcp-remote bridges to the hosted endpoint and opens the sign-in in your browser. On Pro, Max, Team and Enterprise you can skip the file: Settings → Connectors → Add custom connector → https://api.githubcopilot.com/mcp/. This endpoint expects an API key, usually as an Authorization header — set it where your client configures headers (mcp-remote: add --header "Authorization: Bearer <key>").

    CLI or .mcp.json
    claude mcp add --transport http github https://api.githubcopilot.com/mcp/

    Then run /mcp inside Claude Code to finish the sign-in. This endpoint expects an API key, usually as an Authorization header — set it where your client configures headers (mcp-remote: add --header "Authorization: Bearer <key>").

    .cursor/mcp.json
    {
      "mcpServers": {
        "github": {
          "url": "https://api.githubcopilot.com/mcp/"
        }
      }
    }

    Global path: ~/.cursor/mcp.json. Cursor shows "Needs login" once it connects — click it to authorize. This endpoint expects an API key, usually as an Authorization header — set it where your client configures headers (mcp-remote: add --header "Authorization: Bearer <key>").

    .vscode/mcp.json
    {
      "servers": {
        "github": {
          "type": "http",
          "url": "https://api.githubcopilot.com/mcp/"
        }
      }
    }

    VS Code uses the "servers" key. Run MCP: List Servers → Start Server and allow the sign-in. This endpoint expects an API key, usually as an Authorization header — set it where your client configures headers (mcp-remote: add --header "Authorization: Bearer <key>").

    ~/.codeium/windsurf/mcp_config.json
    {
      "mcpServers": {
        "github": {
          "serverUrl": "https://api.githubcopilot.com/mcp/"
        }
      }
    }

    Windsurf uses "serverUrl" for hosted servers. Open via Cascade → hammer icon → Configure. This endpoint expects an API key, usually as an Authorization header — set it where your client configures headers (mcp-remote: add --header "Authorization: Bearer <key>").

    cline_mcp_settings.json
    {
      "mcpServers": {
        "github": {
          "command": "npx",
          "args": [
            "-y",
            "mcp-remote",
            "https://api.githubcopilot.com/mcp/"
          ]
        }
      }
    }

    Bridged through mcp-remote. Open via the Cline sidebar → MCP Servers → Edit. This endpoint expects an API key, usually as an Authorization header — set it where your client configures headers (mcp-remote: add --header "Authorization: Bearer <key>").

    ~/.continue/config.json
    {
      "experimental": {
        "modelContextProtocolServers": [
          {
            "transport": {
              "type": "streamable-http",
              "url": "https://api.githubcopilot.com/mcp/"
            }
          }
        ]
      }
    }

    Continue takes the hosted URL directly in the transport block. This endpoint expects an API key, usually as an Authorization header — set it where your client configures headers (mcp-remote: add --header "Authorization: Bearer <key>").

    CLI
    codex mcp add github --url https://api.githubcopilot.com/mcp/

    Codex detects OAuth support and opens the browser to authorize. This endpoint expects an API key, usually as an Authorization header — set it where your client configures headers (mcp-remote: add --header "Authorization: Bearer <key>").

    ~/.config/zed/settings.json
    {
      "context_servers": {
        "github": {
          "command": {
            "path": "npx",
            "args": [
              "-y",
              "mcp-remote",
              "https://api.githubcopilot.com/mcp/"
            ]
          }
        }
      }
    }

    Bridged through mcp-remote under "context_servers". Settings live-reload on save. This endpoint expects an API key, usually as an Authorization header — set it where your client configures headers (mcp-remote: add --header "Authorization: Bearer <key>").

    ChatGPT → Settings → Connectors (remote URL)
    {
      "name": "GitHub",
      "transport": "http",
      "url": "https://api.githubcopilot.com/mcp/"
    }

    Paste this into Settings → Connectors → Add custom connector. Requires ChatGPT Pro / Team / Enterprise / Edu with Developer mode enabled.

  2. 2

    Set required secrets

    Set GITHUB_PERSONAL_ACCESS_TOKEN in your shell environment before launching your MCP client.

  3. 3

    Try a minimum working prompt

    Open a draft PR that adds a CI-status README badge

    On github.com/<owner>/<repo>, open a draft pull request from a new branch `readme-badge` that adds a GitHub Actions status badge for the `ci.yml` workflow to the top of README.md. Link the badge to the Actions tab. Do not merge — leave it as draft for me to review.

    Tested with: Claude Desktop, Claude Code, Cursor.

Tools & permissions

ToolDescriptionArgsSide effects
get_file_contentsRead a file or directory from a repository.—Read
create_or_update_fileCreate or update a single file in a repository.—Write
push_filesPush several files in one commit.—Write
delete_fileDelete a file from a repository.—Write
search_repositoriesSearch GitHub repositories.—Read
search_codeSearch code across GitHub.—Read
search_issuesSearch issues.—Read
search_pull_requestsSearch pull requests.—Read
issue_readRead an issue, its comments, labels, or sub-issues.—Read
issue_writeCreate or update an issue. This is how issues are created — there is no create_issue tool.—Write
list_issuesList issues in a repository.—Read
add_issue_commentComment on an issue.—Write
pull_request_readRead a pull request, its diff, files, reviews, or status.—Read
pull_request_review_writeCreate, submit, or dismiss a pull-request review.—Write
create_pull_requestOpen a pull request.—Write
update_pull_requestUpdate an open pull request.—Write
merge_pull_requestMerge a pull request.—Write
list_pull_requestsList pull requests in a repository.—Read
create_branchCreate a branch.—Write
list_branchesList branches in a repository.—Read
list_commitsList commits on a branch.—Read
get_commitReturn one commit with its diff.—Read
create_repositoryCreate a repository.—Write
fork_repositoryFork a repository.—Write
get_meReturn the authenticated user.—Read

Security & scope

Access scope
Read + write
Sandbox
Authenticates to the GitHub API using the token in `GITHUB_PERSONAL_ACCESS_TOKEN`. The blast radius equals the token scope — the MCP has whatever repo, issue, PR, and admin permissions the token grants.
Gotchas
  • Classic tokens grant every permission on the account — prefer fine-grained tokens scoped to the specific repos you want the agent to touch.
  • Branch-protection rules still apply; unprotected branches let an agent push directly to default branches.

Agent prompt pack

— copy into Claude, Cursor, or ChatGPT.
Paste into Claude, Cursor, or ChatGPT. Edit the [brackets] before sending.
Recommend the best MCP servers for [task: e.g. git & repo workflows work] in [client: Claude].

Constraints:
- Prefer tools that are [official | open-source | read-only] — pick what matters for my use case.
- Exclude MCPs that require [e.g. a paid plan, OAuth-only flows, remote-only transport].
- Return at most 3 picks, ranked.

For each pick include:
1. One-sentence rationale.
2. The ready-to-paste install snippet for my client.
3. Any required secrets I need to create before installing.

Cross-check the top-mcps.com listing: https://top-mcps.com/top-mcps-for-git-repo-workflows
Compare GitHub against a real alternative. Swap the second MCP in [brackets] if you want a different match.
Compare GitHub MCP vs [GitLab MCP] for the following job: [describe the job, e.g. "let an agent create GitHub issues on bug triage"].

Judge them on:
- Setup time and complexity (what a new user hits first).
- Auth model (none / API key / OAuth 2.1) and credential risk.
- Transport (stdio / Streamable HTTP / SSE) and where the server runs.
- Required secrets and the blast radius if they leak.
- Operational risk in an unattended agent loop.
- Which one is "good enough" for a weekend prototype vs. production.

End with one sentence: which should I pick for my scenario, which is: [my scenario].

References:
- https://top-mcps.com/mcp/github
- top-mcps.com listing for GitLab
Asks the agent to install and verify. Works inside Claude Code, Cursor Agent, Codex CLI.
Install the GitHub MCP server for my [client: Claude] at the default config path for that client.

Use the exact install snippet published at https://top-mcps.com/mcp/github (fetch https://top-mcps.com/mcp/github.json for the canonical server.json if you can read URLs).

Before finishing:
1. Create the required secrets (GITHUB_PERSONAL_ACCESS_TOKEN) and put them in the appropriate env block — do not hard-code them.
2. Restart or reload the client so it picks up the new server.
3. Verify the server is connected (green / running state) and at least one tool is listed.
4. If anything fails, read the client's MCP logs and report the exact error — do not silently retry.

Confirm when done and list the tools the server now exposes.

Frequently asked questions

What changed

— 3 updates tracked.
  1. v1.0.5 released — GitHub MCP Server 1.0.5

  2. v1.0.4 released — GitHub MCP Server 1.0.4

  3. v1.0.3 released — GitHub MCP Server 1.0.3

More Git & Repo Workflows MCPs

Other tools in the same category worth evaluating.

GitLab

Full GitLab API access: repos, MRs, issues, pipelines, and registries.

git, gitlab, repos, mrs
5 minLow
Git
Official

Local Git operations: commit, diff, log, branch, and more.

git, local, commits, diff
2 minLow
Linear

Manage Linear issues, projects, and cycles from AI context.

linear, project-management, issues, productivity
5 minMedium

Compared with GitHub

Side-by-side breakdowns for the choices people most often weigh against this MCP.

Exploring Top MCPs for Git & Repo Workflows? See all Git & Repo Workflows MCPs →