A boilerplate MCP server with Stripe integration for paid tools and Google/Github authentication, deployed on Cloudflare Workers
Six tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. Tool names lack action verbs (add, calculate, check_payment_history are acceptable but onetime_add, subscription_add, metered_add are vague about what distinguishes them). Descriptions are present but generic (10-50 chars for most). Input schemas show types but lack descriptions for most parameters. No documented output schemas. Error handling and recovery guidance absent. Composition issues: three tools (onetime_add, subscription_add, metered_add) appear to duplicate add functionality with payment gating, should be unified with a payment_tier parameter instead.
This tool adds two numbers together.
This tool performs a calculation on two numbers.
This tool checks for active subscriptions and one-time purchases for the logged in user's Stripe customer ID.
Adds two numbers together for metered usage.
Adds two numbers together for one-time payment.
Adds two numbers together for paid subscribers.
Three tools (onetime_add, subscription_add, metered_add) duplicate add functionality with unclear naming. Names do not convey the payment model distinction, LLMs cannot infer when to use each variant. Should consolidate into single 'add' tool with payment_tier enum parameter.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields. E.g., check_payment_history returns unknown structure, does it include subscription_id, renewal_date, status? Agents must guess.
Parameter descriptions missing or trivial. 'a' and 'b' in add/calculate/onetime_add/subscription_add/metered_add have descriptions like 'First number', acceptable but minimal. check_payment_history has empty input schema with no documentation of what it returns or requires.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
No error handling or recovery guidance. Tools do not document failure modes (e.g., what if payment fails? What if user is not authenticated?). Agents have no guidance on retry logic or fallback strategies.
Tool descriptions do not explain prerequisites or when to call each tool. E.g., check_payment_history description does not state 'Call this before onetime_add to verify subscription status' or 'Requires authenticated user'. Agents cannot plan multi-step flows.