github-mcp-plus
Provides comprehensive tools for interacting with the GitHub API, including repository management, issues, pull requests, organization management, keys and webhooks, DevOps & infrastructure, enterprise compliance, and GitHub Actions monitoring.
Allows triggering workflows and listing check runs for refs, enabling monitoring and management of GitHub Actions.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@github-mcp-plus list my open pull requests"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π github-mcp-plus π
An enhanced, open-source developer friendly, Node.js-based implementation of the official GitHub Model Context Protocol (MCP) Server.
This version runs purely on Node.js and can be easily executed using npx. It includes 100+ elite tools covering every major GitHub workflow β from enterprise administration to deployment management β making it the most comprehensive GitHub MCP server available.
Ultimate Tool for GSoC, Enterprise & Open-Source Contributors. Manage organizations, sync forks, check CI status, audit enterprise logs, handle SSH keys, and star projects β all via your AI assistant.
β¨ Why github-mcp-plus?
Feature | Official (Docker) | github-mcp-plus |
Setup | Docker required |
|
Tool Count | ~40 | 101 (Elite) |
Enterprise Admin | β | β |
DevOps (Deployments) | β | β |
Packages Management | β | β |
SSH/GPG Key Mgmt | β | β |
Org/Team Membership | β | β |
Fork Synchronization | β | β |
Gist Management | β | β |
Related MCP server: GitHub Prod MCP
π οΈ The "Big 100" Elite Toolset
π Repository & Context (26 tools)
Fork repos, sync with upstream, manage branches, and explore file trees recursively.
sync_fork,fork_repository,create_branch,get_repository_tree,search_code,star_repository, etc.
π¬ Issues & Pull Requests (22 tools)
Complete PR lifecycle management including diffs and inline review comments.
add_pr_review_comment,submit_pr_review,get_pr_diff,merge_pull_request,list_pr_files, etc.
π’ User & Organization Management (13 tools)
Manage profiles, track team memberships, and follow/unfollow users.
list_orgs_for_authenticated_user,list_org_teams,list_org_members,follow_user,get_me, etc.
π Keys & Webhooks (11 tools)
Handle security identities and automated integrations.
add_public_ssh_key_for_authenticated_user,add_gpg_key_for_authenticated_user,create_repo_webhook, etc.
π DevOps & Infrastructure (5 tools)
Monitor deployments, list packages, and manage codespaces.
create_deployment,list_deployments,list_packages_for_org,list_codespaces_for_authenticated_user, etc.
βοΈ Enterprise & Compliance (3 tools)
Audit logs and enterprise-level management for large organizations.
get_enterprise,list_enterprise_audit_log.
βοΈ GitHub Actions & Monitoring (8 tools)
Trigger workflows and monitor site-wide notifications or code scanning alerts.
actions_run_trigger,list_check_runs_for_ref,list_notifications_for_authenticated_user, etc.
π Installation Guides
π§βπ Antigravity / Claude Desktop
Add this to your mcp_config.json:
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "-q", "github-mcp-plus@latest"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your-github-token"
}
}
}
}π» Cursor / Windsurf
Add a new command-type server:
Command:
npx -y -q github-mcp-plus@latestEnv:
GITHUB_PERSONAL_ACCESS_TOKEN
π¨βπ» Local Development
Clone the repository.
Run
npm installBuild & Run:
npm run build
GITHUB_PERSONAL_ACCESS_TOKEN="your-token" node build/index.jsπ License
MIT
Available Tools
73 toolsactions_listB
Lists all GitHub Actions workflows in a repository
Inputs: repo (required), owner (required).
actions_run_triggerB
Trigger a GitHub Actions workflow run
Inputs: ref (required), repo (required), owner (required), workflow_id (required), +1 more.
add_gpg_key_for_authenticated_userB
Add a GPG key for the authenticated user
Inputs: armored_public_key (required), name.
add_issue_commentA
Add a comment to an issue or pull request
Inputs: body (required), repo (required), owner (required), issue_number (required).
add_labelB
Add labels to an issue or pull request
Inputs: repo (required), owner (required), labels (required), issue_number (required).
add_pr_review_commentB
Add a review comment to a pull request (inline comment on a specific file/line)
Inputs: body (required), path (required), repo (required), owner (required), +4 more.
add_public_ssh_key_for_authenticated_userB
Add a public SSH key for the authenticated user
Inputs: key (required), title.
create_branchB
Create a new branch from an existing reference (branch, tag, or SHA)
Inputs: repo (required), owner (required), branch (required), from_branch.
create_deploymentC
Create a deployment for a repository
Inputs: ref (required), repo (required), owner (required), task, +7 more.
create_gistB
Create a new gist (public or secret)
Inputs: files (required), public, description.
create_issueC
Create an issue in a repository
Inputs: repo (required), owner (required), title (required), body, +2 more.
create_or_update_fileC
Create or update a file in a repository
Inputs: path (required), repo (required), owner (required), content (required), +3 more.
create_pull_requestB
Create a pull request in a repository
Inputs: base (required), head (required), repo (required), owner (required), +3 more.
create_releaseD
Create a GitHub Release
Inputs: repo (required), owner (required), tag_name (required), body, +4 more.
create_repositoryB
Create a new repository for the authenticated user
Inputs: name (required), private, auto_init, description.
create_repo_webhookD
Create a webhook for a repository
Inputs: repo (required), owner (required), config (required), name, +2 more.
delete_fileC
Delete a file from a repository
Inputs: sha (required), path (required), repo (required), owner (required), +2 more.
follow_userC
Follow a user
Inputs: username (required).
fork_repositoryC
Fork a repository to your account
Inputs: repo (required), owner (required), organization.
get_commitB
Get details of a specific commit including files changed
Inputs: ref (required), repo (required), owner (required).
get_commit_diffC
Get the raw diff of a Commit
Inputs: ref (required), repo (required), owner (required).
get_enterpriseC
Get information for a specific enterprise
Inputs: enterprise (required).
get_file_contentsB
Get the contents of a file or directory in a repository
Inputs: path (required), repo (required), owner (required), branch.
get_latest_releaseC
Get the latest release of a repository
Inputs: repo (required), owner (required).
get_meA
Get the authenticated user
Inputs: no named parameters.
get_orgC
Get an organization's profile
Inputs: org (required).
get_pr_commentsC
List all review comments on a pull request
Inputs: repo (required), owner (required), pull_number (required), page, +1 more.
get_pr_diffB
Get the raw diff of a Pull Request
Inputs: repo (required), owner (required), pull_number (required).
get_pull_requestA
Get detailed information about a specific pull request (includes status like mergeable)
Inputs: repo (required), owner (required), pull_number (required).
get_repositoryA
Get detailed information about a specific repository (including parent if it's a fork)
Inputs: repo (required), owner (required).
get_repository_treeA
Get the full file tree of a repository (recursive listing of all files)
Inputs: repo (required), owner (required), branch.
issue_readC
Read an issue or pull request in a repository
Inputs: repo (required), owner (required), issue_number (required).
list_branchesC
List branches in a repository
Inputs: repo (required), owner (required), page, per_page.
list_check_runs_for_refA
List check runs for a specific reference (branch, SHA, or tag) to see CI/CD status
Inputs: ref (required), repo (required), owner (required).
list_code_scanning_alerts_for_repoC
List code scanning alerts for a repository
Inputs: repo (required), owner (required), ref, state.
list_codespaces_for_authenticated_userC
List codespaces for the authenticated user
Inputs: page, per_page, repository_id.
list_commitsC
List commits on a repository branch
Inputs: repo (required), owner (required), sha, page, +3 more.
list_contributorsB
List contributors to a repository
Inputs: repo (required), owner (required), page, per_page.
list_deploymentsC
List deployments for a repository
Inputs: repo (required), owner (required), ref, sha, +4 more.
list_emails_for_authenticated_userC
List email addresses for the authenticated user
Inputs: page, per_page.
list_enterprise_audit_logC
List audit log entries for an enterprise
Inputs: enterprise (required), page, phrase, per_page.
list_gistsB
List gists for the authenticated user
Inputs: page, per_page.
list_gpg_keys_for_authenticated_userC
List GPG keys for the authenticated user
Inputs: page, per_page.
list_issue_commentsB
List comments on an issue or pull request
Inputs: repo (required), owner (required), issue_number (required), page, +1 more.
list_issuesC
List issues in a repository with optional filters
Inputs: repo (required), owner (required), page, sort, +4 more.
list_notifications_for_authenticated_userB
List notifications for the authenticated user
Inputs: all, since, before, participating.
list_org_membersC
List members of an organization
Inputs: org (required), page, role, per_page.
list_orgs_for_authenticated_userB
List organizations the authenticated user is a member of
Inputs: page, per_page.
list_org_teamsC
List teams in an organization
Inputs: org (required), page, per_page.
list_packages_for_orgB
List packages for an organization
Inputs: org (required), package_type (required), visibility.
list_pr_filesB
List the files changed in a pull request
Inputs: repo (required), owner (required), pull_number (required), page, +1 more.
list_public_ssh_keys_for_authenticated_userA
List public SSH keys for the authenticated user
Inputs: page, per_page.
list_pull_requestsB
List pull requests in a repository
Inputs: repo (required), owner (required), page, sort, +3 more.
list_releasesC
List releases for a repository
Inputs: repo (required), owner (required), page, per_page.
list_repo_invitationsC
List invitations for a repository
Inputs: repo (required), owner (required), page, per_page.
list_repo_webhooksB
List webhooks for a repository
Inputs: repo (required), owner (required), page, per_page.
list_stargazersB
List users who have starred a repository
Inputs: repo (required), owner (required), page, per_page.
list_starred_repositoriesA
List repositories starred by the authenticated user (or another user)
Inputs: page, per_page, username.
list_tagsC
List tags in a repository
Inputs: repo (required), owner (required), page, per_page.
merge_pull_requestC
Merge a pull request in a repository
Inputs: repo (required), owner (required), pull_number (required), commit_title, +2 more.
remove_labelA
Remove a label from an issue or pull request
Inputs: name (required), repo (required), owner (required), issue_number (required).
search_codeC
Search for code across GitHub repositories
Inputs: query (required), page, per_page.
search_issuesC
Search for issues across GitHub repositories
Inputs: query (required), page, sort, order, +1 more.
search_repositoriesC
Search for repositories on GitHub
Inputs: query (required), page, perPage.
search_usersC
Search for GitHub users
Inputs: query (required), page, per_page.
star_repositoryC
Star a repository
Inputs: repo (required), owner (required).
submit_pr_reviewB
Submit a review on a pull request (approve, request changes, or comment)
Inputs: repo (required), event (required), owner (required), pull_number (required), +1 more.
sync_forkA
Sync a fork with its upstream repository (merge default branch of upstream into current fork)
Inputs: repo (required), owner (required), branch (required).
unfollow_userC
Unfollow a user
Inputs: username (required).
unstar_repositoryC
Unstar a repository
Inputs: repo (required), owner (required).
update_authenticated_userC
Update the authenticated user's profile
Inputs: bio, blog, name, email, +3 more.
update_issueA
Update an existing issue (title, body, state, labels, assignees)
Inputs: repo (required), owner (required), issue_number (required), body, +4 more.
update_pull_requestB
Update an existing pull request (title, body, state, base)
Inputs: repo (required), owner (required), pull_number (required), base, +3 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogβ¦
TDQS
Scored across 73 tools
Many tools are distinct, but several have overlapping boundaries, e.g., issue_read vs get_pull_request, list_pr_files vs get_pr_diff, and add_issue_comment vs add_pr_review_comment. Descriptions help clarify some, but the large number of similar tools creates significant potential for misselection.
The vast majority follow a consistent verb_noun pattern (get_, list_, create_, update_, delete_). However, a few deviations like actions_list and actions_run_trigger break the pattern, and get_pr_diff is inconsistent with the more common list_/get_ pairing.
At 73 tools, this server far exceeds the typical well-scoped count. While it covers many GitHub API endpoints, the sheer number makes the toolset unwieldy and likely to overwhelm agents, especially with many niche features (enterprise, codespaces, SSH keys) that could be omitted or bundled.
The toolset covers repositories, branches, commits, issues, pull requests, releases, gists, users, organizations, webhooks, deployments, and more, providing extensive lifecycle coverage. Minor gaps exist (e.g., no delete branch, no list labels, no delete gist), but the overall surface is remarkably complete for GitHub operations.
Related MCP Connectors
Manage repositories, users, releases, and automate GitHub workflows
Create, deploy, and operate MCP servers directly from your GitHub repositories.
GitHub MCP β wraps the GitHub public REST API (no auth required for public endpoints)
A MCP server built for developers enabling Git based project management with project and personalβ¦
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that wraps the GitHub CLI to provide comprehensive access to repository management, pull requests, issues, and workflows. It enables users to perform complex GitHub operations and interact with the GitHub API through a standardized interface.267 npm1ISC
- AlicenseCqualityDmaintenanceA production-ready MCP server for GitHub operations, providing tools for repository management, issues, pull requests, and more via both MCP stdio and REST API.27MIT
- FlicenseNot gradedqualityAmaintenanceA GitHub MCP server that wraps the gh CLI to expose GitHub operations like issues, pull requests, branches, labels, repositories, CI actions, and Projects V2 as tools for MCP clients.-
- AlicenseNot gradedqualityBmaintenanceMCP server providing maximum practical control over GitHub via REST and GraphQL APIs, exposing 22 tools for repository management, file operations, issues, PRs, Actions, and more.MIT