Unified MCP server exposing 42+ lazymac developer APIs (REST + MCP) — Cloudflare Workers backend, sub-200ms, free tier
Critical failures across all 41 tools. Every tool uses an identical, severely underspecified input schema: {"type":"object","properties":{"params":{"type":"object","description":"Free-form params object"}}}. This violates the core requirement that parameters must have types and descriptions. No tool has documented output schemas. Descriptions are present but generic (50-150 chars), lacking actionable guidance on when to use each tool or what it returns. Tool names lack action verbs (e.g., 'ai_cost_calculator' vs 'calculate_ai_cost'). No parameter validation, no error recovery guidance, no idempotency hints. The server exposes 41 tools but provides almost no machine-readable structure for LLM reasoning.
Allocate AI budget per team, threshold alerts, weekly digest reports
Estimate token cost across GPT-4 / Claude / Gemini / Haiku — compare 30+ models
Real-time status / latency / incident feed for OpenAI / Anthropic / Google
Track and forecast AI provider rate limits across all API keys
Track AI spending across OpenAI / Anthropic / Google with budgets and alerts
Pre-flight token counting for GPT-4 / Claude / Gemini before requests
HEX/RGB/HSL/CMYK conversion, harmonies, WCAG contrast, gradients
All 41 tools use identical, underspecified input schema with no typed parameters. Schema is {"type":"object","properties":{"params":{"type":"object","description":"Free-form params object"}}}. This violates the requirement that every parameter must have a type and description. LLMs cannot infer what parameters each tool accepts or validate input.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 35 | 2026-07-28+ | v2 |
Cron expression parser — explain, validate, generate, next runs
Real-time signals: SMA, RSI, MACD, Bollinger for 100+ pairs
FIFO/LIFO/Average cost basis, multi-exchange, DeFi, staking
JSON / CSV / XML conversion, flatten, filter, sort, aggregate
LCS-based text diffing, unified patch generate / apply
8-layer email validation — syntax / MX / disposable / typo correction
Generate fake names, emails, addresses, JSON for testing
102 Google Fonts metadata, 35 curated pairings, CSS generation
IP → country, city, coordinates, timezone, ISP, ASN
Auto-infer schemas, validate, generate TypeScript, mock data, diffs
Korean address geocoder + reverse geocoder (road / lot)
Korean address normalize, parse, validate, geocode, postal code
Validate Korean BRN (사업자등록번호), corp registration, phones
Korean company lookup by business registration number
KRW exchange rate + BOK base rate + CPI (real-time + history)
Korean financial data — KOSPI / KOSDAQ, stocks, FX, Kimchi Premium
Korean government data in English — weather, FX, holidays, transport
50+ LLM models with real-time pricing per token
Auto-pick cheapest LLM (GPT-4 / Claude / Haiku) that meets your quality bar
Markdown ↔ HTML, TOC extraction, link extraction, linting
Entropy, crack-time, common-password check (zxcvbn alt)
SVG / PNG placeholders, avatar initials, geometric patterns
Optimize prompts for cost, quality, and consistency
Prompt injection / jailbreak / PII detection for LLM inputs
Generate QR codes (PNG/SVG) for URLs, vCards, WiFi, email, SMS
Test, match, explain, and generate regex patterns in plain English
Page-level SEO audit — meta tags, headings, links, alt text
Solidity vuln scan — reentrancy, overflow, access control
7 valuation methods (DCF, Berkus, Scorecard, VC, comparables)
Detect 150+ technologies on any URL — BuiltWith alternative
Sentiment, readability, keyword extraction, language detection
400+ city timezone converter, DST-aware, meeting planner
Shorten URLs with click tracking, geo stats, sub-10ms redirects
Capture, store, and replay webhook payloads — debug integrations
No output schemas documented for any tool. LLMs cannot plan downstream tool calls or extract required fields (e.g., IDs for chaining). Responses are opaque.
Tool names lack action verbs. Names like 'ai_cost_calculator', 'regex_toolkit', 'json_schema_validator' are noun-heavy. Should be 'calculate_ai_cost', 'test_regex', 'validate_json_schema'. LLMs rely on verb-first naming to infer intent.
Descriptions are generic and lack actionable guidance. E.g., 'Estimate token cost across GPT-4 / Claude / Gemini / Haiku, compare 30+ models' does not explain what parameters are required, what the output contains, or when to use this vs llm_pricing. No recovery hints for errors.
No error handling guidance. Tools accept free-form params but provide no validation, no error classification (retryable vs fatal), and no recovery hints. LLMs cannot self-correct on invalid input.