Boundev's starter for shipping a remote MCP server on Cloudflare Workers — OAuth, Stripe-paid tools, sane defaults.
Server provides 6 tools with basic schemas and descriptions, but quality is inconsistent. Tool names lack clear action verbs (ping, word_count, account_status are weak; unlock_report, pro_insights, usage_meter are vague). Descriptions exist but are brief (avg ~60 chars, below 194-char baseline). Input schemas are present but sparse, most parameters lack detailed constraints, ranges, or format guidance. No output schemas documented. Error handling and recovery guidance absent. Security model relies on Stripe integration but no explicit permission gates or audit trail patterns visible in tool definitions.
Check the signed-in user's billing status: active subscriptions, recent one-time charges, and a billing-portal link.
Health check. Returns the server name, the signed-in user, and the current timestamp.
Detailed insights on a query. Pro subscription required.
Generate a one-off premium report on a topic. Single payment, no subscription.
Run a metered task. The first few calls are free; further calls are billed per use.
Count words, characters, and lines in a block of text.
Tool names lack action verbs. 'ping', 'account_status', 'usage_meter' do not clearly signal what action occurs. LLMs infer intent from names, weak names cause misselection.
No output schemas documented. Tools return data but LLMs cannot plan downstream calls or extract fields without knowing response structure. Violates pattern:tool and pattern:response-shaper.
Parameter descriptions lack constraints. 'topic' in unlock_report has no length/format guidance. 'depth' enum in pro_insights is good, but most params lack ranges, patterns, or validation rules.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
No error handling or recovery guidance in tool descriptions. If a tool fails, LLMs have no guidance on retry strategy, user-fixable vs fatal errors, or next steps.
Billing/payment tools (unlock_report, pro_insights, usage_meter) lack confirmation or dry-run patterns. Irreversible financial operations should support confirmation before execution.