github-repo-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GITHUB_TOKEN | Yes | GitHub fine-grained personal access token with read-only Contents, Issues, Pull requests, and Actions permissions, scoped to the repos you want this server to access. |
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": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_repoB | Get metadata for a repo: description, stars, language, default branch, visibility. |
| list_reposA | List every repo in this server's allowlist, with basic metadata for each. |
| list_branchesB | List branches in a repo. |
| list_commitsA | List recent commits on a branch. |
| get_file_contentsB | Read a file's contents from a repo at a given ref. |
| list_issuesA | List issues in a repo, filterable by state, label, and assignee. |
| get_issueA | Get full detail for one issue, including its comment thread. |
| list_pull_requestsB | List pull requests in a repo, filterable by state and branch. |
| get_pull_requestA | Get detail for one PR: diff stats, mergeable state, and review status. |
| search_codeA | Search code within a single allowlisted repo. Note: GitHub's code search only indexes forks that have more stars than their parent repo, and can lag for low-activity repos - a 0-result response may mean 'not indexed yet' rather than 'no matches'. |
| get_workflow_runsA | Get recent GitHub Actions workflow run status (pass/fail) for a repo. |
| get_notificationsA | Get your unread GitHub notifications (mentions, review requests), filtered to repos in this server's allowlist. Requires the token's Notifications account permission - not required by other tools. |
| search_trending_reposA | Find trending repos for a topic across all of public GitHub, ranked by star count among repos created/pushed recently. This is a proxy for github.com/trending, which has no official API - it is not an exact match for that page's algorithm. Not restricted to the repo allowlist, since it searches public GitHub data at large. |
| pingA | Health check — returns pong plus the current server time. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| summarize_prs_for_review | Lists open PRs on a repo and summarizes what each one changes. |
| weekly_repo_digest | Summarizes a repo's commits, issues, PRs, and CI status from the last week. |
| whats_trending | Summarizes trending public repos for a GitHub topic. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Each tool has a clearly distinct purpose. Getter vs. list tools are separated by singular/plural semantics, and the two search tools differ by target (code within a repo vs. trending repos across GitHub). No two tools overlap in function.
All tool names use lowercase with underscores and follow a consistent verb_noun pattern (get_, list_, search_, ping). The pattern is predictable and easy to infer from the resource being accessed.
14 tools is well within the ideal range for a GitHub-focused server. Each tool covers a distinct resource or operation, and the count feels appropriate for the scope—not bloated, not too sparse.
The read-side surface is solid: repos, issues, PRs, branches, commits, files, workflows, notifications, and trending. However, there are no create/update/delete operations for any resource, which is a significant gap if the server is expected to support full issue/PR lifecycle management. Agents can work around this only if their tasks are read-only.