Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

io.github.MendleM/pipepost

NPM · PIPEPOST-MCP

MCP server to publish to Substack, Ghost, Dev.to, WordPress, LinkedIn + 5 more from Claude Code.

Available components

0 this week 88 Trust /100

Last scanned (17 hours ago)

Scores higher than 92% of npm servers

Category Marketing and SEO

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security81
  • No malware found by supply-chain analysis.Pass
  • CVE check failed: a known high-severity CVE affects zod 3.25.76, a direct dependency. A fixed version is available. View diagnostics → Fail
  • No install/post-install scripts declared.Pass
  • 30 of 93 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to MendleM/Pipepost). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 201 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability76
  • AI-judged instruction clarity (good).Pass
  • Tool/resource definitions use about 2341 tokens (~80/item across 29 items; 29 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage99
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 97% of tool parameters carry a description.Partial
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "publish" implies "publish" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 29 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Nov 26 +1
    • Stability: 0.97 → pass security
  • 2 Nov 26 −1
    • Stability: pass → 0.97 functional
  • 24 Oct 26 −5
    • CVE-2023-54404 affects this package: high ▼ security
    • Known CVEs: pass → fail ▼ security
  • 21 Oct 26 +1
    • Stability: 0.97 → pass security
  • 19 Oct 26 −1
    • Stability: pass → 0.93 functional
  • 17 Oct 26 +2
    • Stability: 0.83 → pass security
  • 16 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

  • 14 Oct 26 −3
    • Stability: pass → 0.77 functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 4 Nov 2026 · Analysed npm/pipepost-mcp@0.9.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo MendleM/Pipepost
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/MendleM/Pipepost/.github/workflows/publish.yml@refs/tags/v0.9.0
Rekor log index 1320154411
Predicate type SLSA build provenance https://slsa.dev/provenance/v1
Subject digest sha512:c883f778192dd5afa6e755980360eccfce255b18edc91547359dd583b036cd6cf79072397a0479873f728a31da6608808b74186c4bafce54d75f3bab8

Background: How many MCP packages publish verified provenance →

Vulnerabilities 1 finding
ID CVE Severity Vector Fix available
GHSA-mrhx-c7xc-m3w5 CVE-2023-54404 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H yes

Background: What a vulnerability scan can and cannot prove →

Dependencies 93 packages
Packages resolved 93
Stale 30
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 29 exposed · ~2,341 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
activate ~34

Activate a Pipepost credit pack license key

NameTypeReqDescription
license_keystringyesYour Pipepost license key from Lemon Squeezy

No output schema declared.

No examples provided.

analytics ~57

Fetch post analytics and stats across all configured platforms — FREE

NameTypeReqDescription
limitnumber–Max posts to fetch per platform (default: 10)
platformstring–Specific platform to fetch analytics for, or omit for all configured platforms

No output schema declared.

No examples provided.

bluesky_mentions ~91

List notifications for the configured Bluesky account — mentions and replies by default. FREE — no credit cost.

NameTypeReqDescription
cursorstring–Pagination cursor from a prior response.
limitinteger–Max notifications to return (default 50, max 100).
reasonsarray–Filter by notification reason. Default: ["mention","reply"]. Other valid: like, repost, follow, quote.

No output schema declared.

No examples provided.

bluesky_post ~81

Post directly to Bluesky as a single post or a threaded series. Requires handle + app password via setup. FREE — no credit cost.

NameTypeReqDescription
textstring–Single post text (<= 300 chars). Mutually exclusive with `thread`.
threadarray–Array of posts to chain as a reply thread. Each <= 300 chars.

No output schema declared.

No examples provided.

bluesky_reply ~100

Reply to a Bluesky post (single reply or chained thread). Root + parent references are computed automatically. FREE — no credit cost.

NameTypeReqDescription
parent_uristringyesAT-URI of the post being replied to.
textstring–Single reply text (<= 300 chars). Mutually exclusive with `thread`.
threadarray–Chain of replies — first reply points at parent_uri, subsequent posts chain off the prior reply.

No output schema declared.

No examples provided.

bluesky_search ~184

Search public Bluesky posts. No Bluesky credentials required. FREE — no credit cost.

NameTypeReqDescription
authorstring–Filter to posts by this handle.
cursorstring––
langstring–BCP-47 language code (e.g. 'en').
limitinteger–Max posts to return (default 25, max 100).
mentionsstring–Filter to posts that mention this handle.
querystringyesLucene-style search query. Examples: 'claude code', '"MCP server"', 'content publishing'.
sincestring–ISO date or datetime — only posts after this time.
sortstring–'latest' (default) for freshness, 'top' for engagement.
tagarray–Filter to posts with ALL of these hashtags (no # prefix).

No output schema declared.

No examples provided.

bluesky_thread ~109

Fetch the full conversation around a Bluesky post — parents above, replies below. No credentials required. FREE — no credit cost.

NameTypeReqDescription
depthinteger–How many reply levels below to include (default 6).
parent_heightinteger–How many parent levels above to include (default 80).
uristringyesAT-URI of the post to fetch context for (e.g. at://did:plc:.../app.bsky.feed.post/xyz).

No output schema declared.

No examples provided.

check_links ~41

Validate all URLs in markdown content — reports broken, redirected, and timed-out links — FREE

NameTypeReqDescription
contentstringyesThe markdown content containing URLs to check

No output schema declared.

No examples provided.

content_audit ~61

Audit markdown for quality issues before publishing — basic FREE, full analysis requires credits

NameTypeReqDescription
contentstringyesThe markdown content to audit
fullboolean–Run full analysis (requires credits). Includes readability, structure, tags, and heading hierarchy.

No output schema declared.

No examples provided.

cover_image ~64

Search Unsplash for cover images with proper attribution — FREE

NameTypeReqDescription
countnumber–Number of results 1-5 (default: 3)
orientationstring–Image orientation (default: landscape)
querystringyesSearch terms for the image

No output schema declared.

No examples provided.

cross_publish ~182

Publish to multiple CMS platforms in one call — costs 1 credit

NameTypeReqDescription
canonical_urlstring–Canonical URL for cross-posting
contentstringyesArticle content in markdown
featured_image_urlstring–Featured image URL
platformsarrayyesPlatforms to publish to: devto, ghost, hashnode, wordpress, medium, substack
primary_platformstring–Platform to treat as canonical source. Its published URL becomes the canonical_url for all other platforms. Defaults to the first platform in the list.
seriesstring–Series name (supported on Dev.to and Hashnode)
statusstring–Publish status
subtitlestring–Subtitle / dek (used by Substack)
tagsarray–Tags for the article
titlestringyesArticle title

No output schema declared.

No examples provided.

delete_draft ~29

Delete a saved draft by ID — FREE

NameTypeReqDescription
idstringyesDraft ID to delete

No output schema declared.

No examples provided.

frontmatter ~158

Generate correctly-formatted frontmatter for any SSG or publishing platform (Hugo, Jekyll, Astro, Next.js, Dev.to, Hashnode, Ghost) — FREE

NameTypeReqDescription
authorstring–Author name
canonical_urlstring–Canonical URL for the article
contentstringyesThe article content — used to auto-extract description, reading time, tags
draftboolean–Whether the post is a draft (default: true)
featured_imagestring–Featured/cover image URL
formatstringyesTarget frontmatter format
tagsarray–Optional tags — auto-extracted from content if omitted
titlestringyesThe article title

No output schema declared.

No examples provided.

generate_social_posts ~108

Generate platform-optimized social posts from an article (Twitter, Reddit, Bluesky, LinkedIn) [requires credits]

NameTypeReqDescription
contentstring–Full article markdown content for rich generation
platformsarrayyesPlatforms: twitter, linkedin, reddit, bluesky
summarystring–Article summary (used if content not provided)
titlestring–Article title (used if content not provided)
urlstring–Article URL for links and CTAs

No output schema declared.

No examples provided.

get_draft ~29

Retrieve a saved draft by ID — FREE

NameTypeReqDescription
idstringyesDraft ID to retrieve

No output schema declared.

No examples provided.

index_now ~52

Submit URLs to search engines for fast indexing via IndexNow protocol — FREE

NameTypeReqDescription
urlstringyesThe URL to submit for indexing
urlsarray–Batch of URLs to submit (max 10)

No output schema declared.

No examples provided.

linkedin_post ~85

Post directly to LinkedIn as a single feed post (<= 3000 chars). LinkedIn has no threading, so only single posts are supported. Requires access_token (w_member_social scope) via setup. FREE — no credit cost.

NameTypeReqDescription
textstringyesPost body (<= 3000 chars). LinkedIn has no threading primitive, so only single posts are supported.

No output schema declared.

No examples provided.

list_drafts ~33

List all saved drafts with status, platforms, and dates — FREE

NameTypeReqDescription
statusstring–Filter by status

No output schema declared.

No examples provided.

list_posts ~43

List published and draft posts on a platform

NameTypeReqDescription
limitnumber––
platformstringyesPlatform to list posts from
statusstring––

No output schema declared.

No examples provided.

mastodon_post ~94

Post directly to any Mastodon instance as a single post or a threaded series. Requires instance_url + access_token via setup. FREE — no credit cost.

NameTypeReqDescription
max_lengthinteger–Override the default 500-character limit if your instance allows longer posts.
textstring–Single post text. Mutually exclusive with `thread`.
threadarray–Array of posts to chain as a reply thread.

No output schema declared.

No examples provided.

publish ~160

Publish content to a CMS platform (devto, ghost, hashnode, wordpress, medium, substack) — costs 1 credit per publish

NameTypeReqDescription
canonical_urlstring–Canonical URL for cross-posting
contentstringyesArticle content in markdown
featured_image_urlstring–Featured image URL
platformstringyesPublishing platform: devto, ghost, hashnode, wordpress, medium, substack
seriesstring–Series name (supported on Dev.to and Hashnode)
statusstring–Publish status
subtitlestring–Subtitle / dek (used by Substack)
tagsarray–Tags for the article
titlestringyesArticle title

No output schema declared.

No examples provided.

repurpose ~101

Transform a full blog post into platform-native content for Twitter threads, LinkedIn, Reddit, Hacker News, Bluesky, and newsletters [requires credits]

NameTypeReqDescription
contentstringyesThe full markdown article to repurpose
platformsarrayyesTarget platforms: twitter, linkedin, reddit, hackernews, bluesky, newsletter
titlestringyesThe article title
urlstring–The published article URL for links and CTAs

No output schema declared.

No examples provided.

save_draft ~82

Save content as a local draft for later publishing — FREE

NameTypeReqDescription
contentstringyesDraft content in markdown
platformsarray–Target platforms: devto, ghost, hashnode, wordpress, medium
statusstring–Draft status
tagsarray–Tags for the draft
titlestringyesDraft title

No output schema declared.

No examples provided.

seo_meta ~54

Generate meta title, description, and Open Graph tags from content [requires credits]

NameTypeReqDescription
contentstringyesThe article content
keywordstring–Optional target keyword
titlestringyesThe article title

No output schema declared.

No examples provided.

seo_schema ~49

Generate JSON-LD structured data (Article, FAQ, HowTo) [requires credits]

NameTypeReqDescription
dataobjectyesSchema data (varies by type)
typestringyesSchema type

No output schema declared.

No examples provided.

seo_score ~52

Analyze content for SEO quality — basic scoring is free, full analysis with issues and suggestions requires credits

NameTypeReqDescription
contentstringyesThe markdown content to analyze
keywordstringyesThe target keyword or phrase

No output schema declared.

No examples provided.

setup ~82

Configure API credentials for a platform (devto, ghost, hashnode, wordpress, medium, substack)

NameTypeReqDescription
credentialsobjectyesAPI credentials as key-value pairs
platformstringyesPlatform to configure: devto, ghost, hashnode, wordpress, medium, substack, x, linkedin, reddit, bluesky, mastodon, unsplash

No output schema declared.

No examples provided.

status ~16

Show current Pipepost configuration and credit balance

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

x_post ~110

Post directly to X (Twitter) as a single post (<= 280 chars) or a reply-chained thread. Requires OAuth 1.0a credentials via setup. FREE — no credit cost, but X's free API tier caps writes at 17 tweets / 24h.

NameTypeReqDescription
textstring–Single post text (<= 280 chars). Mutually exclusive with `thread`.
threadarray–Array of posts to chain as a reply thread. Each <= 280 chars.

No output schema declared.

No examples provided.

Install

How do I install the io.github.MendleM/pipepost MCP server?

io.github.MendleM/pipepost runs locally as an npm package, launched with npx -y pipepost-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · pipepost-mcp

# add to Claude Code
claude mcp add mendlem-pipepost -- npx -y pipepost-mcp
Common questions

What is the io.github.MendleM/pipepost MCP server?

io.github.MendleM/pipepost is an MCP server listed in the public MCP registry as io.github.MendleM/pipepost. MCP server to publish to Substack, Ghost, Dev.to, WordPress, LinkedIn + 5 more from Claude Code. This page covers its npm package (pipepost-mcp).

Is the io.github.MendleM/pipepost MCP server safe to use?

io.github.MendleM/pipepost scores 88 out of 100 on VerifyMCP. We recorded 1 known advisory against it as of 4 November 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.MendleM/pipepost MCP server expose?

io.github.MendleM/pipepost exposes 29 tools: seo_score, seo_meta, seo_schema, index_now, cover_image, and 24 more. Their descriptions and schemas cost roughly 2,341 tokens of context every time the server is loaded.

Is the io.github.MendleM/pipepost MCP server still maintained?

io.github.MendleM/pipepost is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the io.github.MendleM/pipepost MCP server under?

io.github.MendleM/pipepost declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.