Seed realistic demo content into any CMS so you can preview a theme with real-looking articles, images, galleries and video — instead of an empty install. MCP server + CLI. Ghost supported today; WordPress, Joomla, Drupal and Magento planned.
themeseed demonstrates solid tool design with clear naming (verb_noun pattern), comprehensive parameter descriptions, and well-documented schemas using Zod. All 9 tools have descriptions (avg ~150 chars) and input schemas with typed parameters. However, output schemas are not formally documented, responses are described as 'human-readable text plus structuredContent' but the structuredContent shape is not specified. Error handling lacks recovery guidance (no 'try X instead' patterns). Tool descriptions could be more concise (some exceed 200 chars). Missing tool annotations (readOnlyHint, destructiveHint) despite clear risk levels. No pagination support documented for list_sites or list_seeded despite potential for growth.
Registers a CMS and verifies the credentials before saving. For Ghost, credentials must contain adminApiKey in "<id>:<secret>" form (Ghost Admin → Settings → Integrations).
Inspects a site's active theme and reports what it can display: feature images and their aspect ratio, gallery and video card support, expected article length, whether tags and authors are shown. Returns evidence for each conclusion and a confidence score.
Write demo content to an importable file — no site or credentials needed. ghost → content-export.zip, wordpress → demo-content.xml (WXR).
Generates posts, sources images, and publishes them. Set studyTheme to read the active theme first and include only cards it can display; otherwise generic defaults are used and no theme is read. Every post gets a feature image and a body image; galleries and video embeds rotate across the run, and each is used only where the theme can style it. Images resolve from whichever provider keys are configured. Every post is tagged #themeseed so wipe_seeded can remove exactly this content later. Supply `titles` to use your own headlines instead of generated ones.
List content themeseed created on a site.
Output schemas not formally documented. Tools return 'human-readable text plus structuredContent' but the structuredContent field structure is not specified. LLMs cannot plan downstream operations without knowing what fields to extract.
Tool annotations missing. Despite clear risk levels (READ_ONLY, WRITE, DESTRUCTIVE), tools lack readOnlyHint, destructiveHint, and idempotentHint annotations. Agents cannot determine which tools are safe to retry or have side effects.
Error handling lacks recovery guidance. No tool description includes 'try X instead' or actionable next steps when operations fail. E.g., add_site should guide: 'If credentials fail, verify the adminApiKey format at Ghost Admin → Settings → Integrations.'
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2025-06-18+ | v2 |
Lists sites configured in ~/.themeseed/sites.json. Credentials are never returned.
Forgets a site from local configuration. Does not touch any content on the site itself.
Edit one existing post — attach, replace or remove its images. Useful for fixing a post that already exists — a missing hero, an unwanted one — rather than wiping and seeding again.
Delete everything themeseed created on a site (tagged #themeseed).
generate_posts and export_content descriptions exceed 200 chars (baseline p90=392 but readability degrades >200). Descriptions should be concise; move detailed examples to parameter descriptions.
No pagination support documented for list_sites or list_seeded. As site/content counts grow, these tools should support limit/offset or cursor-based pagination to avoid context window exhaustion.