The MCP Registry, Smithery, and GitHub Topics are where developers search for servers to use — but submitting to all three manually, then posting to Bluesky, Dev.to, Mastodon, and Hashnode, means four to seven separate workflows every time you ship something. Most builders do it once, half-heartedly, then watch the repo stagnate.
I built marketing-pipeline to collapse that into one command:
marketing onboard --name my-tool --repo owner/repo --kind mcp-server
It fetches your README, extracts the problem statement and key facts via Claude, saves everything to projects.yml, and immediately routes the project to type-appropriate directories. For mcp-server, that means the official MCP Registry (which Glama and PulseMCP pull from automatically), Smithery, and GitHub Topics — hit once at onboard time.
After that, a daily GitHub Actions cron at 14:00 UTC rotates through your projects and angles, drafts posts per channel (Bluesky at 300 chars, X at 280, Dev.to/Hashnode at 150–400 words), runs them through an antislop gate that hard-rejects emoji, hashtags, exclamation points, and tokens like "excited" or "AI-powered", and publishes.
The antislop gate is the part I'm most satisfied with. It lives in pipeline/antislop.py and runs before any post goes out. If a draft contains growth-marketing shorthand, it's rejected and regenerated — not flagged for human review, just blocked. The published posts read like a practitioner wrote them because the filter enforces that constraint mechanically.
One caveat worth naming: awesome-claude-code cannot be automated. Their submission rules require a human to open a GitHub issue via their form. The pipeline generates the payload; you paste it. One time per project.
Setup requires an Anthropic API key plus credentials for Bluesky, Dev.to, and Hashnode at minimum. Mastodon is optional.
Top comments (0)