The official boilerplate for bootstrapping MCP servers on Cloudflare Workers with OAuth, Stripe monetization, and OpenAI Apps SDK integration
All 5 tools have minimal descriptions (13-20 chars) and identical single-parameter schemas. Tool names lack action verbs (pizzaz-* instead of show_*, render_*, or display_*). No parameter descriptions provided. No output schemas documented. No error handling guidance. Schemas are present but trivial (single string param, no constraints). This is a template/example server with placeholder implementations, not production-grade tooling.
Show Pizza Album
Show Pizza Carousel
Show Pizza List
Show Pizza Map
Show Pizza Video
Tool names lack action verbs. All 5 tools use 'pizzaz-*' prefix without clear verb (show, render, display, get). LLMs cannot infer intent from names alone.
Descriptions are 13-20 characters (below 34-char p10 baseline). 'Show Pizza Map' and similar are too terse to guide LLM selection. No context on when/why to use each tool.
Parameter 'pizzaTopping' has no description. LLMs cannot determine what values are valid, expected format, or constraints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 39 | 2026-07-28+ | v2 |
No output schemas documented. Tool responses return text 'Rendered a pizza map!' with no structured data. LLMs cannot extract or chain results.
No error handling or recovery guidance. Tools return hardcoded success text with no validation of pizzaTopping input or failure modes.