OAuth 2.1 authorization server for MCP in one readable file — RFC 7591 dynamic client registration, PKCE (S256), RS256/JWKS, RFC 8414/9728 discovery, and a scope-protected MCP endpoint.
Both tools have minimal definitions. 'whoami' and 'read-secret' lack parameter descriptions (both have empty input schemas {}), lack detailed tool descriptions (both under 50 chars), and lack documented output schemas. No error handling guidance, no parameter validation rules, no security annotations beyond the risk field. Tool names are verb-based but descriptions are too terse to guide LLM selection. This server prioritizes OAuth infrastructure over tool usability.
Read the protected demo secret.
Who is the authenticated user?
No input schemas defined. Both tools declare input: {} with no properties, types, or parameter descriptions.
Tool descriptions are under 50 characters and lack context. 'Who is the authenticated user?' and 'Read the protected demo secret.' do not explain when to call these tools, what they return, or how they differ from similar operations.
No output schema documentation. LLMs cannot infer what fields whoami and read-secret return, preventing downstream tool chaining and field extraction.
No error handling guidance. If authentication fails or the secret is inaccessible, the tools provide no recovery hints or actionable error messages.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | <=2025-11-25 | v2 |
No scope or permission documentation. Tools are marked READ_ONLY but do not declare required OAuth scopes (e.g., 'whoami:read', 'read-secret:read') in their definitions.