GitHub MCP server

Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

69/100?Number 94 of 1,193 in Developer Tools

source repositorytool list publishedupdated recentlyhosted endpointactive entryno credentials31,988 stars

How this score is calculated

Local or hostedCOMMUNITY Developer Tools

Details

Registry name
io.github.github/github-mcp-server
Publisher
github
Version
1.12.0
Distribution
Local or hosted. both options are published. Install the package to run it yourself, or connect to the publisher's hosted URL and skip the install.
Transports
stdio, streamable-http
Source repository
github/github-mcp-server
Website
-
First published
Registry updated
Credentials required
None declared
Schema generation
2025-12-11

Packages

oci ghcr.io/github/github-mcp-server:1.12.0

Version
-
Transport
stdio
Runtime
not specified

Hosted endpoints

Endpoint 1

URL
https://api.githubcopilot.com/mcp/
Transport
streamable-http
Authentication
api-key

Install GitHub

Pick your client. The configuration below is generated from this server's published package and endpoint data.

Claude Code command line

Configuration file: .mcp.json or ~/.claude.json

Hosted endpoint
claude mcp add github-github --transport http https://api.githubcopilot.com/mcp/

Nothing to install. The client connects to the publisher's URL.

Local package (oci)
claude mcp add github-github -- docker 127.0.0.1:8085:8085 GITHUB_OAUTH_CALLBACK_PORT=8085 GITHUB_PERSONAL_ACCESS_TOKEN={token} run -i --rm ghcr.io/github/github-mcp-server:1.12.0

Check it worked: Run claude mcp list and check the server reports connected.

Official Claude Code MCP documentation

Cursor IDE

Configuration file: .cursor/mcp.json or ~/.cursor/mcp.json

Hosted endpoint
{
  "mcpServers": {
    "github-github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/"
    }
  }
}

Nothing to install. The client connects to the publisher's URL.

Local package (oci)
{
  "mcpServers": {
    "github-github": {
      "command": "docker",
      "args": ["127.0.0.1:8085:8085", "GITHUB_OAUTH_CALLBACK_PORT=8085", "GITHUB_PERSONAL_ACCESS_TOKEN={token}", "run", "-i", "--rm", "ghcr.io/github/github-mcp-server:1.12.0"]
    }
  }
}

Check it worked: The server appears under Settings, then MCP with a green dot.

Official Cursor MCP documentation

Claude Desktop desktop app

Configuration file: ~/Library/Application Support/Claude/claude_desktop_config.json or %APPDATA%\Claude\claude_desktop_config.json

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

Nothing to install. The client connects to the publisher's URL.

Local package (oci)
{
  "mcpServers": {
    "github-github": {
      "command": "docker",
      "args": ["127.0.0.1:8085:8085", "GITHUB_OAUTH_CALLBACK_PORT=8085", "GITHUB_PERSONAL_ACCESS_TOKEN={token}", "run", "-i", "--rm", "ghcr.io/github/github-mcp-server:1.12.0"]
    }
  }
}

Quit the app completely and reopen it.

Check it worked: Look for the tools icon in the message composer.

Official Claude Desktop MCP documentation

Visual Studio Code IDE

Configuration file: .vscode/mcp.json or user settings.json under mcp

Hosted endpoint
{
  "servers": {
    "github-github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/"
    }
  }
}

Nothing to install. The client connects to the publisher's URL.

Local package (oci)
{
  "servers": {
    "github-github": {
      "type": "stdio",
      "command": "docker",
      "args": ["127.0.0.1:8085:8085", "GITHUB_OAUTH_CALLBACK_PORT=8085", "GITHUB_PERSONAL_ACCESS_TOKEN={token}", "run", "-i", "--rm", "ghcr.io/github/github-mcp-server:1.12.0"]
    }
  }
}

Check it worked: Open the Copilot chat tools picker and confirm the server is listed.

Official Visual Studio Code MCP documentation

Codex CLI command line

Configuration file: ~/.codex/config.toml

Hosted endpoint
codex mcp add github-github --transport http https://api.githubcopilot.com/mcp/

Nothing to install. The client connects to the publisher's URL.

Local package (oci)
codex mcp add github-github -- docker 127.0.0.1:8085:8085 GITHUB_OAUTH_CALLBACK_PORT=8085 GITHUB_PERSONAL_ACCESS_TOKEN={token} run -i --rm ghcr.io/github/github-mcp-server:1.12.0

