- Home
- MCP servers
- GitHub
GitHub
- 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.
-
Install a pre-built binary (example for Linux amd64): copy the binary, give it execute permissions, and run the setup with your desired options.
-
Or build from source: clone the project, build the Go binary, and run it.
-
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.