A GitHub MCP server that handles various tools and resources for interacting with GitHub repositories, issues, pull requests, users, and security features.
Critical failures across all dimensions. Of 39 tools, 35 have ZERO visible input schemas (tools 5-39 show 'Input: {}' with no properties). Only 4 tools (get_me, enable_toolset, list_available_toolsets, get_toolset_tools) have documented schemas. Descriptions vary wildly: get_me has 95 chars (good), but 35 tools lack descriptions entirely or are inferred from names only. No output schemas documented. No error handling guidance. Tool composition is reasonable (verb_noun naming), but schema and description deficits are disqualifying.
Enable one of the sets of tools the GitHub MCP server provides, use get_toolset_tools and list_available_toolsets first to see what this will enable
35 of 39 tools have NO visible input schemas (Input: {} with no properties).
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 34 | <=2025-11-25 | v2 |
Get details of the authenticated GitHub user. Use this when a request include "me", "my"...
Lists all the capabilities that are enabled with the specified toolset, use this to get clarity on whether enabling a toolset would help you to complete a task
List all available toolsets this GitHub MCP server can offer, providing the enabled status of each. Use this when a task could be achieved with a GitHub tool and the currently available tools aren't enough. Call get_toolset_tools with these toolset names to discover specific tools you can call
35 of 39 tools lack descriptions entirely. Without one, LLMs cannot determine when or why to select the tool.' This prevents LLM tool selection.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields without knowing response structure. LLMs need to know what fields to expect.'
No error handling guidance visible. Tools do not document what errors can occur, whether they are retryable, or what the LLM should do next.
Destructive tools (create_repository, delete operations, merge_pull_request) lack confirmation/dry-run patterns.