Check it worked: Run codex mcp list and check the server is present.

Official Codex CLI MCP documentation

More clients (9), including automation platforms

Tools

40 tools, from the publisher's manifest. A parameter marked with an asterisk is required. By intent: 23 answer, 15 act and 2 not classified.

Intent says what a tool does with the world. Answer reads and returns information and changes nothing. Act changes state somewhere, by writing, creating, sending or deleting. Transact moves money, buys something or commits to a cost. A value marked declared is the publisher's own annotation on their own tool. A value marked inferred is this catalogue reading the tool name and description, and is not a claim by the publisher. Where neither settles it, the tool is left unclassified rather than guessed at.

ToolWhat it doesIntentParameters
add_comment_to_pending_reviewAdd review comment to the requester's latest pending pull request review. A pending review needs to already exist to call this (check with the user if not sure). act inferredbody, owner, path, pullNumber, repo, subjectType, line, side
add_issue_commentAdd a comment to a specific issue in a GitHub repository. Use this tool to add comments to pull requests as well (in this case pass pull request number as issue_number), but only if user is not asking specifically to add review comments. act inferredbody, issue_number, owner, repo
assign_copilot_to_issueAssign Copilot to a specific issue in a GitHub repository. This tool can help with the following outcomes: - a Pull Request created with source code changes to resolve the issue More information can be found at: - https://docs.github.com/en/copilot/using-github-copilot/using-copilot-coding-agent-to-work-on-tasks/about-assigning-tasks-to-copilot act inferredissueNumber, owner, repo
create_branchCreate a new branch in a GitHub repository act inferredbranch, owner, repo, from_branch
create_or_update_fileCreate or update a single file in a GitHub repository. If updating, you must provide the SHA of the file you want to update. Use this tool to create or update a file in a GitHub repository remotely; do not use it for local file operations. act inferredbranch, content, message, owner, path, repo, sha
create_pull_requestCreate a new pull request in a GitHub repository. act inferredbase, head, owner, repo, title, body, draft, maintainer_can_modify
create_repositoryCreate a new GitHub repository in your account or specified organization act inferredname, autoInit, description, organization, private
delete_fileDelete a file from a GitHub repository destructiveact declaredbranch, message, owner, path, repo
fork_repositoryFork a GitHub repository to your account or specified organization not classifiedowner, repo, organization
get_commitGet details for a commit from a GitHub repository read onlyanswer declaredowner, repo, sha, include_diff, page, perPage
get_file_contentsGet the contents of a file or directory from a GitHub repository read onlyanswer declaredowner, repo, path, ref, sha
get_labelGet a specific label from a repository. read onlyanswer declaredname, owner, repo
get_latest_releaseGet the latest release in a GitHub repository read onlyanswer declaredowner, repo
get_meGet details of the authenticated GitHub user. Use this when a request is about the user's own profile for GitHub. Or when information is missing to build other tool calls. read onlyanswer declarednot published
get_release_by_tagGet a specific release by its tag name in a GitHub repository read onlyanswer declaredowner, repo, tag
get_tagGet details about a specific git tag in a GitHub repository read onlyanswer declaredowner, repo, tag
get_team_membersGet member usernames of a specific team in an organization. Limited to organizations accessible with current credentials read onlyanswer declaredorg, team_slug
get_teamsGet details of the teams the user is a member of. Limited to organizations accessible with current credentials read onlyanswer declareduser
issue_readGet information about a specific issue in a GitHub repository. read onlyanswer declaredissue_number, method, owner, repo, page, perPage
issue_writeCreate a new or update an existing issue in a GitHub repository. act inferredmethod, owner, repo, assignees, body, duplicate_of, issue_number, labels
list_branchesList branches in a GitHub repository read onlyanswer declaredowner, repo, page, perPage
list_commitsGet list of commits of a branch in a GitHub repository. Returns at least 30 results per page by default, but can return more if specified using the perPage parameter (up to 100). read onlyanswer declaredowner, repo, author, page, perPage, sha
list_issue_typesList supported issue types for repository owner (organization). read onlyanswer declaredowner
list_issuesList issues in a GitHub repository. For pagination, use the 'endCursor' from the previous response's 'pageInfo' in the 'after' parameter. read onlyanswer declaredowner, repo, after, direction, labels, orderBy, perPage, since
list_pull_requestsList pull requests in a GitHub repository. If the user specifies an author, then DO NOT use this tool and use the search_pull_requests tool instead. read onlyanswer declaredowner, repo, base, direction, head, page, perPage, sort
list_releasesList releases in a GitHub repository read onlyanswer declaredowner, repo, page, perPage
list_tagsList git tags in a GitHub repository read onlyanswer declaredowner, repo, page, perPage
merge_pull_requestMerge a pull request in a GitHub repository. act inferredowner, pullNumber, repo, commit_message, commit_title, merge_method
pull_request_readGet information on a specific pull request in GitHub repository. read onlyanswer declaredmethod, owner, pullNumber, repo, page, perPage
pull_request_review_writeCreate and/or submit, delete review of a pull request. Available methods: - create: Create a new review of a pull request. If "event" parameter is provided, the review is submitted. If "event" is omitted, a pending review is created. - submit_pending: Submit an existing pending review of a pull request. This requires that a pending review exists for the current user on the specified pull request. The "body" and "event" parameters are used when submitting the review. - delete_pending: Delete an existing pending review of a pull request. This requires that a pending review exists for the current user on the specified pull request. act inferredmethod, owner, pullNumber, repo, body, commitID, event
push_filesPush multiple files to a GitHub repository in a single commit act inferredbranch, files, message, owner, repo
request_copilot_reviewRequest a GitHub Copilot code review for a pull request. Use this for automated feedback on pull requests, usually before requesting a human reviewer. not classifiedowner, pullNumber, repo
search_codeFast and precise code search across ALL GitHub repositories using GitHub's native search engine. Best for finding exact symbols, functions, classes, or specific code patterns. read onlyanswer declaredquery, order, page, perPage, sort
search_issuesSearch for issues in GitHub repositories using issues search syntax already scoped to is:issue read onlyanswer declaredquery, order, owner, page, perPage, repo, sort
search_pull_requestsSearch for pull requests in GitHub repositories using issues search syntax already scoped to is:pr read onlyanswer declaredquery, order, owner, page, perPage, repo, sort
search_repositoriesFind GitHub repositories by name, description, readme, topics, or other metadata. Perfect for discovering projects, finding examples, or locating specific repositories across GitHub. read onlyanswer declaredquery, minimal_output, order, page, perPage, sort
search_usersFind GitHub users by username, real name, or other profile information. Useful for locating developers, contributors, or team members. read onlyanswer declaredquery, order, page, perPage, sort
sub_issue_writeAdd a sub-issue to a parent issue in a GitHub repository. act inferredissue_number, method, owner, repo, sub_issue_id, after_id, before_id, replace_parent
update_pull_requestUpdate an existing pull request in a GitHub repository. act inferredowner, pullNumber, repo, base, body, draft, maintainer_can_modify, reviewers
update_pull_request_branchUpdate the branch of a pull request with the latest changes from the base branch. act inferredowner, pullNumber, repo, expectedHeadSha

