MCP GitHub CrunchTools
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GITHUB_TOKEN | Yes | GitHub Personal Access Token | |
| GITHUB_API_URL | No | API base URL (set for GHES) | https://api.github.com |
| GITHUB_DEFAULT_ORG | No | Default owner when a tool omits owner |
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
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_issues_toolB | List issues for a GitHub repository (pull requests excluded). |
| get_issue_toolB | Get a single GitHub issue by number. |
| create_issue_toolC | Create a new issue in a GitHub repository. |
| create_issue_comment_toolC | Create a comment on a GitHub issue or pull request. |
| update_issue_toolA | Update a GitHub issue, including closing or reopening it. Set state="closed" to close an issue. Set state="open" with state_reason="reopened" to reopen. |
| list_pull_requests_toolC | List pull requests for a GitHub repository. |
| get_pull_request_toolC | Get a single GitHub pull request by number. |
| get_pull_request_diff_toolC | Get the unified diff for a GitHub pull request. |
| get_pull_request_checks_toolA | Get a CI verdict for a PR that distinguishes skipped from failed. Classifies every check-run and commit-status context into passed,
failing, pending, or skipped. SKIPPED checks are NOT failures. Use the
returned |
| update_pull_request_toolA | Update a GitHub pull request, including closing or reopening it. This does NOT merge. Set state="closed" to close a PR without merging. |
| get_file_content_toolB | Get the decoded text content of a file in a GitHub repository. |
| list_repo_tree_toolC | List the git tree (files and directories) of a GitHub repository. |
| search_code_toolB | Search for code across GitHub. Uses GitHub code search syntax (e.g., "addClass repo:jquery/jquery"). |
| search_issues_toolB | Search for issues and pull requests across GitHub. Uses GitHub issue search syntax (e.g., "is:open is:pr author:octocat"). |
| list_workflow_runs_toolC | List GitHub Actions workflow runs for a repository. |
| trigger_workflow_toolA | Trigger a fresh GitHub Actions run via the workflow_dispatch event. Use this to force a new build. Unlike rerun_workflow_run_tool (which
re-runs an existing run and is rejected by GitHub for runs older than 30
days), this starts a brand-new run regardless of when the workflow last
ran. The target workflow must declare an |
| rerun_workflow_run_toolB | Re-run all jobs in a GitHub Actions workflow run. |
| rerun_failed_jobs_toolB | Re-run only the failed jobs in a GitHub Actions workflow run. |
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 18 tools
Each tool targets a clearly distinct resource and action. The potential overlap between search_issues_tool and list_issues_tool is resolved by their descriptions (global search vs. per-repo listing that excludes PRs). Workflow and PR inspection tools are also well separated by specific purposes.
All 18 tool names follow a consistent snake_case verb_noun pattern with a uniform _tool suffix. Examples include get_issue_tool, list_pull_requests_tool, and trigger_workflow_tool, with no mixing of conventions.
With 18 tools, the set is slightly above the ideal 3–15 range but still reasonable for covering multiple GitHub subdomains: issues, PRs, Actions, code search, and repository files. No tool appears redundant or trivial.
The surface has significant gaps for a GitHub workflow: there is no create_pull_request_tool and no merge_pull_request_tool, making it impossible to open or merge a PR through this server. Other gaps include repository creation and branch operations, which will cause agent failures for common tasks.