github-mcp-plus
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GITHUB_PERSONAL_ACCESS_TOKEN | Yes | Your GitHub personal access token for authentication |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_file_contentsB | Get the contents of a file or directory in a repository |
| create_or_update_fileC | Create or update a file in a repository |
| delete_fileC | Delete a file from a repository |
| search_repositoriesC | Search for repositories on GitHub |
| create_repositoryB | Create a new repository for the authenticated user |
| fork_repositoryC | Fork a repository to your account |
| create_branchB | Create a new branch from an existing reference (branch, tag, or SHA) |
| list_branchesC | List branches in a repository |
| list_commitsC | List commits on a repository branch |
| get_commitB | Get details of a specific commit including files changed |
| get_repository_treeA | Get the full file tree of a repository (recursive listing of all files) |
| list_contributorsB | List contributors to a repository |
| search_codeC | Search for code across GitHub repositories |
| search_usersC | Search for GitHub users |
| star_repositoryC | Star a repository |
| unstar_repositoryC | Unstar a repository |
| list_stargazersB | List users who have starred a repository |
| list_starred_repositoriesA | List repositories starred by the authenticated user (or another user) |
| get_repositoryA | Get detailed information about a specific repository (including parent if it's a fork) |
| sync_forkA | Sync a fork with its upstream repository (merge default branch of upstream into current fork) |
| create_issueC | Create an issue in a repository |
| issue_readC | Read an issue or pull request in a repository |
| update_issueA | Update an existing issue (title, body, state, labels, assignees) |
| list_issuesC | List issues in a repository with optional filters |
| search_issuesC | Search for issues across GitHub repositories |
| add_issue_commentA | Add a comment to an issue or pull request |
| list_issue_commentsB | List comments on an issue or pull request |
| add_labelB | Add labels to an issue or pull request |
| remove_labelA | Remove a label from an issue or pull request |
| create_pull_requestB | Create a pull request in a repository |
| update_pull_requestB | Update an existing pull request (title, body, state, base) |
| merge_pull_requestC | Merge a pull request in a repository |
| list_pull_requestsB | List pull requests in a repository |
| list_pr_filesB | List the files changed in a pull request |
| add_pr_review_commentB | Add a review comment to a pull request (inline comment on a specific file/line) |
| get_pr_commentsC | List all review comments on a pull request |
| submit_pr_reviewB | Submit a review on a pull request (approve, request changes, or comment) |
| get_pull_requestA | Get detailed information about a specific pull request (includes status like mergeable) |
| actions_listB | Lists all GitHub Actions workflows in a repository |
| actions_run_triggerB | Trigger a GitHub Actions workflow run |
| list_check_runs_for_refA | List check runs for a specific reference (branch, SHA, or tag) to see CI/CD status |
| get_pr_diffB | Get the raw diff of a Pull Request |
| get_commit_diffC | Get the raw diff of a Commit |
| create_releaseD | Create a GitHub Release |
| list_releasesC | List releases for a repository |
| get_latest_releaseC | Get the latest release of a repository |
| list_tagsC | List tags in a repository |
| create_gistB | Create a new gist (public or secret) |
| list_gistsB | List gists for the authenticated user |
| get_meA | Get the authenticated user |
| update_authenticated_userC | Update the authenticated user's profile |
| list_emails_for_authenticated_userC | List email addresses for the authenticated user |
| follow_userC | Follow a user |
| unfollow_userC | Unfollow a user |
| list_orgs_for_authenticated_userB | List organizations the authenticated user is a member of |
| get_orgC | Get an organization's profile |
| list_org_membersC | List members of an organization |
| list_org_teamsC | List teams in an organization |
| list_public_ssh_keys_for_authenticated_userA | List public SSH keys for the authenticated user |
| add_public_ssh_key_for_authenticated_userB | Add a public SSH key for the authenticated user |
| list_gpg_keys_for_authenticated_userC | List GPG keys for the authenticated user |
| add_gpg_key_for_authenticated_userB | Add a GPG key for the authenticated user |
| list_repo_webhooksB | List webhooks for a repository |
| create_repo_webhookD | Create a webhook for a repository |
| get_enterpriseC | Get information for a specific enterprise |
| list_enterprise_audit_logC | List audit log entries for an enterprise |
| list_deploymentsC | List deployments for a repository |
| create_deploymentC | Create a deployment for a repository |
| list_packages_for_orgB | List packages for an organization |
| list_codespaces_for_authenticated_userC | List codespaces for the authenticated user |
| list_notifications_for_authenticated_userB | List notifications for the authenticated user |
| list_code_scanning_alerts_for_repoC | List code scanning alerts for a repository |
| list_repo_invitationsC | List invitations for a repository |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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.