Express.js web application for automating marketing across multiple platforms with AI-powered post generation, Reddit research, and Stripe billing integration
This server has critical definition gaps across all dimensions. Tool names lack action verbs (research-reddit, generate-post are acceptable but inconsistent with verb_noun convention). Descriptions are present but generic (avg ~80 chars, below 194-char baseline). Input schemas exist but lack parameter descriptions entirely, every parameter is undescribed, violating the 100% A+ baseline. Output schemas are completely undocumented. Error handling is minimal (demo fallbacks instead of actionable recovery guidance). No security annotations, no pagination support, no idempotent hints. The server is a basic Express app with no MCP protocol implementation visible.
Create Stripe checkout session - initiates a Stripe payment checkout for subscription plan upgrades
Generate post with AI - creates marketing content for a specified platform and topic using DeepSeek AI API
Get pricing - retrieves available pricing plans (Free, Pro, Agency) with features and pricing information
Health check - returns server status and current timestamp
Research Reddit subreddit - fetches subreddit metadata including subscriber count, active users, and description
No parameter descriptions in any tool. All 5 tools have input schemas with type definitions but zero descriptions for parameters (subreddit, topic, platform, tone, plan). LLMs cannot infer parameter meaning from names alone.
Output schemas completely undocumented. No tool declares what fields it returns or their types. Agents cannot plan downstream calls or extract required data (e.g., does research-reddit return subscriber_count or subscribers?).
Error handling returns demo fallbacks instead of actionable recovery guidance. research-reddit and generate-post catch errors and return success=true with demo content, preventing agents from understanding failures or retrying correctly.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 29 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). create-checkout-session is marked WRITE but has no destructiveHint annotation. Agents cannot determine safe retry boundaries.
Secrets exposed in code. DEEPSEEK_API_KEY and STRIPE_SECRET_KEY are environment variables but fallback to demo values ('sk-demo'). If env vars are missing, the server silently degrades instead of failing loudly.