MCP aggregator server that provides authentication and credential management for downstream MCP servers
Muster is an OAuth aggregator MCP server with 2 tools. While tool names follow verb_noun conventions (auth_login, auth_logout), the definitions are severely lacking. Tool descriptions are present but minimal (16-17 characters each, below the 20-character hard floor). Input schemas are visible in the source code but lack depth: parameter descriptions are present but formulaic, and there is no documented output schema. The tools handle OAuth flow state (an inherently stateful operation) without clear documentation of what data is returned or how to handle OAuth errors. No error handling guidance, no parameter validation rules, and no composition patterns evident. The risk labels (WRITE) are noted but not explained to the agent. This server appears to be a custom OAuth orchestration layer for aggregating multiple MCP server connections, a niche but legitimate use case, yet the tool definitions do not guide an LLM through the authentication lifecycle or explain when to use login vs. logout.
Initiates OAuth login flow for a specific MCP server
Logs out from an authenticated MCP server and revokes OAuth tokens
Tool descriptions are under 20 characters, failing the hard floor for description quality. 'Initiates OAuth login flow for a specific MCP server' (51 chars) and 'Logs out from an authenticated MCP server and revokes OAuth tokens' (65 chars) are present but extremely terse and lack guidance on when to use each tool, prerequisites, or what happens after invocation.
No documented output schema for either tool. The source code does not show what auth_login returns (a token? a session ID? OAuth code?), how the LLM should use it, or what fields to expect. This violates the requirement that LLMs must know what fields to expect so they can plan downstream calls.
No error handling guidance. OAuth flows are failure-prone (expired tokens, network timeouts, user cancellations, scope mismatches). The tool definitions do not explain what errors the LLM should expect or how to recover. For example, if auth_login fails because the user denies consent, should the agent retry? Call a different tool? Ask the user?
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-21 | F | 45 | 2025-06-18+ | v2 |
| 2026-03-09 | D | 53 | - | v1 |
Parameter descriptions are minimal and formulaic. 'The name of the MCP server to authenticate to (required)' does not explain what valid server names are, how to discover them, or what happens if the server name is invalid. 'Whether to reset the OAuth client registration' does not explain when an LLM should set this flag or what 'reset' entails.
No parameter constraints documented. The 'server' parameter accepts a string with no enum, pattern, or validation guidance. This invites the LLM to pass invalid server names and fail silently. There is no way for an LLM to discover valid servers or validate its input before invoking the tool.
No guidance on the OAuth flow lifecycle. An LLM does not know: Does auth_login block until user approval? Does it return an intermediate token to poll? Does it trigger a browser popup? These details are essential for orchestrating a multi-step OAuth flow.
Tool composition unclear. The server provides auth_login and auth_logout, but no tools to actually use the authenticated connection (e.g., call_authenticated_server, list_authenticated_servers). The LLM cannot reason about how to chain authentication with downstream work.