A demonstration MCP server that implements bearer token authentication for remote MCP servers running on Cloudflare Workers
Two tools with minimal definitions. 'add' has a clear verb-noun name and basic schema with typed parameters (a, b as numbers), but description is generic (10 chars). 'getToken' violates security best practices by exposing a bearer token as tool output, this should never be a tool. Both tools lack output schema documentation. Parameter descriptions are present but terse. No error handling guidance. No pagination, no idempotent hints, no recovery paths. Schemas are present but incomplete (no output types documented).
Adds two numbers together
Returns the user's bearer token (demonstration purposes only)
getToken tool exposes bearer token in response, violating secret-injection pattern. Credentials must never appear in tool output, they enter LLM context and logs.
Tool descriptions are under 20 characters ('Adds two numbers together' is 26 chars but lacks context on when/why to use). Descriptions should be 50 - 200 chars and answer: what, when, prerequisites.
No output schemas documented. LLMs cannot plan downstream calls or extract fields without knowing response structure. Both tools return text content but no formal schema.
getToken naming is weak. 'getToken' is generic; should be verb_noun like 'retrieve_bearer_token' or 'fetch_user_token'. Current name does not convey the security risk.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 39 | 2026-07-28+ | v2 |
No error handling guidance. If 'add' receives non-numeric input or 'getToken' fails to retrieve a token, there is no recovery path or actionable error message for the LLM.