OAuth2 + JWKS service for Claude Desktop MCP integration with Streamable HTTP and SSE transport support
Two tools with minimal definitions. 'ping' and 'get_user_info' have basic descriptions (18 and 40 chars respectively) but lack parameter descriptions and output schema documentation. Input schemas are present but sparse. No error handling guidance, no parameter constraints, no composition hints. Naming is acceptable but descriptions fall well below the 50-200 char baseline for LLM-optimized tools. This server prioritizes OAuth/JWKS infrastructure over tool quality.
Returns information about the authenticated user
Returns a pong message to test connectivity
Tool descriptions are too short (18-40 chars vs 50-200 char baseline). 'ping' description lacks context for when/why to call it; 'get_user_info' does not explain what fields are returned or when to use it instead of other user lookups.
No parameter descriptions. The 'message' parameter in 'ping' has no description explaining its purpose or format. LLMs cannot infer whether it is optional, what format it expects, or what happens if omitted.
Output schemas not documented. Neither tool specifies what fields are returned, their types, or structure. LLMs cannot plan downstream calls or extract required data without seeing the response schema.
No error handling guidance. Tools do not document failure modes, recovery steps, or what errors are retryable. An LLM receiving a 500 error has no guidance on next steps.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | <=2025-11-25 | v2 |
Missing tool composition hints. 'get_user_info' returns no indication of what downstream tools can consume its output (e.g., does it return user_id for other calls?). Breaks tool chaining.