GitHub MCP Server

A Model Context Protocol (MCP) server for seamless integration with the GitHub API, providing advanced automation and interaction capabilities for developers and AI tools.

15k Stars
157 Watching
1k Forks

Unlock the Full Potential of GitHub

Connect your AI agents and development tools directly to the GitHub ecosystem for powerful automation workflows.

Automate Workflows

Automate repetitive GitHub tasks, from issue management to pull request reviews and repository maintenance.

Analyze Data

Extract and analyze valuable data from repositories, commits, issues, and user activity for insights.

Build AI Tools

Create intelligent applications and agents that interact with the GitHub ecosystem in novel ways.

Quick Start

Integrate the server with your favorite tools. You'll need Docker installed and a GitHub Personal Access Token with the required permissions.

Manual Installation

Add the following JSON to your user settings file (Ctrl+Shift+P -> `Preferences: Open User Settings (JSON)`).

JSON
{
"mcp": {
  "inputs": [
    {
      "type": "promptString",
      "id": "github_token",
      "description": "GitHub Personal Access Token",
      "password": true
    }
  ],
  "servers": {
    "github": {
      "command": "docker",
      "args": [ "run", "-i", "--rm", "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", "ghcr.io/github/github-mcp-server" ],
      "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}" }
    }
  }
}
}

Comprehensive Tool API for Github MCP Server

A rich set of tools to interact with every aspect of GitHub, from repositories and issues to security alerts and user management.

Users

get_me

Get detailed information for the authenticated user.

No parameters

search_users

Search for GitHub users.

qsortorderpageperPage

Issues

get_issue

Get detailed content of an issue in a repository.

ownerrepoissue_number
create_issue

Create a new issue in a GitHub repository.

ownerrepotitlebodyassigneeslabels
list_issues

List and filter repository issues.

ownerrepostatelabelssortdirectionsincepageperPage
update_issue

Update an existing issue.

ownerrepoissue_numbertitlebodystatelabelsassigneesmilestone

Pull Requests

get_pull_request

Get detailed information for a specific pull request.

ownerrepopullNumber
create_pull_request

Create a new pull request.

ownerrepotitlebodyheadbasedraftmaintainer_can_modify
merge_pull_request

Merge a pull request.

ownerrepopullNumbercommit_titlecommit_messagemerge_method
list_pull_requests

List and filter a repository's pull requests.

ownerrepostatesortdirectionperPagepage

Repositories

get_file_contents

Get the contents of a file or directory.

ownerrepopathref
create_or_update_file

Create or update a single file in a repository.

ownerrepopathmessagecontentbranchsha
list_branches

List branches in a GitHub repository.

ownerrepopageperPage
create_branch

Create a new branch.

ownerrepobranchsha

Code & Secret Scanning

list_code_scanning_alerts

List code scanning alerts for a repository.

ownerreporefstateseveritytool_name
list_secret_scanning_alerts

List secret scanning alerts for a repository.

ownerrepostatesecret_typeresolution

Notifications

list_notifications

List notifications for a GitHub user.

filtersincebeforeownerrepopageperPage
mark_all_notifications_read

Mark all notifications as read.

lastReadAtownerrepo