GitHub-MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GITHUB_TOKEN | Yes | GitHub Personal Access Token for API 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 | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| hello_worldA | A friendly greeting verifying GitHub-MCP is running. |
| get_user_profileB | Fetch a user's GitHub profile. Args: username: The exact GitHub username to look up. |
| list_user_repositoriesB | Fetch a user's repositories. Args: username: The exact GitHub username to look up. |
| get_repositoryA | Fetch details for a specific repository. Args: owner: The repository owner (username or organization). repo: The repository name. |
| get_repository_languagesB | Fetch language statistics for a repository. Args: owner: The repository owner. repo: The repository name. |
| analyze_developerC | Perform a comprehensive, deterministic analysis on a GitHub developer's profile and repositories. Args: username: The exact GitHub username to analyze. |
| compare_repositoriesA | Compare two GitHub repositories based on popularity, activity, and health. Args: owner1: The owner of the first repository. repo1: The name of the first repository. owner2: The owner of the second repository. repo2: The name of the second repository. |
| repository_healthB | Generate a repository health report with actionable recommendations. Args: owner: The repository owner. repo: The repository name. |
| recommend_repositoriesA | Recommend new repositories to a developer based on their interests. Args: username: The GitHub username to analyze. |
| list_repository_issuesA | List open issues for a repository (excluding pull requests). Args: owner: The repository owner. repo: The repository name. |
| get_issueB | Get details for a specific issue. |
| list_pull_requestsC | List pull requests for a repository. |
| get_pull_requestC | Get details for a specific pull request. |
| analyze_issueC | Perform a deterministic analysis on a GitHub Issue. |
| analyze_pull_requestC | Perform a deterministic analysis on a GitHub 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 15 tools
Each tool targets a distinct resource and action, but there is some potential confusion between analysis tools (e.g., analyze_issue vs get_issue) and retrieval tools. Overall, descriptions are clear enough to distinguish them.
Most tools follow a verb_noun pattern (get_, list_, analyze_, etc.), but 'hello_world' and 'repository_health' deviate from this convention. The naming is mostly consistent with minor exceptions.
With 15 tools, the server is at the upper edge of a well-scoped set. Each tool seems to serve a distinct purpose, though a few could potentially be consolidated without losing functionality.
The server provides good read and analysis operations for issues, PRs, repositories, and users, but lacks write operations like creating issues, merging PRs, or updating repositories. This limits its utility as a complete GitHub MCP server.