GitHub Context MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| REPOS_FILE | No | Custom path to the repos.json file for persisting repository list. Defaults to 'dist/repos.json' next to the built script. | dist/repos.json |
| GITHUB_TOKEN | Yes | GitHub personal access token with repo scope (or public_repo for public repos only). Required for 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 | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_reposA | List all GitHub repositories currently saved in the repo list. |
| add_repoA | Add a GitHub repository to the saved list. The repo will be accessible in this and all future sessions. Use "owner/repo" format. The server will verify the repo exists and is accessible with your token. |
| remove_repoA | Remove a GitHub repository from the saved list. |
| get_repo_infoA | Get metadata for a repository (description, language, stars, default branch, etc.). |
| list_filesA | List files and directories at a given path inside a repository. |
| get_fileA | Get the content of a file from a repository. |
| search_codeA | Search for code within a specific repository using the GitHub code search API. |
| get_commitsB | Get recent commits for a branch or file path. |
| get_branchesB | List branches for a repository. |
| get_pull_requestsC | List pull requests for a repository. |
| get_issuesB | List issues for a repository. |
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 11 tools
Each tool has a clear, distinct purpose. Repository list management (list/add/remove) is separated from repository content exploration (files, code, commits, branches, PRs, issues). Even similar tools like list_files and get_file are easily differentiated by their descriptions.
All tools follow a consistent verb_noun pattern using snake_case (list_repos, add_repo, get_file, search_code). The verbs are simple and predictable, making it easy to infer functionality from the name.
With 11 tools, the server is well-scoped for providing GitHub repository context. Each tool serves a distinct need, and the count is within the ideal range for a focused server.
The server covers a broad range of read-only context operations: repo metadata, file listing/content, code search, commits, branches, PRs, and issues. Minor gaps exist such as missing single-resource getters (e.g., get_pull_request, get_issue) but the core context workflows are well covered.