GitHub

By thumbsupordown

MCP server for the GitHub API: manage repositories, files, issues, and pull requests, run code and repository searches, and automate common Git workflows.

Install GitHub

Published by
Official (vendor)
Transport
Remote (HTTP)
Authentication
OAuth

Claude Desktop, Claude Code and Cursor

Add this to the mcpServers object in your client's config file, then restart the client.

{
  "mcpServers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/"
    }
  }
}
VS Code uses a different key — show that config

Identical entry, filed under servers rather than mcpServers. Put it in .vscode/mcp.json for one workspace.

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

Before it will answer

OAuth in the browser on first use, with nothing to store. A personal access token in GITHUB_PERSONAL_ACCESS_TOKEN takes precedence over OAuth if set. GitHub Enterprise Cloud with data residency uses a different host — check your ghe.com endpoint.

Documentation ↗ Source ↗ Config checked against vendor docs August 25, 2026 · how we verify

Tools

add_issue_comment

Post a new comment on an existing issue or pull request in a repository.

create_branch

Create a new branch in a repository starting from a specified base branch or commit.

create_issue

Open a new issue in a repository, with optional assignees, labels, and a milestone.

create_or_update_file

Create a new file or update an existing file in a repository, automatically creating a branch when needed.

create_pull_request

Propose code changes by opening a pull request from one branch into another.

create_pull_request_review

Submit a review on a pull request, approving it or requesting changes with comments.

create_repository

Create and initialize a new GitHub repository under the authenticated account or an organization.

fork_repository

Create a personal fork (copy) of an existing repository into your own account.

get_file_contents

Retrieve the contents of a file or directory from a repository at a given path and ref.

get_issue

Retrieve full details for a specific issue in a repository by its number.

get_pull_request

Fetch the details of a specific pull request, including its diff information.

get_pull_request_comments

Retrieve the review comments that have been left on a specific pull request.

get_pull_request_files

List the files changed in a pull request along with their patches and statistics.

get_pull_request_reviews

Retrieve the reviews on a pull request, including reviewers and approval status.

get_pull_request_status

Get the combined status of all CI/CD checks and commit statuses on a pull request.

list_commits

List the commit history for a branch of a repository, with pagination support.

list_issues

List and filter the issues in a repository, with sorting and state options.

list_pull_requests

List and filter a repository's pull requests, with sorting and state options.

merge_pull_request

Merge an approved pull request using a chosen strategy such as merge, squash, or rebase.

push_files

Commit and push multiple files to a repository in a single operation on a given branch.

search_code

Search for code across GitHub repositories using GitHub's code search syntax.

search_issues

Search for issues and pull requests across GitHub that match the given criteria.

search_repositories

Search for GitHub repositories using a query string and return the matching repositories.

search_users

Search for GitHub users by username, profile attributes, or other qualifiers.

update_issue

Update an existing issue's title, body, state, labels, assignees, or other metadata.

update_pull_request_branch

Update a pull request branch by merging the latest changes from its base branch.

Want to create your own MCP server?

Create an account to add and manage your own MCP servers.