GitHub MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GITHUB_PERSONAL_ACCESS_TOKEN | Yes | GitHub Personal Access Token with appropriate repository permissions |
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. |
| get_pull_requestC | Get details of a specific pull request |
| list_pull_requestsC | List and filter repository pull requests |
| create_pull_request_reviewC | Create a review on a pull request |
| merge_pull_requestC | Merge a pull request |
| get_pull_request_filesC | Get the list of files changed in a pull request |
| get_pull_request_statusC | Get the combined status of all status checks for a pull request |
| update_pull_request_branchB | Update a pull request branch with the latest changes from the base branch |
| get_pull_request_commentsC | Get the review comments on a pull request |
| get_pull_request_reviewsC | Get the reviews on a pull request |
| create_projectC | Create a new project in a GitHub repository |
| get_projectC | Get details about a specific project |
| delete_issueC | Delete an issue from a GitHub repository using GraphQL API |
| update_projectC | Update an existing project's details |
| list_projectsC | List all projects in a GitHub repository |
| create_project_columnC | Create a new column in a project |
| list_project_columnsC | List all columns in a project |
| update_project_columnC | Update an existing project column |
| delete_project_columnC | Delete a project column |
| add_card_to_columnC | Add a new card to a project column |
| list_column_cardsC | List all cards in a project column |
| move_cardC | Move a card to a different position or column |
| delete_cardC | Delete a card from a project |
| list_organization_projectsB | List all projects in a GitHub organization (at organization level, not repository level) |
| list_organization_projects_v2C | List projects V2 in a GitHub organization using GraphQL API |
| get_project_v2C | Get details of a GitHub project V2 using GraphQL API |
| create_project_v2C | Create a new GitHub project V2 using GraphQL API |
| update_project_v2C | Update a GitHub project V2 using GraphQL API |
| add_item_to_project_v2C | Add an issue or pull request to a GitHub project V2 using GraphQL API |
| list_project_v2_itemsC | List items in a GitHub project V2 using GraphQL API |
| update_project_v2_item_fieldC | Update a field value for an item in a GitHub project V2 using GraphQL API |
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 47 tools
Most tools have distinct purposes targeting specific GitHub resources and actions, such as add_card_to_column vs. move_card. However, some overlap exists between project-related tools (e.g., create_project vs. create_project_v2) and search tools (search_code, search_issues, search_repositories, search_users), which could cause minor confusion. Descriptions help clarify, but the sheer number of tools increases cognitive load.
Tool names follow a highly consistent verb_noun pattern throughout, such as create_issue, get_file_contents, and list_pull_requests. There are no deviations in style (e.g., no camelCase mixed in), making the naming predictable and readable. This consistency aids in understanding and using the tool set effectively.
With 47 tools, the count is borderline high for a GitHub server, feeling heavy and potentially overwhelming. While GitHub is a broad domain, this many tools might indicate over-specialization or fragmentation. A more streamlined set could improve usability without sacrificing functionality, as some tools could be consolidated.
The tool set provides comprehensive coverage of GitHub's core functionalities, including repositories, issues, pull requests, projects, files, and search. It supports full CRUD/lifecycle operations (e.g., create, get, update, delete for issues and projects) and handles advanced workflows like project management and pull request reviews. No obvious gaps are present for the intended domain.