GitHub MCP Server

A Model Context Protocol (MCP) server built in TypeScript that integrates with GitHub's API, enabling AI assistants to manage repositories, issues

Local serverstdio

What is the GitHub MCP Server?

A Model Context Protocol (MCP) server built in TypeScript that integrates with GitHub's API, enabling AI assistants to manage repositories, issues, pull requests

What it actually does

A Model Context Protocol (MCP) server that provides tools for interacting with the GitHub API. This server allows LLM agents manage GitHub repositories, issues, pull requests, branches, files, and releases through a standardized interface.

github-mcp-server implements the Model Context Protocol (MCP), enabling standardized communication between LLMs and external systems through:

Configuration

  • Node.js (v16 or newer) - A GitHub personal access token with appropriate permissions

More MCP options

Compare MCP servers by category, or browse hosted MCP servers if you prefer an endpoint over a local process.

Maintainer setup documentation.

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
get_repositoryGet detailed information about a specific repository Parameters: owner, repo
list_repositoriesList repositories for the authenticated user Parameters: type (optional), sort (optional)
create_repositoryCreate a new GitHub repository Parameters: name, description (optional), private (optional)
list_branchesList branches in a repository Parameters: owner, repo, protected (optional), per_page (optional)
create_branchCreate a new branch Parameters: owner, repo, branch, sha
delete_branchDelete a branch Parameters: owner, repo, branch
create_issueCreate a new issue in a repository Parameters: owner, repo, title, body (optional), labels (optional)
list_issuesList issues in a repository Parameters: owner, repo, state (optional), labels (optional)
create_pull_requestCreate a new pull request Parameters: owner, repo, title, head, base, body (optional)
merge_pull_requestMerge a pull request Parameters: owner, repo, pull_number, commit_title (optional), commit_message (optional), merge_method (optional)
update_pull_requestUpdate an existing pull request Parameters: owner, repo, pull_number, title (optional), body (optional), state (optional), base (optional), maintainer_can_modify (optional)
list_pull_requestsList pull requests in a repository Parameters: owner, repo, state (optional), head (optional), base (optional), sort (optional), direction (optional)
update_fileCreate or update a file in a repository Parameters: owner, repo, path, message, content, sha (optional), branch (optional)
create_releaseCreate a new release Parameters: owner, repo, tag_name, name (optional), body (optional), draft (optional), prerelease (optional)

How to install the GitHub MCP Server

{
  "mcpServers": {
    "github": {
      "command": "node",
      "args": ["/path/to/github-mcp-server/build/index.js"],
      "env": {
        "GITHUB_TOKEN": "your_github_personal_access_token",
        "LOG_LEVEL": "info",
        "SERVER_NAME": "github-mcp-server"
      }
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

  • Node.js (v16 or newer) - A GitHub personal access token with appropriate permissions
VariableDescriptionRequired
GITHUB_TOKENCredential the server authenticates with.Yes
LOG_LEVELConfiguration value read at startup.Optional
SERVER_NAMEConfiguration value read at startup.Optional

Example prompts to try

  • “Use GitHub to get repository.”
  • “Use GitHub to list repositories.”
  • “Use GitHub to create repository.”

Frequently asked questions

No. This repository is deprecated. Please use the official GitHub MCP server at github/github-mcp-server.