github-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GITHUB_TOKEN | Yes | GitHub personal access token. Required for authentication. Add it to the env section of your MCP server configuration. |
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 |
|---|---|
| list_reposB | List your GitHub repositories |
| get_repoA | Get details about a specific repository |
| list_branchesC | List branches in a repository |
| create_branchC | Create a new branch in a repository |
| delete_branchC | Delete a branch from a repository |
| get_fileB | Get the contents of a file from a repository |
| create_or_update_fileC | Create or update a file in a repository |
| delete_fileC | Delete a file from a repository |
| list_directoryA | List contents of a directory in a repository |
| list_issuesC | List issues in a repository |
| get_issueC | Get a specific issue |
| create_issueC | Create a new issue |
| update_issueC | Update an existing issue |
| comment_on_issueC | Add a comment to an issue or pull request |
| list_pull_requestsC | List pull requests in a repository |
| get_pull_requestC | Get details of a specific pull request |
| create_pull_requestC | Create a new pull request |
| merge_pull_requestC | Merge a pull request |
| list_workflowsB | List GitHub Actions workflows in a repository |
| list_workflow_runsC | List recent runs for a workflow |
| trigger_workflowC | Manually trigger a GitHub Actions workflow |
| search_codeB | Search for code across your GitHub repositories |
| search_issuesC | Search issues and pull requests across repositories |
| list_commitsC | List commits in a repository |
| create_repoC | Create a new GitHub repository |
| get_authenticated_userA | Get info about the authenticated GitHub user |
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 26 tools
Each tool targets a distinct resource-action pair, such as list_repos vs get_repo vs create_repo. Even similar tools like get_issue and get_pull_request operate on different object types with clear descriptions.
All tools use snake_case with a consistent verb_noun pattern: list_* for listings, get_* for retrieval, create_* for creation, and delete_*/merge_*/trigger_* for actions. There are no mixed conventions or vague verbs.
With 26 tools, the server is larger than the typical 3-15 scope, but GitHub's broad API justifies this size. Every tool serves a distinct purpose with no redundancy, so the count feels appropriate for the domain.
The server covers core GitHub workflows: repository, branch, file, issue, pull request, workflow, search, and user operations. Minor gaps like updating or deleting repositories are missing, but agents can work around them using existing tools.