1-click deployment and monetization for MCP servers and APIs with x402 payments
This is a TypeScript MCP server published as a library (@nirholas/x402-deploy) with a calculator example. The 6 calculator tools (add, subtract, multiply, divide, power, sqrt) have consistent structure but significant definition gaps. Descriptions are present but minimal (10-30 chars), barely meeting the threshold. All tools declare input schemas with proper type definitions (number) and parameter descriptions. However, output schemas are completely undocumented, the response structure is never specified. The examples show zero error handling strategy or guidance for recovery. Tool naming follows verb_noun convention (add, subtract) which is good, but descriptions are so terse they provide almost no context for LLM selection. This server is typical of a proof-of-concept or example implementation, not production-grade. The library itself (x402-deploy) is focused on deployment and monetization orchestration, not core MCP quality. Estimated 549-baseline comparison: descriptions average ~18 chars (well below p10=34), all params have type hints (good), but no output documentation (0/100 for schemas). This is solidly in the C-to-D range.
Add two numbers
Divide two numbers
Multiply two numbers
Raise a number to a power
Calculate square root
Subtract two numbers
Tool descriptions are critically short and lack context. 'Add two numbers' (18 chars) provides no guidance on when to use add vs other tools, prerequisites, or output format. Baseline avg is 194 chars; these are 10% of expected length.
Output schemas are entirely undocumented. Tools return responses but the response structure (e.g., { result: number }) is never specified. LLMs cannot plan downstream calls or extract results without guessing.
No error handling strategy or recovery guidance. Divide by zero is mathematically undefined, what does the tool return? 'Infinity'? An error code? An agent has no way to know how to proceed.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 48 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 49 | - | v1 |
Tool 'sqrt' lacks standard verb_noun naming convention. Should be 'calculate_sqrt' or 'square_root'. Single-word verb names are ambiguous.
Parameter descriptions are minimal but present. Example: 'First number' (12 chars) vs baseline param avg of 72 chars. Descriptions should hint at valid ranges, formats, or constraints ('A positive or negative number').