A Model Context Protocol server that provides tools for interacting with GitHub APIs, including repository management, issues, pull requests, actions, and more.
Server has 6 tools with basic naming and descriptions, but significant gaps in schema completeness and parameter documentation. Tools 5-6 (get_toolset_tools, enable_toolset) have empty enum constraints in their 'toolset' parameter, making schemas incomplete. Descriptions are present but brief (avg ~100 chars, below the 194-char baseline). No documented output schemas visible. Error handling and recovery guidance absent. Tool composition is reasonable (single responsibility), but parameter descriptions lack detail on constraints, formats, and valid ranges.
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
Get details of the authenticated GitHub user. Use this when a request is about the user's own profile for GitHub. Or when information is missing to build other tool calls.
Get member usernames of a specific team in an organization. Limited to organizations accessible with current credentials
Get details of the teams the user is a member of. Limited to organizations accessible with current credentials
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
Tools 5-6 have empty enum constraints: 'toolset' parameter declares enum:[] with no valid values. This makes the schema incomplete and forces LLMs to guess valid toolset names.
No documented output schemas for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., what fields does get_me return? What structure does list_available_toolsets return?).
Parameter descriptions lack constraint details. 'user' in get_teams says 'Username to get teams for' but does not specify format, length, or whether it accepts email/ID. 'org' and 'team_slug' similarly lack format guidance.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
No error handling or recovery guidance. Tools lack descriptions of failure modes (e.g., 'User not found. Try search_users() with a partial name'). Agents cannot self-correct on failures.
Tool descriptions are brief (avg ~100 chars vs 194-char baseline). Missing WHEN to use each tool and dependencies. E.g., list_available_toolsets says 'use this when a task could be achieved with a GitHub tool' but does not explain the workflow (list → get_toolset_tools → enable_toolset).