Content Distribution MCP
Description
MCP server that distributes a single piece of content across 8+ channels (DEV.to, Hashnode, GitHub Discussions, Reddit, Bluesky, LinkedIn, Medium, Twitter) with automatic platform-specific adaptation, idempotent publishing, per-community anti-spam rules, and centralized state…
About
MCP server that distributes a single piece of content across 8+ channels (DEV.to, Hashnode, GitHub Discussions, Reddit, Bluesky, LinkedIn, Medium, Twitter) with automatic platform-specific adaptation, idempotent publishing, per-community anti-spam rules, and centralized state management.
Details
- Author
- automatelab-tech
- Categories
- Marketing, Other, Automation
Jump to
Setup
Install Content Distribution MCP in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/automatelab-tech/content-distribution-mcp
Follow the installation instructions in the repository README, then restart your MCP client.
MCP server that distributes a single piece of content across 8+ channels (DEV.to, Hashnode, GitHub Discussions, Reddit, Bluesky, LinkedIn, Medium, Twitter) with automatic platform-specific adaptation, idempotent publishing, per-community anti-spam rules, and centralized state management.
Publish your content everywhere—without rewriting for every platform.
A MCP server that distributes a single piece of content across 8+ channels (DEV.to, Hashnode, GitHub Discussions, Reddit, Bluesky, LinkedIn, Medium, Twitter) withautomatic platform-specific adaptation, idempotent publishing, per-community anti-spam rules, and centralized state management.
Creating and publishing content at scale is friction-heavy:
- Different formats: Reddit strips formatting, Twitter has character limits, DEV.to supports embeds and rich media. Each needs customized copy.
- Platform rules: Subreddits enforce cooldowns and flair requirements. Communities have posting patterns and automoderator gates. LinkedIn suppresses external links.
- State chaos: Which posts went live where? What if a publish fails halfway? Did that Reddit post get auto-removed by spam filters?
This MCP handles distribution complexity. Write your core message once, generate platform-specific variants, publish everywhere safely.
- Your agentgenerates channel-specific copy variants (rewritten titles, trimmed text, platform-appropriate tags, audience-matched tone).
- This MCPpublishes each variant with idempotency, OAuth, API retries, and scheduling—enforcing platform constraints automatically.
- You controlwhich platforms get what. The MCP returns per-channel hints (character limits, tag vocabularies, cooldowns) but leaves creative decisions to you.
No LLM calls inside. No walled-in agents. Just a clean API for multi-platform content distribution at scale.
npx @automatelab/content-distribution-mcp
{ "mcpServers": { "content-distribution": { "command": "npx", "args": ["-y", "@automatelab/content-distribution-mcp"] } } }
Claude Desktop— add toclaude_desktop_config.json:
{ "mcpServers": { "content-distribution": { "command": "npx", "args": ["-y", "@automatelab/content-distribution-mcp"] } } }
n8n— use the MCP Client node, point it atnpx @automatelab/content-distribution-mcpover stdio.
Cursor / Windsurf / any MCP host— samenpx -y content-distribution-mcppattern.
The server reads credentials from aDistribution Profilestored in~/.distribution-mcp/profiles.yaml:
# ~/.distribution-mcp/profiles.yaml default: credentials: DEV_TO_API_KEY: "your-devto-api-key" HASHNODE_TOKEN: "your-hashnode-token" HASHNODE_PUBLICATION_ID: "your-pub-id" GITHUB_TOKEN: "ghp_..." GITHUB_DISCUSSION_REPO: "owner/repo" REDDIT_CLIENT_ID: "..." REDDIT_CLIENT_SECRET: "..." REDDIT_USERNAME: "..." REDDIT_PASSWORD: "..." BLUESKY_IDENTIFIER: "you.bsky.social" BLUESKY_PASSWORD: "..." subreddits: - ClaudeAI - LocalLLaMA
Only set credentials for channels you intend to use. LinkedIn, Medium, and Twitter/X returnneeds_browserwith a compose URL — no credentials needed.
Eight tools, dot-notation names form a navigable tree (post.,channel.,profile.,subreddit.). Every tool declares anoutputSchema(callers can type-check responses) and MCPannotations(read-only / destructive / idempotent / open-world hints). No LLM calls inside the server.
v2.2.0 breaking change.Tools were renamed from flat names (publish,schedule, ...) to dot-notation (post_publish,post_schedule, ...). Update any prompts, agent skills, or n8n nodes that referenced the old names.
// post_publish tool { "content": { "id": "n8n-webhook-setup@2026-05-20", "title": "How to set up an n8n webhook", "body_md": "...", "tags": ["automation", "n8n", "tutorial"], "canonical_url": "https://yourblog.com/n8n-webhook-setup", "author": "You" }, "variants": [ { "channel": "devto:main", "title": "How to set up an n8n webhook", "body": "...", "tags": ["automation", "n8n", "tutorial", "devops"], "canonical_url": "https://yourblog.com/n8n-webhook-setup", "extras": {} }, { "channel": "reddit:ClaudeAI", "title": "Built a webhook automation with n8n", "body": "Here's how I set it up...", "tags": [], "extras": { "flair": "Project" } } ], "profile_name": "default" }
Re-runningpost_publishwith the samecontent.id+channelpair returns the existinglive_urlimmediately without making another platform API call. Safe to retry on failure.
Variants withschedule_at(ISO-8601 with timezone, e.g."2026-05-21T09:00:00+00:00") are stored in~/.distribution-mcp/scheduled.yamland fired on the nextpost_draincall. Rundrainfrom cron:
# fire due posts every 5 minutes /5 * npx -y content-distribution-mcp drain
Or call thepost_drainMCP tool directly from an agent.
Agent (Claude Code / n8n / Cursor / any MCP host) │ generates per-channel copy, calls MCP tools ▼ content-distribution-mcp (this package, stdio transport) │ no LLM calls — pure I/O ├── adapters/ devto · hashnode · github-discussions · reddit · bluesky · browser └── backends/ yaml (post log · profiles · schedule queue · subreddit catalog)
No Anthropic-specific code anywhere. Verify:
grep -ri "anthropic" node_modules/content-distribution-mcp/dist/ # returns nothing
- agency-os— control plane
- content-distribution-mcp— this package
- automatelab.tech— blog and tutorials
Free MCP that drives an audit of your marketing. Your AI connects, adsOS digs through your ads, email and site, and hands back a growth plan you can run today.
Publish, schedule, moderate your social inbox, and pull analytics across every major network directly from any AI assistant, via Eclincher.
A hosted MCP server for planning, scheduling, media, analytics, and social publishing.
Remote MCP server to publish, schedule, and measure posts across X, Instagram, Facebook, Threads, LinkedIn, TikTok, YouTube, Pinterest, and Reddit.
Agent-first, local-first social media planner. An AI agent drafts and schedules posts across Instagram, Facebook, LinkedIn, YouTube and X behind a human approval gate the operator controls. MCP-native, MIT-licensed.
The PostNitro MCP server lets AI assistants and agents create carousels and image posts, manage brand kits and connected social accounts, and schedule posts directly.
Schedule and publish posts to Instagram, TikTok, X, LinkedIn, Facebook, Telegram, Threads, Bluesky and YouTube — previewing each one exactly as the network will render it.
Draft, validate, publish, and schedule social posts from AI assistants.
sprkly.app enables users to publish their shortform content to tiktok, facebook, instagram, youtube, threads via natural language.
Create, schedule, and publish LinkedIn posts directly from Claude Desktop or ChatGPT through natural conversations
An AI-native publishing engine for persona-driven content creation and multi-platform publishing.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.


