GitHub

Github MCP Server
  • typescript

5

GitHub Stars

typescript

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "missionsquad-mcp-github": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "mcp/github"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

You can manage GitHub repositories programmatically through this MCP server. It enables file operations, repository creation, searching, issues, pull requests, and more via a consistent, scriptable interface. This makes automations, batch updates, and complex workflows simpler and auditable.

How to use

You connect to the GitHub MCP server from your MCP client and call the available tools to perform actions such as creating or updating files, pushing multiple files, creating issues or pull requests, forking repositories, and searching code or users. You can operate on specific repositories by providing the owner and repository name, along with the required inputs for each action. Branch handling is designed to maintain history and avoid disrupting existing workflows.

How to install

Prerequisites: you need a runtime capable of consuming MCP servers (your client). The official setup examples show two ways to run the GitHub MCP server from a development environment.

Additional setup and usage notes

Configuration is driven by environment variables and runtime commands. You can run the MCP server either via Docker or via NPX, depending on your preference for local development or integration into your toolchain. Use the provided environment variable for the GitHub Personal Access Token to authorize operations against GitHub.

Available tools

create_or_update_file

Create or update a single file in a repository by providing owner, repo, path, content, commit message, and branch. Returns the file content and commit details.

push_files

Push multiple files in a single commit to a branch, specifying owner, repo, branch, a list of files with path and content, and a commit message. Returns the updated branch reference.

search_repositories

Search for GitHub repositories using a query with optional pagination, returning repository search results.

create_repository

Create a new GitHub repository with a name, optional description, privacy setting, and auto initialization with a README.

get_file_contents

Retrieve contents of a file or directory from a repository, with an optional branch selector.

create_issue

Create a new issue in a repository, with optional assignees, labels, and milestone, returning the created issue details.

create_pull_request

Create a new pull request with a title, body, head and base branches, and optional draft and maintainer modification settings.

fork_repository

Fork a repository to a user or organization and return the forked repository details.

create_branch

Create a new branch in a repository, optionally from a specified source branch.

list_issues

List and filter issues in a repository by state, labels, sort, direction, and pagination.

update_issue

Update an existing issue with new title, body, state, labels, assignees, or milestone.

add_issue_comment

Add a comment to a specific issue and return the created comment details.

search_code

Search code across repositories with a query and optional sort/order/pagination, including repository context.

search_issues

Search for issues and pull requests with a query and optional sorting, ordering, and pagination.

search_users

Search for GitHub users with optional sorting, ordering, and pagination.

list_commits

List commits on a given branch of a repository with pagination and optional SHA filtering.

get_issue

Retrieve the details of a specific issue by number.

get_pull_request

Get details of a specific pull request, including diff and review status.

list_pull_requests

List pull requests with optional state, head/base filters, sorting, and pagination.

create_pull_request_review

Create a review on a pull request with a body, action, and optional commit and per-line comments.

merge_pull_request

Merge a pull request using a chosen method and optional commit titles/messages.

get_pull_request_files

Get the list of files changed in a pull request with patch and status details.

get_pull_request_status

Get the combined status checks for a pull request along with individual check details.

update_pull_request_branch

Update a pull request branch to incorporate the latest base branch changes, with an optional expected HEAD SHA.

get_pull_request_comments

Retrieve review comments on a pull request with author and location details.

get_pull_request_reviews

Retrieve reviews on a pull request, including state and body details.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational