mcp-github
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GITHUB_PERSONAL_ACCESS_TOKEN | No | GitHub Personal Access Token (optional, can also be provided per request) |
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
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_or_update_fileC | Create or update a single file in a GitHub repository |
| search_repositoriesC | Search for GitHub repositories |
| create_repositoryC | Create a new GitHub repository in your account |
| get_file_contentsC | Get the contents of a file or directory from a GitHub repository |
| push_filesB | Push multiple files to a GitHub repository in a single commit |
| create_issueC | Create a new issue in a GitHub repository |
| create_pull_requestC | Create a new pull request in a GitHub repository |
| fork_repositoryC | Fork a GitHub repository to your account or specified organization |
| create_branchC | Create a new branch in a GitHub repository |
| list_commitsC | Get list of commits of a branch in a GitHub repository |
| list_issuesC | List issues in a GitHub repository with filtering options |
| update_issueC | Update an existing issue in a GitHub repository |
| add_issue_commentC | Add a comment to an existing issue |
| search_codeC | Search for code across GitHub repositories |
| search_issuesC | Search for issues and pull requests across GitHub repositories |
| search_usersC | Search for users on GitHub |
| get_issueC | Get details of a specific issue in a GitHub repository. |
| create_releaseC | Create a new release in a GitHub repository |
| list_releasesC | List releases for a GitHub repository |
| delete_releaseC | Delete a release from a GitHub repository |
| get_release_assetC | Get a release asset from a GitHub repository |
| upload_release_assetC | Upload an asset to a GitHub release |
| create_tagC | Create a new tag in a GitHub repository |
| create_pull_request_reviewC | Create a review for a pull request |
| submit_pull_request_reviewC | Submit a pull request review (approve, request changes, or comment) |
| dismiss_pull_request_reviewC | Dismiss a pull request review |
| create_commit_statusC | Create a status for a commit (build passed/failed, etc.) |
| get_commit_statusesC | Get statuses for a commit |
| get_combined_statusC | Get the combined status for a commit |
| get_rate_limitB | Check the current rate limit status |
| create_gistC | Create a new gist |
| list_gistsC | List gists for the authenticated user |
| get_gistB | Get a specific gist |
| list_projectsC | List projects for a repository |
| create_projectC | Create a new project for a repository |
| list_project_columnsC | List columns for a project |
| create_project_columnC | Create a new column for a project |
| create_project_cardC | Create a new card in a project column |
| list_org_packagesC | List packages for an organization |
| list_user_packagesC | List packages for a user |
| list_repo_packagesC | List packages for a repository |
| get_org_packageC | Get a package for an organization |
| get_user_packageC | Get a package for a user |
| get_repo_packageC | Get a package for a repository |
| get_pull_request_diffC | Get the diff for a pull request |
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 45 tools
Most tools have distinct purposes targeting specific GitHub resources and actions, but there is some overlap between search_issues and list_issues (both handle issues), and get_combined_status vs get_commit_statuses (both related to commit statuses). Descriptions help differentiate, but agents might occasionally misselect between these pairs.
Tool names follow a highly consistent verb_noun pattern throughout (e.g., create_issue, list_commits, search_code), with no mixing of conventions like camelCase or snake_case. This predictability makes it easy for agents to understand and use the toolset.
With 45 tools, this server feels overly heavy for a GitHub integration, as many tools could be consolidated or omitted without losing functionality. A typical well-scoped server has 3-15 tools; this exceeds that range significantly, potentially overwhelming agents and increasing complexity.
The toolset provides comprehensive coverage of GitHub's domain, including CRUD operations for issues, pull requests, repositories, projects, releases, and packages, along with search, status, and file management. No obvious gaps exist; agents can handle full workflows without dead ends.