GitHub

MCP server enabling file operations, repository management, search, and more for GitHub APIs.
  • typescript

0

GitHub Stars

typescript

Language

4 months ago

First Indexed

3 weeks 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": {
    "nermalcat69-zerops-mcp": {
      "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 through a dedicated MCP Server that exposes file operations, repo management, search, issues, PRs, and more. It automates common Git operations, preserves history, and supports batch actions, making it easier to integrate GitHub workflows into your MCP-enabled tooling.

How to use

You interact with the MCP server through an MCP client or integration that can send requests for file operations, repository management, searches, issues, and pull requests. Start by choosing a local runtime (stdio) or a remote HTTP endpoint depending on how you deploy the server. When you use the provided server, you gain automatic branch creation, robust error handling, and batch operation support for multi-file changes.

How to install

Prerequisites: you need Node.js or a runtime capable of running the MCP client, and Docker if you plan to run the server via a container. If you are using the provided Docker-based runtime, you will run a Docker container that hosts the MCP server endpoint.

Install and run the MCP server using one of the following configuration options. Use the one that matches your preferred deployment method.

{
  "mcpServers": {
    "github": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "mcp/github"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-github"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

Additional sections

Setup requires generating a GitHub Personal Access Token with appropriate scopes for repository access. You will supply this token to the MCP client or server runtime so it can authenticate with GitHub.

Build and run notes: if you use a container image, ensure the environment variable for the GitHub token is provided to the container. If you use NPX to run the server, the token must be passed through environment variables similarly.

Available tools

create_or_update_file

Create or update a single file in a repository with a commit message and optional branch. Returns file content and commit details.

push_files

Push multiple files in a single commit to a specific branch. Returns the updated branch reference.

search_repositories

Search for GitHub repositories using a query with pagination options.

create_repository

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

get_file_contents

Retrieve contents of a file or directory from a repository.

create_issue

Create a new issue in a repository with title, body, assignees, labels, and milestone.

create_pull_request

Create a new pull request with title, body, head and base branches, and optional draft/maintainer edit options.

fork_repository

Fork a repository to your account or an organization.

create_branch

Create a new branch from a source branch or default branch.

list_issues

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

update_issue

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

add_issue_comment

Add a comment to an issue with the body text.

search_code

Search for code across repositories using code search syntax with sorting and pagination.

search_issues

Search for issues and pull requests using GitHub search syntax with sorting and pagination.

search_users

Search for GitHub users using search syntax with sorting and pagination.

list_commits

Get commits for a branch in a repository with pagination.

get_issue

Retrieve details of a specific issue.

get_pull_request

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

list_pull_requests

List and filter pull requests by state, head, base, sort, and pagination.

create_pull_request_review

Create a review on a pull request with body, event, and optional line-specific comments.

merge_pull_request

Merge a pull request with optional merge method and commit details.

get_pull_request_files

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

get_pull_request_status

Get the combined status of all checks for a pull request.

update_pull_request_branch

Update a pull request branch with the latest changes from the base branch.

get_pull_request_comments

Get review comments on a pull request.

get_pull_request_reviews

Get the reviews on a pull request, including state and body.

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