GitHub

A Go-based MCP server enabling AI agents to interact with GitHub data via a standardized interface.
  • go

0

GitHub Stars

go

Language

7 months ago

First Indexed

3 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": {
    "geropl-github-mcp-go": {
      "command": "./github-mcp-go",
      "args": [
        "serve"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_TOKEN_HERE"
      }
    }
  }
}

You run a GitHub MCP Server to let AI assistants interact with GitHub data—repositories, issues, pull requests, and more—through a standardized interface. This server is implemented in Go and focuses on safety with configurable write access and auto-approval options so you can tailor what your AI agents can do.

How to use

You connect an MCP client to the GitHub MCP Server and start by starting the server in read-only or write-enabled mode. In read-only mode, the server answers queries from tools that only read data. In write mode, you enable operations that modify remote repositories. Use the setup command to prepare the server for your chosen clients, then run the server with the desired access level.

How to install

Prerequisites: You need a GitHub Personal Access Token with appropriate permissions.

  1. Install a pre-built binary (example for Linux amd64): copy the binary, give it execute permissions, and run the setup with your desired options.

  2. Or build from source: clone the project, build the Go binary, and run it.

  3. Set your GitHub token in your environment before starting the server.

Security and setup notes

Security is designed around safety by default. Write access is disabled unless you explicitly enable it during setup. You can also specify fine-grained auto-approval options to control which tools are allowed to run without additional prompts.

Examples of setup patterns you can run during initial configuration:

  • Set up for read-only tools with auto-approval for read-only access.

  • Enable write access for tools that modify repositories when you are ready.

Usage patterns and tips

  • Run the server in read-only mode with the default safety settings for discovery and information retrieval.

  • Run the server with write access only when you need to perform changes to GitHub repositories.

  • Use the setup commands to pre-configure the MCP server for specific clients like cline or claude-desktop.

Troubleshooting and notes

If your token or credentials are not accepted, verify that the GitHub Personal Access Token has the required permissions and that you provided it to the server via the environment. Check that you are running the server with the intended write-access setting and that auto-approval is configured for the tools you plan to use.

Available tools

search_repositories

Search for GitHub repositories by keywords, language, or other filters.

create_repository

Create a new GitHub repository under your account.

fork_repository

Fork an existing GitHub repository into your account.

create_pull_request

Create a new pull request in a repository.

get_pull_request

Retrieve detailed information about a specific pull request.

get_pull_request_diff

Get the diff for a pull request.

get_file_contents

Fetch the contents of a file or directory in a repository.

create_or_update_file

Create a new file or update an existing file in a repository.

push_files

Push multiple files in a single commit.

create_issue

Create a new issue in a repository.

list_issues

List issues with filtering options.

update_issue

Update an existing issue.

add_issue_comment

Add a comment to an issue.

get_issue

Get details of a specific issue.

list_issue_comments

List comments on an issue.

list_branches

List branches in a repository.

get_branch

Get details about a specific branch.

create_branch

Create a new branch in a repository.

merge_branches

Merge one branch into another.

delete_branch

Delete a branch from a repository.

get_commit

Get details of a specific commit.

list_commits

List commits in a repository.

compare_commits

Compare two commits or branches to see changes.

get_commit_status

Get the combined status for a specific commit.

create_commit_comment

Add a comment to a specific commit.

list_commit_comments

List comments for a specific commit.

create_commit

Create a new commit directly in a repository.

search_code

Search for code across repositories.

search_issues

Search for issues and pull requests.

search_commits

Search for commits across repositories.

list_workflows

List all workflows in a repository.

get_workflow

Get detailed information about a specific workflow.

list_workflow_runs

List workflow runs for a repository or a specific workflow.

get_workflow_run

Get detailed information about a specific workflow run.

download_workflow_run_logs

Download and process logs for a workflow run.

list_workflow_jobs

List jobs for a workflow run.

get_workflow_job

Get detailed information about a specific job.

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