GitHub MCP Server

Note: This project was extracted from modelcontextprotocol/servers to create a standalone implementation.

Local serverstdioMIT

What is the GitHub MCP Server?

GitHub MCP Server is an MCP project maintained in the s2005/mcp-github-server repository. The maintainer describes its purpose as “Note: This project was extracted from modelcontextprotocol/servers to create a standalone implementation”. Read the project documentation for the complete scope.

Local setup

The project provides a local client configuration using docker. Follow the repository’s build and installation steps before copying it, and replace example paths with the paths on your own computer.

Configuration values

The example declares GITHUB_PERSONAL_ACCESS_TOKEN. Secret-looking values have been replaced with placeholders. Required and optional labels are shown only when the documentation states them.

Source

Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
Inputs:owner (string): Repository owner
branchstring): Name for new branch
shaoptional string): branch name
ReturnsArray of pull request reviews with details like the review state (APPROVED, CHANGES_REQUESTED, etc.), reviewer, and review body
pageoptional number): Page number
perPageoptional number): Results per page (max 100)
privateoptional boolean): Whether repo should be private
autoInitoptional boolean): Initialize with README
titleoptional string): New title
bodystring): Comment text
assigneesoptional string[]): New assignees
labelsoptional string[]): New labels
milestoneoptional number): New milestone number
headoptional string): Filter by head user/org and branch
baseoptional string): Filter by base branch
draftoptional boolean): Create as draft PR
maintainer_can_modifyoptional boolean): Allow maintainer edits
organizationoptional string): Organization to fork to
from_branchoptional string): Source branch (defaults to repo default)
stateoptional string): Filter by state ('open', 'closed', 'all')
sortoptional string): Sort by ('created', 'updated', 'popularity', 'long-running')
directionoptional string): Sort direction ('asc', 'desc')
sinceoptional string): Filter by date (ISO 8601 timestamp)
per_pageoptional number): Results per page (max 100)
orderoptional string): Sort order ('asc' or 'desc')
commit_idoptional string): SHA of commit to review
commentsoptional array): Line-specific comments, each with:
commit_titleoptional string): Title for merge commit
commit_messageoptional string): Extra detail for merge commit
merge_methodoptional string): Merge method ('merge', 'squash', 'rebase')
expected_head_shaoptional string): The expected SHA of the pull request's HEAD ref

How to install the GitHub MCP Server

{
  "mcpServers": {
    "github": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "mcp/github"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_GITHUB_PERSONAL_ACCESS_TOKEN"
      }
    }
  }
}

From the project documentation. Replace placeholders and example paths before connecting.

Configuration

VariableDescriptionRequired
GITHUB_PERSONAL_ACCESS_TOKENDeclared in the maintainer’s client configuration.Check documentation