GithubMCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TRANSPORT | No | Default transport mode: "stdio" or "sse" | stdio |
| GITHUB_TOKEN | Yes | GitHub Personal Access Token (Classic PAT with 'repo', 'workflow', 'read:user' scopes) | |
| ALLOWED_PATHS | No | Sandboxed directories allowed for local filesystem operations | ["~/projects", "~/workspace", "."] |
| GITHUB_USERNAME | No | Default GitHub username (optional) | |
| MAX_FILE_SIZE_MB | No | Max file size limit in MB for reading files | 10 |
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 |
|---|---|
| search_reposA | Search GitHub repositories matching query, optional language filter, and sort order. |
| inspect_prA | Fetch pull request details including changed files, diff stats, additions/deletions, and review comments. |
| inspect_issueA | Fetch issue details including assignees, state, labels, linked PRs, and recent comments. |
| search_codeA | Search code across specified repositories matching pattern and optional file extension filter. |
| recent_commitsA | Fetch recent commits for a repository branch within lookback days with commit stats. |
| update_repo_visibilityA | Update the privacy/visibility settings of a repository to make it private or public. |
| check_ci_statusA | Check current build status (success/failure/in_progress), duration, log URL, and summary of failed steps for GitHub Actions. |
| read_fileA | Read file contents securely within allowed directories with MIME type detection and size validation. |
| list_directoryB | List directory structure, files, subdirectories, sizes, and modification dates with optional depth limit and glob filter. |
| search_local_filesA | Search local directory files for text matching pattern with line numbers and surrounding context. |
| get_project_contextB | Detect project type (Node, Python, Rust, Go, Docker), key config files, sample dependencies, and suggested dev commands. |
| generate_change_summaryA | Compare base and head git refs for a repository and generate a human-readable summary categorized by Features, Fixes, Breaking Changes, and Config Updates. |
| analyze_code_qualityA | Analyze file metrics (line counts, comment ratio, complexity estimate), TODO/FIXME comments, and potential security smells (hardcoded secrets). |
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 13 tools
Each tool targets a distinct resource and action: repository search, code search, local file search, PR/issue inspection, CI status, and file analysis are clearly separated. The three search tools differ by target, and read/list/analyze local tools have unambiguous boundaries.
Most tools follow a verb_noun snake_case pattern like search_repos, inspect_pr, read_file, and update_repo_visibility. The main inconsistency is recent_commits, which uses adjectival naming rather than an imperative verb, and get_project_context breaks the simple verb-noun pattern slightly.
13 tools is a well-scoped count for the apparent purpose of reading and analyzing GitHub repositories alongside local project inspection. Every tool has a clear, non-redundant job and the set feels dense without being bloated.
There is strong coverage for inspecting and analyzing repos, PRs, issues, CI, and local code, and generate_change_summary provides a useful diff workflow. However, as a GitHub MCP server it lacks list/create/update operations for PRs and issues, forcing agents to know IDs in advance and making common collaborative workflows impossible.