Publishing an MCP server to npm or GitHub and waiting for adoption is a losing strategy. The official MCP Registry, Smithery, Glama, PulseMCP, and GitHub Topics all index separately, and hitting each one manually — then remembering to post to Bluesky, Dev.to, and Mastodon — is an afternoon you lose once and then never repeat.
So I built marketing-pipeline to do the recurring work.
Onboarding a new project is 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, and writes them to projects.yml. From that point, a daily GitHub Actions cron at 14:00 UTC rotates through your registered projects, picks the least-recently-used angle, drafts channel-appropriate posts, and publishes them — Bluesky (≤300 chars), X (≤280), Mastodon (≤500), Dev.to and Hashnode (150–400 words with code blocks). The kind: mcp-server flag routes the launch step to the MCP Registry (which Glama and PulseMCP pull from automatically), Smithery, and GitHub Topics.
The part I spent the most time on: an antislop gate in pipeline/antislop.py that hard-rejects any draft containing 'excited', 'game-changer', 'unlock', 'AI-powered', emoji, hashtags, or exclamation points before anything gets published. Every MCP tool announcement sounds identical right now. This was my attempt to not add to that.
One caveat worth naming: awesome-claude-code can't be automated. Their rules require a human to submit via their GitHub issue form. The pipeline generates the payload; you paste it once.
Requirements: an Anthropic API key plus credentials for Bluesky, Dev.to, and Hashnode at minimum. Mastodon is optional.
Top comments (0)