Command line alternative

None found. The published package declares no executable and no matching Homebrew formula exists, so the MCP server appears to be the only route. This is a negative result from automated checks, not a statement from the publisher.

Repository

Read from github on 2026-08-06.

Stars
31,988
Forks
4,734
Open issues
364
Primary language
Go
Licence
MIT
Last commit
2026-08-06
Latest release
v1.8.0
Created
2025-03-04
Repository files
readme, license, serverJson, dockerfile

Security, privacy and enterprise use

The publisher has not published a website, so there is no site to read policies from. For a server distributed only as source, the repository is the place to look.

Publisher

The publisher has not disclosed a website in their registry entry, so there is nothing to read a profile from.

Frequently asked questions

What does the GitHub MCP server do?
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Does GitHub run locally or as a hosted service?
Both options are published. You can run the package locally, or connect to the hosted endpoint if you would rather not install anything.
How do I install GitHub?
Point your client at the hosted endpoint https://api.githubcopilot.com/mcp/. No local install is needed.
Does GitHub need an API key?
No credentials are declared in the registry entry for GitHub. Check the source repository before assuming it runs without configuration.
Which transports does GitHub support?
stdio and streamable HTTP.
Where is the source code for GitHub?
The publisher lists https://github.com/github/github-mcp-server as the source repository.
Who publishes GitHub?
It is published under io.github.github, a community namespace tied to the GitHub account github. Community servers are not reviewed before they appear in the registry.
Which version of GitHub is listed here?
Version 1.12.0, taken from the latest registry entry.