Multi-component MCP server repository containing ALM Entitlements server (Python), GitHub MCP server (Go), and OpenTelemetry server (Python) for incident analysis and GitHub operations
6 tools with mixed quality. Tool naming follows verb_noun pattern (get_*, list_*, enable_*) which is good. However, descriptions vary widely in quality and actionability. Critical gaps: get_toolset_tools and enable_toolset have empty enum arrays in their 'toolset' parameter, making them non-functional for LLM selection. Several tools lack parameter descriptions entirely. No output schemas documented. Error handling and recovery guidance absent. Tool composition shows a discovery pattern (list_available_toolsets → get_toolset_tools → enable_toolset) but lacks clear chaining documentation.
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
get_toolset_tools and enable_toolset have empty enum arrays for 'toolset' parameter. LLMs cannot select valid values; tools are non-functional without populated enums.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., what does list_available_toolsets return? Is it an array of objects with 'name' and 'enabled' fields?).
Missing parameter descriptions for 'user' in get_teams. LLMs cannot infer whether to pass username, email, or user_id.
No error handling or recovery guidance. Tools lack actionable error messages (e.g., 'User not found. Try search_users() with a partial name'). Agents cannot self-correct on failures.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
Tool composition lacks chaining documentation. The discovery flow (list_available_toolsets → get_toolset_tools → enable_toolset) is implicit. Descriptions should state 'Call list_available_toolsets first to see available toolsets before calling this tool.'