Zero-dependency social media copywriting engine, thread splitter, campaign exporter, and Model Context Protocol (MCP) server for multi-platform social media management.
17 tools with complete schemas and descriptions, but significant gaps in error handling, parameter validation, and output documentation. Most tools lack actionable error messages and recovery guidance. Descriptions are adequate (avg ~150 chars) but lack dependency hints and prerequisites. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all being read-only operations. Parameter enums present for platform/style/format choices, but missing for framework options and numbering_format. Output schemas not documented, LLMs cannot plan downstream calls or extract structured data reliably.
Score engagement potential and readability of social media posts with metrics including Flesch Reading Ease, power words, emoji count, CTA detection, and viral readiness scoring.
Transform alphanumeric characters into styled Unicode typography (bold, italic, monospace, script, double-struck, sans-serif, underline, strikethrough).
Build platform-specific UTM URLs with pre-configured defaults for Twitter, LinkedIn, Facebook, Instagram, TikTok, and other social platforms.
Build UTM-tagged URLs for campaign tracking with source, medium, campaign, content, and term parameters.
Scan social media post text for sensitive content triggers (spoilers, politics, health/medical, flashing visuals, NSFW) and suggest Content Warning (CW) labels for Mastodon and BlueSky.
Comprehensive accessibility audit combining alt-text evaluation, content warning detection, and redundancy cleaning for social media posts.
No output schemas documented. LLMs cannot infer return structure, field types, or chaining IDs. Tools like analyze_engagement, generate_hooks, and export_campaign return complex objects but provide no schema guidance.
Missing error handling and recovery guidance. No tool documents what errors can occur, whether they are retryable, or what the LLM should do next. E.g., generate_hooks with invalid framework should guide to valid options.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All 17 tools are read-only but lack explicit annotation. Agents cannot distinguish safe-to-retry operations from destructive ones.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
Audit alt-text accessibility against WCAG 2.2 standards with platform-specific character limits, redundancy detection, and quality scoring (AAA/AA/A/FAIL grades).
Export social media campaign schedules to multiple formats (JSON, CSV with platform presets, Markdown, plain text) supporting Buffer, Hootsuite, Typefully, and generic scheduling platforms.
Core post formatting engine that formats and styles social media posts with platform-specific character limits, optional Unicode typography styles, and hashtag management.
Generate multiple UTM-tagged links for a single campaign across different platforms and content variations.
Generate high-converting viral hooks and headlines using proven copywriting frameworks (AIDA, PAS, Before-After-Bridge, Curiosity Gap, Pattern Interrupt).
Generate a self-hosted HTML redirect page that forwards to a UTM-tagged URL, useful for creating short, memorable vanity URLs.
Retrieve MCP client configuration snippets for integrating Omnipost with Claude, other AI clients, and development tools.
Retrieve server diagnostics including platform limits, supported styles, available frameworks, and system information.
Remove or clean tracking parameters from URLs to improve privacy and reduce URL clutter (removes fbclid, gclid, msclkid, utm_source, etc.).
Split long copy into optimal thread segments with platform-specific character limits, sentence/word-level splitting, and optional numbering.
Automatically detect and tag all URLs in a social post with UTM parameters for a specific platform and campaign.
Parameter enums incomplete. 'framework' in generate_hooks accepts 'all' but no enum constraint shown. 'numbering_format' in split_thread lacks enum. Free-form strings invite hallucinated values.
Descriptions lack dependency hints and prerequisites. E.g., tag_post_links should note 'Requires URLs to be present in post_text' and suggest format_post if none exist. No guidance on tool sequencing.