Pipepost
Pipepost is a content publishing pipeline MCP server for Claude Code, enabling you to optimize, publish, promote, and analyze content across multiple platforms directly from the terminal.
SEO & Indexing: Score content for readability/keyword density (
seo_score), generate meta tags and Open Graph tags (seo_meta), generate JSON-LD structured data (seo_schema), and submit URLs to search engines via IndexNow (index_now).Publishing: Publish to Dev.to, Ghost, Hashnode, WordPress, Medium, and Substack (
publish); cross-publish to multiple platforms simultaneously with automatic canonical URL wiring (cross_publish); list existing posts (list_posts).Draft Management: Save, list, retrieve, and delete local drafts (
save_draft,list_drafts,get_draft,delete_draft).Content Quality: Audit markdown for readability, structure, and heading hierarchy (
content_audit), and validate all links (check_links).Content Repurposing: Generate platform-optimized social posts for Twitter, LinkedIn, Reddit, and Bluesky (
generate_social_posts), and transform blog posts into Twitter threads, LinkedIn posts, Reddit posts, newsletter intros, and more (repurpose).Direct Social Posting: Post single posts or threads to Bluesky, Mastodon, LinkedIn, and X/Twitter (
bluesky_post,mastodon_post,linkedin_post,x_post).Social Listening & Engagement: Monitor Bluesky mentions (
bluesky_mentions), search public Bluesky posts (bluesky_search), fetch conversation threads (bluesky_thread), and reply to posts (bluesky_reply).Images & Formatting: Search Unsplash for attributed cover images (
cover_image), and generate frontmatter for Hugo, Jekyll, Astro, Next.js, Dev.to, Hashnode, and Ghost (frontmatter).Analytics: Fetch views, reactions, and comments across all configured platforms (
analytics).Account Management: Configure API credentials (
setup), activate credit packs (activate), and check configuration and credit balance (status).
Generates frontmatter for Astro content management system, auto-extracting description, reading time, slug, and tags from content.
Posts directly to Bluesky as single posts or threaded series, searches public posts, fetches conversations, replies to posts, and lists mentions for the configured account.
Publishes content to Dev.to platform, lists published posts, fetches analytics, and supports featured images through API integration.
Publishes content to Ghost CMS, lists published posts, fetches analytics, and supports featured images through Ghost Admin API.
Integrates with Hashnode's GraphQL API for publishing content, listing posts, fetching analytics, and managing featured images.
Publishes content to Hashnode platform, lists published posts, fetches analytics, and supports featured images through GraphQL API.
Generates frontmatter for Hugo static site generator, auto-extracting description, reading time, slug, and tags from content.
Generates frontmatter for Jekyll static site generator, auto-extracting description, reading time, slug, and tags from content.
Posts directly to any Mastodon instance as single posts or threaded series with write:statuses scope.
Publishes content to Medium platform and supports featured images through Medium API integration.
Generates frontmatter for Next.js framework, auto-extracting description, reading time, slug, and tags from content.
Generates platform-optimized Reddit posts with titles, bodies, and suggested subreddits for content repurposing.
Searches Unsplash for cover images with proper attribution through Unsplash API integration.
Publishes content to WordPress sites, lists published posts, and fetches analytics through WordPress REST API.
|> Pipepost
Publish from your terminal.
MCP server that turns Claude Code into a complete content publishing pipeline — SEO, multi-platform publishing, social promotion, and analytics.
See it in one chat turn
→ Real agent-loop transcript — Claude Code takes a draft, audits it, scores SEO, fixes issues, cross-publishes to 5 CMS platforms with canonical URL wiring, generates social promo posts for Twitter/LinkedIn/Bluesky, and submits to IndexNow. One prompt. ~90 seconds. 2 credits.
Related MCP server: markpost
Why Pipepost?
Task | Without Pipepost | With Pipepost |
Publish to Dev.to | Copy-paste into browser, format, add tags, submit | "Publish this to Dev.to as a draft" |
Cross-post to 5 platforms | Repeat the above five times | "Cross-publish to all platforms" |
SEO optimization | Switch between 3 tools, copy results back | "Score this for SEO targeting 'mcp servers'" |
Social promotion | Write separate posts for each network | "Generate social posts for Twitter, LinkedIn, and Reddit" |
Cover images | Browse Unsplash, download, upload, add attribution | "Find a cover image for this article" |
Search indexing | Wait days for crawlers to find your content | "Submit this URL to IndexNow" |
Content analytics | Log into 5 dashboards, compare manually | "Show my analytics across all platforms" |
Pre-publish QA | Manually check links, readability, structure | "Audit this article and check all links" |
Draft management | Copy between editors, lose track of versions | "Save this as a draft targeting Dev.to and Ghost" |
Canonical URLs | Manually set on each platform after cross-posting | Automatic — first platform URL wired to all others |
Quick Start
npx pipepost-mcp initAdd Pipepost to your Claude Code config (~/.claude/settings.json):
{
"mcpServers": {
"pipepost": {
"command": "npx",
"args": ["-y", "pipepost-mcp"]
}
}
}That's it. Try asking Claude:
Score this article for SEO targeting 'mcp servers'
Tools
SEO (4 tools)
Tool | Description | Cost |
| Analyze content for readability, keyword density, and heading structure | Free (basic) / Credits (full) |
| Generate meta title, description, and Open Graph tags | Credits |
| Generate JSON-LD structured data (Article, FAQ, HowTo) | Credits |
| Submit URLs to search engines for instant indexing via IndexNow | Free |
Publishing (3 tools)
Tool | Description | Cost |
| Publish to Dev.to, Ghost, Hashnode, WordPress, Medium, or Substack | 1 credit |
| Publish to multiple platforms with automatic canonical URL wiring | 1 credit |
| List published and draft posts from any platform | Free |
Drafts (4 tools)
Tool | Description | Cost |
| Save content as a local draft for later publishing | Free |
| List all saved drafts with status, platforms, and dates | Free |
| Retrieve a saved draft by ID | Free |
| Delete a saved draft by ID | Free |
Content Quality (2 tools)
Tool | Description | Cost |
| Audit markdown for quality issues — readability, structure, heading hierarchy | Free (basic) / Credits (full) |
| Validate all URLs in markdown — reports broken, redirected, and timed-out links | Free |
Content Repurposing (2 tools)
Tool | Description | Cost |
| Generate platform-optimized posts for Twitter, LinkedIn, Reddit, Bluesky | Credits |
| Transform a blog post into Twitter threads, LinkedIn posts, Reddit posts, HN titles, Bluesky posts, newsletter intros | Credits |
Broadcast (4 tools)
Tool | Description | Cost |
| Post directly to Bluesky as a single post or a threaded series. Bare URLs auto-linkified | Free |
| Post directly to any Mastodon instance as a single post or a threaded series | Free |
| Post to LinkedIn (personal). Person URN resolved automatically on first use and cached | Free |
| Post to X as a single tweet or reply-chained thread. OAuth 1.0a HMAC-SHA1 signing built in | Free |
Listening & Reply (4 tools)
Tool | Description | Cost |
| List notifications addressed to the configured account — mentions and replies by default | Free |
| Search public Bluesky posts by keyword, author, mentions, tag, or language. No auth needed | Free |
| Fetch the full conversation around a post — parents above, replies below, for reply context | Free |
| Reply to a Bluesky post (single reply or chained thread) — root + parent refs computed automatically | Free |
Images (1 tool)
Tool | Description | Cost |
| Search Unsplash for cover images with proper attribution | Free |
Content (1 tool)
Tool | Description | Cost |
| Generate frontmatter for Hugo, Jekyll, Astro, Next.js, Dev.to, Hashnode, Ghost | Free |
Analytics (1 tool)
Tool | Description | Cost |
| Fetch post views, reactions, and comments across all configured platforms | Free |
Account (3 tools)
Tool | Description | Cost |
| Configure API credentials for any platform | Free |
| Activate a credit pack license key | Free |
| Show current configuration and credit balance | Free |
How It Works
Install -- add the MCP server to Claude Code with
npx pipepost-mcp initConfigure -- use the
setuptool to store your platform API keys locallyCreate -- write content in Claude Code, then use SEO tools to optimize it
Publish -- publish to any platform with natural language, then promote with generated social posts
Pricing
Free | Starter ($8) | Pro ($19) | Power ($49) | |
Credits | 3/month | 10 | 30 | 100 |
SEO scoring | Basic | Full analysis | Full analysis | Full analysis |
SEO meta + schema | -- | ✔ | ✔ | ✔ |
Publish | ✔ | ✔ | ✔ | ✔ |
Cross-publish | ✔ | ✔ | ✔ | ✔ |
Social generation | -- | ✔ | ✔ | ✔ |
Repurpose | -- | ✔ | ✔ | ✔ |
3 free credits every month. Purchased credits never expire.
Cross-publishing to 5 platforms costs just 1 credit. Publishing + social generation for a single article costs 2 credits total.
Platform Support
CMS Platforms
Platform | Publish | List Posts | Analytics | Featured Images |
Dev.to | ✔ | ✔ | ✔ | ✔ |
Ghost | ✔ | ✔ | ✔ | ✔ |
Hashnode | ✔ | ✔ | ✔ | ✔ |
WordPress | ✔ | ✔ | ✔ | ✘ |
Medium | ✔ | ✘ | ✘ | ✔ |
Substack | ✔ | ✔ | ✘ | ✘ |
Social Platforms (Generation)
Platform | Format |
Twitter/X | Threads with hook, key points, and CTA |
Professional long-form posts | |
Post with title, body, and suggested subreddits | |
Bluesky | Short-form posts within character limits |
Hacker News | Optimized submission titles |
Newsletter | Intro paragraphs for email digests |
Frontmatter Formats
Hugo, Jekyll, Astro, Next.js, Dev.to, Hashnode, Ghost -- auto-extracts description, reading time, slug, and tags from your content.
Privacy & Security
Pipepost runs as alocal stdio process. Your API keys are stored in ~/.pipepost/config.json and never leave your machine. No cloud server, no telemetry, no data collection.
Architecture
Claude Code
|
| stdio
v
Pipepost MCP Server
|
|--- SEO Engine (local scoring, meta generation, JSON-LD)
|--- IndexNow API (Bing, Yandex, search engines)
|--- Unsplash API (cover images)
|--- Dev.to / Ghost / Hashnode / WordPress / Medium / Substack APIs
|--- Bluesky AT Protocol (post, search, reply)
|--- Mastodon API (any instance)
|--- LinkedIn /v2/ugcPosts
|--- X v2 /tweets (OAuth 1.0a)All processing happens locally. Platform APIs are only called when you explicitly publish, fetch analytics, or search for images.
API Key Setup
Platform | Where to get your key |
Dev.to | |
Ghost | Ghost Admin > Settings > Integrations > Custom |
Hashnode | |
WordPress | Users > Application Passwords |
Medium | |
Substack | DevTools → Application → Cookies → |
Unsplash | |
Bluesky | |
Mastodon |
|
linkedin.com/developers/apps (scopes: | |
X | developer.x.com — OAuth 1.0a app with read+write |
Contributing
git clone https://github.com/MendleM/Pipepost.git
cd Pipepost
pnpm install
pnpm test
pnpm buildRun in development mode with file watching:
pnpm devLicense
MIT
Available Tools
29 toolsactivateA
Activate a Pipepost credit-pack license key purchased from pipepost.dev. Validates the key against the license server and adds credits to the local balance. FREE. Returns: { activated: true, plan: 'starter'|'pro'|'power', credits_added, total_credits }. Common errors: invalid or already-redeemed key (VALIDATION_ERROR), license server unreachable (NETWORK_ERROR).
Inputs: license_key (required).
analyticsA
Fetch post views, reactions, and comments from every configured CMS platform (devto, ghost, hashnode, wordpress) and aggregate the totals. FREE. Requires platform credentials. Medium and Substack are listed but their APIs do not expose post-level analytics. Returns: { platforms: [{ platform, posts: [{ title, url, views?, reactions?, comments?, published_at? }], note? }], summary: { total_posts, total_views, total_reactions } }. Common errors: no platforms configured (VALIDATION_ERROR), upstream auth failure surfaces per-platform in 'note'.
Inputs: platform, limit.
bluesky_mentionsA
List notifications addressed to the configured Bluesky account: mentions and replies by default, optionally include reposts/likes/follows. FREE. Requires social.bluesky.handle and app_password. Returns: { notifications: [{ uri, cid, reason, author, record, indexed_at, is_read }] }. Common errors: missing credentials (VALIDATION_ERROR), AppView temporarily unavailable (PLATFORM_ERROR; the client falls back to bsky.social).
Inputs: limit, cursor, reasons.
bluesky_postA
Post directly to Bluesky as a single post or a reply-chained thread. FREE. Requires social.bluesky.handle and social.bluesky.app_password configured via setup (app password from bsky.app/settings/app-passwords). 300 grapheme limit per post; bare URLs are auto-linkified into facets. Returns: { uri, cid, posts?: [{ uri, cid }] }. Common errors: missing credentials (VALIDATION_ERROR), grapheme overflow (VALIDATION_ERROR), Bluesky API 4xx (PLATFORM_ERROR).
Inputs: text, thread.
bluesky_replyA
Reply to a Bluesky post as a single reply or a chained thread. The root and parent strong-references required by the AT Protocol are computed automatically from the parent_uri. FREE. Requires social.bluesky.handle + app_password. 300 grapheme limit per post. Returns: { uri, cid, posts?: [{ uri, cid }] }. Common errors: missing credentials (VALIDATION_ERROR), parent post not found (VALIDATION_ERROR), grapheme overflow (VALIDATION_ERROR).
Inputs: parent_uri (required), text, thread.
bluesky_searchA
Search public Bluesky posts by keyword, author, mentions, tag, or language via app.bsky.feed.searchPosts. FREE. Now requires Bluesky auth (handle + app password) because the AppView gates this endpoint. Returns: { posts: [{ uri, cid, author, text, created_at, like_count, repost_count }], cursor? }. Common errors: missing credentials (VALIDATION_ERROR), AppView 5xx (PLATFORM_ERROR).
Inputs: query (required), limit, cursor, sort, +5 more.
bluesky_threadA
Fetch the full conversation around a Bluesky post: parent posts above, reply tree below. Use this before bluesky_reply to understand the conversation. FREE. No credentials required for public threads. Returns: { thread: { post, parent?, replies?: thread[] } }. Common errors: post URI not found (VALIDATION_ERROR), AppView 5xx (PLATFORM_ERROR).
Inputs: uri (required), depth, parent_height.
check_linksA
Validate every URL in a markdown document by issuing HEAD (then GET fallback) requests. FREE. Concurrency-limited to 10 in-flight requests; per-URL timeout 8s. Reports broken (4xx/5xx), redirected (3xx), and timed-out links. Returns: { total, ok, broken: [{ url, status }], redirects: [{ url, to }], timeouts: string[] }. Common errors: malformed markdown produces zero results without throwing.
Inputs: content (required).
content_auditA
Audit a markdown article for pre-publish quality issues: heading hierarchy, paragraph length, sentence complexity, passive voice, missing alt text, broken header order. Basic audit (counts, summary) is FREE. Full audit (per-issue line numbers, severity, fix suggestions) costs 1 credit. Returns: { score, word_count, reading_time_min, issues: [{ severity, line?, message, fix? }] }. Common errors: insufficient credits for full audit (PAYMENT_REQUIRED).
Inputs: content (required), full.
cover_imageA
Search Unsplash for cover images. FREE. Requires Unsplash access_key via setup. Subject to Unsplash's 50 req/h demo or 5000 req/h production rate limit. Returns: { results: [{ url_full, url_regular, url_small, photographer, photographer_url, attribution_html, alt }] }. Common errors: missing Unsplash key (VALIDATION_ERROR), rate-limit exceeded (PLATFORM_ERROR).
Inputs: query (required), orientation, count.
cross_publishA
Publish one article to multiple CMS platforms in a single call. Costs 1 credit total regardless of how many platforms (typical use: 5 platforms). The first successful platform's URL is wired as the canonical for the rest. Requires credentials for every target platform. Returns: { results: [{ platform, status: 'success'|'error', url?, error? }], canonical_url, summary: { ok, failed } }. Common errors: zero platforms configured (VALIDATION_ERROR), credit exhaustion (PAYMENT_REQUIRED). Per-platform failures are reported in results without aborting the whole call.
Inputs: platforms (required), title (required), content (required), subtitle, +6 more.
delete_draftA
Permanently delete a saved draft by id. FREE. Operation is irreversible. Returns: { deleted: true, id }. Common errors: draft id not found (VALIDATION_ERROR).
Inputs: id (required).
frontmatterA
Generate correctly-formatted frontmatter for SSGs and publishing platforms: hugo, jekyll, astro, nextjs, devto, hashnode, ghost. FREE. Auto-extracts description, reading_time, slug, and suggests tags from content. No external calls. Returns: { frontmatter: string, format, extracted: { slug, reading_time_min, description } }. Common errors: unknown format (VALIDATION_ERROR).
Inputs: title (required), content (required), format (required), tags, +4 more.
generate_social_postsA
Generate platform-optimized social copy from an article: twitter (thread), linkedin (long form), reddit (post + suggested subreddits), bluesky (single post within 300 graphemes). Costs 1 credit per call regardless of platform count. No platform credentials required (this generates copy; use bluesky_post / linkedin_post / x_post / mastodon_post to actually post). Returns: { posts: { twitter?, linkedin?, reddit?, bluesky? } }. Common errors: insufficient credits (PAYMENT_REQUIRED).
Inputs: platforms (required), content, title, summary, +1 more.
get_draftA
Retrieve the full content of a saved draft by id. FREE. Returns: { id, title, content, created_at, platforms?: string[] }. Common errors: draft id not found (VALIDATION_ERROR).
Inputs: id (required).
index_nowA
Submit one or more URLs to the IndexNow API for instant search-engine indexing across Bing, Yandex, Naver, and Seznam (Google does not participate in IndexNow). FREE. No platform credentials required; uses the Pipepost shared key. Returns: { submitted: number, key, accepted: string[], rejected: string[] }. Common errors: malformed URL or non-https scheme (VALIDATION_ERROR), upstream 4xx from IndexNow (PLATFORM_ERROR).
Inputs: url (required), urls.
linkedin_postA
Post directly to LinkedIn as a single feed post (max 3000 chars). FREE. Requires social.linkedin.access_token (w_member_social scope). Person URN is auto-resolved from /v2/userinfo on first use and cached. LinkedIn has no public threading API, so only single posts are supported. Returns: { urn, url }. Common errors: missing or expired access_token (VALIDATION_ERROR), LinkedIn 401 (PLATFORM_ERROR), 3000-char overflow (VALIDATION_ERROR).
Inputs: text (required).
list_draftsA
List every saved local draft with id, title, created_at, target platforms, and short preview. FREE. Reads from ~/.pipepost/drafts/. Returns: { drafts: [{ id, title, created_at, platforms?: string[], preview }] }. No errors.
Inputs: status.
list_postsA
List your published and draft posts on a configured platform (devto, ghost, hashnode, wordpress, medium, substack). FREE. Requires platform credentials. Returns: { posts: [{ id, title, status, url, published_at }] }. Common errors: platform not configured (VALIDATION_ERROR), upstream auth failure (PLATFORM_ERROR).
Inputs: platform (required), status, limit.
mastodon_postA
Post directly to any Mastodon instance as a single status or a threaded series. FREE. Requires social.mastodon.instance_url and social.mastodon.access_token (scope: write:statuses) via setup. Per-instance character limit usually 500. Returns: { id, url, posts?: [{ id, url }] }. Common errors: missing credentials (VALIDATION_ERROR), instance API 4xx (PLATFORM_ERROR).
Inputs: text, thread, max_length.
publishA
Publish a markdown article to one CMS platform: devto, ghost, hashnode, wordpress, medium, or substack. Costs 1 credit per call. Requires platform credentials configured via the 'setup' tool. Supports draft|published status, tags, canonical_url, series, and cover image. Substack is published via reverse-engineered cookie auth. Returns: { url, id, platform, status }. Common errors: platform not configured (VALIDATION_ERROR), credit exhaustion (PAYMENT_REQUIRED), upstream 4xx/5xx (PLATFORM_ERROR), network timeout (NETWORK_ERROR).
Inputs: platform (required), title (required), content (required), subtitle, +5 more.
repurposeA
Transform a full blog post into platform-native content for twitter, linkedin, reddit, hackernews (title only), bluesky, newsletter (intro paragraph). Costs 1 credit per call. Output preserves URLs and respects each platform's character limits. Returns: { outputs: { twitter?: string[], linkedin?: string, reddit?: { title, body, subreddits }, hackernews?: string, bluesky?: string, newsletter?: string } }. Common errors: insufficient credits (PAYMENT_REQUIRED).
Inputs: content (required), title (required), platforms (required), url.
save_draftA
Save markdown content as a local draft in ~/.pipepost/drafts/ (machine-local, never transmitted). FREE. Drafts can target one or more platforms for later publishing via 'publish' or 'cross_publish'. Returns: { id, title, created_at, platforms?: string[] }. Common errors: missing 'content' (VALIDATION_ERROR), filesystem write failure (PLATFORM_ERROR).
Inputs: title (required), content (required), platforms, tags, +1 more.
seo_metaA
Generate SEO-optimized meta title (<60 chars), meta description (<160 chars), and Open Graph tags from article content. No external API calls; runs locally. Costs 1 credit per call. Returns: { title, description, og: { title, description, image_alt }, twitter: { card, title, description } }. Common errors: insufficient credits (PAYMENT_REQUIRED).
Inputs: title (required), content (required), keyword.
seo_schemaA
Generate valid JSON-LD structured data for Schema.org Article, FAQPage, or HowTo types. Output is ready to paste into a tag. Costs 1 credit per call. Returns: { jsonld: string, type: 'Article'|'FAQPage'|'HowTo' }. Common errors: invalid type for the supplied content shape (VALIDATION_ERROR), insufficient credits (PAYMENT_REQUIRED).
Inputs: type (required), data (required).
seo_scoreA
Analyze markdown content for SEO quality and return a 0-100 score with grade. Basic scoring (heading structure, word count, keyword density, readability) requires no credentials and is FREE. Full analysis (issue list, prioritized suggestions, related-keyword gaps) costs 1 credit. Returns: { score, grade, breakdown, issues?, suggestions? }. Common errors: missing 'content' (VALIDATION_ERROR), insufficient credits for full analysis (PAYMENT_REQUIRED).
Inputs: content (required), keyword (required).
setupA
Configure and persist platform credentials to ~/.pipepost/config.json (local file, never transmitted). Supports devto, ghost, hashnode, wordpress, medium, substack, unsplash. Replaces any existing credentials for the same platform. FREE. Returns: { platform, status: 'configured', validated: boolean }. Common errors: missing required fields for the chosen platform (VALIDATION_ERROR).
Inputs: platform (required), credentials (required).
statusA
Show the current Pipepost configuration: configured platforms, credit balance, monthly free-credit reset date, and active license plan. FREE. No arguments. Returns: { version, credits: { remaining, free_remaining, next_reset }, platforms: string[], plan }. No errors.
Inputs: no named parameters.
x_postA
Post directly to X (Twitter) as a single tweet (max 280 graphemes) or a reply-chained thread via X v2 /tweets. OAuth 1.0a HMAC-SHA1 signing built in. FREE in this server, but X's free API tier caps writes at 17 tweets per 24h. Requires social.x.api_key, api_secret, access_token, access_token_secret via setup. Returns: { id, url, tweets?: [{ id, url }] }. Common errors: missing credentials (VALIDATION_ERROR), 280-grapheme overflow (VALIDATION_ERROR), 429 rate-limit (PLATFORM_ERROR).
Inputs: text, thread.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 29 tools
Several tools are hard to tell apart: `generate_social_posts` and `repurpose` both produce platform-targeted social content from an article, and `seo_score` vs `content_audit` both score/audit markdown with overlapping issue and suggestion outputs. An agent would need to read descriptions very carefully to consistently pick the right one.
The naming is readable and mostly snake_case, with recognizable platform prefixes like `bluesky_`, `seo_`, `x_post`, and `linkedin_post`. However, it does not follow one consistent pattern: many tools are bare verbs or nouns (`publish`, `repurpose`, `setup`, `status`, `frontmatter`, `analytics`) while others are verb_noun (`save_draft`, `list_posts`, `delete_draft`).
29 tools is above the 25+ threshold and feels heavier than necessary. Some tool groups (e.g. `generate_social_posts`/`repurpose`, `seo_score`/`content_audit`) have overlapping purposes, and several very specific Bluesky/X/LinkedIn/Mastodon posting tools increase count without adding proportionally distinct capabilities.
The server covers a broad pipeline: drafts, SEO metadata, CMS publishing/cross-publishing, social posting, and analytics. However, there is no way to update, delete, unpublish, or fetch the full content of an already-published post, and local drafts lack an explicit update operation, leaving notable lifecycle gaps.
Maintenance
Related MCP Connectors
Draft, schedule, and analyze content for Substack, Medium, LinkedIn, X, Bluesky, and Threads.
Publish and schedule videos to TikTok, YouTube Shorts, Instagram, Facebook, LinkedIn, Pinterest, Bluesky, Threads and X from Claude, Cursor or any MCP client. Upload once, post everywhere, track views in unified analytics, and retry failed posts. Official platform APIs only, free plan available. Docs: https://docs.multi-upload-tool.com/mcp
Publish and schedule content across supported platforms, with publishing state and per-platform adaptation. Built by AutomateLab. Product and documentation: https://automatelab.tech/products/mcp/content-distribution-mcp/
Agent-first social media publishing, scheduling, analytics, and unified inbox API + 16-tool MCP server across 18 social platforms (X, LinkedIn, Instagram, YouTube, TikTok, Threads, Bluesky, Reddit, Telegram, Discord, Mastodon, Facebook, Pinterest).
Related MCP Servers
- AlicenseAqualityCmaintenanceAutomateLab Content Distribution publishes content across DEV.to, Hashnode, GitHub Discussions, Reddit and Bluesky, with browser workflows for LinkedIn, Medium and X. Tracks publishing state and adapts content per platform. Product and documentation: https://automatelab.tech/products/mcp/content-distribution-mcp/878 npm4MIT
- FlicenseAqualityDmaintenanceAn MCP server that formats and syndicates Markdown content to Twitter/X, Threads, and a static blog on S3, with automatic thread splitting and preview capabilities.3-
- AlicenseAqualityDmaintenanceEnables publishing markdown blog posts directly to Dev.to as drafts or live articles through a single MCP tool, with support for tags, series, canonical URL, and cover image.1MIT
- FlicenseNot gradedqualityBmaintenanceEnables an AI assistant or any MCP client to publish, cross-post, schedule, and preview markdown stories on Medium, DEV, and other pluggable platforms, while keeping credentials out of the chat and adding a canonical link back to the author's own blog.-