The pattern: you ship an MCP server, post about it once, get a handful of stars from people you already know, and then watch the repo go cold. Not because the tool is bad — because consistent distribution is a part-time job you didn't sign up for.
I built marketing-pipeline to handle the recurring parts without daily intervention.
Onboarding works in one command:
marketing onboard --name my-tool --repo owner/repo --kind mcp-server
That fetches your README, sends it to Claude, and writes problem, facts, and angles into projects.yml. For an MCP server specifically, it also hits the official MCP Registry, Smithery, and GitHub Topics — Glama and PulseMCP pull from the MCP Registry automatically, so one submission propagates further than one.
From there, a GitHub Actions cron at 14:00 UTC on weekdays runs marketing cycle, which rotates through every registered project × angle × channel and picks the least-recently-used angle. Posts go to Bluesky, Dev.to, Hashnode, and Mastodon. Per-channel length limits are enforced in code: 280 chars for X, 300 for Bluesky, 500 for Mastodon, 150–400 words for Dev.to and Hashnode.
The part I spent the most time on is pipeline/antislop.py. Before anything publishes, it hard-rejects a list of specific tokens: excited, game-changer, unlock, empower, AI-powered, emoji, hashtags, exclamation points, and rhetorical questions. I got tired of generated content that read like a product launch every time.
One caveat worth knowing: awesome-claude-code submission can't be automated. Their rules require a human to submit through their GitHub issue form. The pipeline generates the payload; you still have to click send once.
Top comments (0)