J NowThe MCP Registry is where tools like Claude Desktop discover servers. Smithery is where developers...
The MCP Registry is where tools like Claude Desktop discover servers. Smithery is where developers browse. GitHub Topics is where search lands. Getting listed in all three after shipping means three separate submissions, and most people skip at least two of them.
marketing onboard --name my-tool --repo owner/repo --kind mcp-server handles all three in one step. It reads your README, extracts the problem and facts via Claude, and saves them to projects.yml. The kind: mcp-server flag routes the project to the MCP Registry (which Glama and PulseMCP pull from automatically), Smithery, and GitHub Topics. After that, a daily cron at 14:00 UTC picks up your project and drafts posts for Bluesky, Mastodon, Dev.to, and Hashnode — rotating through angles so the same post doesn't repeat across channels.
The part I'm most opinionated about: before any post goes out, pipeline/antislop.py hard-rejects specific tokens. excited, game-changer, unlock, AI-powered, emoji, hashtags, exclamation points, rhetorical questions — all blocked. The gate exists because marketing copy that reads like a press release gets ignored, and ignored posts don't solve the distribution problem.
Per-channel length limits are also enforced: 300 chars for Bluesky, 280 for X, 500 for Mastodon, 150–400 words for Dev.to and Hashnode. Drafts that exceed the limit don't post.
One exception: awesome-claude-code requires a human to submit via their GitHub issue form. The pipeline generates the payload, but their rules block automation. Everything else runs without daily intervention.
Requires an Anthropic API key plus credentials for Bluesky, Dev.to, and Hashnode at minimum.
github.com/robertnowell/marketing-pipeline