io.github.MendleM/pipepost
NPM · PIPEPOST-MCP · SCANNED AUG 3
MCP server to publish to Substack, Ghost, Dev.to, WordPress, LinkedIn + 5 more from Claude Code.
Available components
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 →
Supply Chain Security87
- No malware found by supply-chain analysis.Pass
- Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.Partial
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree. 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 108 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability71
- 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 Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
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
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · pipepost-mcp
claude mcp add mendlem-pipepost -- npx -y pipepost-mcp
codex mcp add mendlem-pipepost -- npx -y pipepost-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"mendlem-pipepost": {
"type": "local",
"command": [
"npx",
"-y",
"pipepost-mcp"
],
"enabled": true
}
}
} openclaw mcp add mendlem-pipepost --command npx --arg -y --arg pipepost-mcp
mcp_servers:
mendlem-pipepost:
command: "npx"
args: ["-y", "pipepost-mcp"] {
"mcpServers": {
"mendlem-pipepost": {
"command": "npx",
"args": [
"-y",
"pipepost-mcp"
]
}
}
} 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 Aug 26 −2
No change was recorded against any check on this day. Supply Chain Security went from 97 to 87. Other categories moved too: Stability & Change Management rose 4.
- 2 Aug 26 +60
- Known CVEs: unverified → partial ▲ security
- Malware scan: unverified → pass ▲ security
- Install scripts: unverified → pass ▲ security
- Provenance: unverified → pass ▲ security
- The attested source repository moved: MendleM/Pipepost security
- Dependency health: unverified → partial ▲ functional
- Maintenance: unverified → pass ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Stability: unverified → 0.23 ▲ functional
- Schema quality: unverified → good ▲ functional
- License: unverified → pass ▲ functional
- Licence: MIT functional
- 1 Aug 26 +16
- Tool coverage: unverified → 100 ▲ functional
- 31 Jul 26 −19
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 28 Jul 26 −22
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- 27 Jul 26 46
First indexed and scored.
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 3 Aug 2026 · Analysed npm/[email protected]
Provenance verified
Ecosystem: npm · Outcome: verified
Reason: verified
- 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:
- https://slsa.dev/provenance/v1
- Subject digest:
- sha512:c883f778192dd5afa6e755980360eccfce255b18edc91547359dd583b036cd6cf79072397a0479873f728a31da6608808b74186c4bafce54d75f3bab8
- Discovery method:
- attestation_endpoint
Dependencies 95 packages
95 packages in the resolved dependency tree · 95 deprecated · 29 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
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.
activate ~34
Activate a Pipepost credit pack license key
| Name | Type | Req | Description |
|---|---|---|---|
| license_key | string | yes | Your 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
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | — | Max posts to fetch per platform (default: 10) |
| platform | string | — | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | — | Pagination cursor from a prior response. |
| limit | integer | — | Max notifications to return (default 50, max 100). |
| reasons | array | — | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| text | string | — | Single post text (<= 300 chars). Mutually exclusive with `thread`. |
| thread | array | — | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| parent_uri | string | yes | AT-URI of the post being replied to. |
| text | string | — | Single reply text (<= 300 chars). Mutually exclusive with `thread`. |
| thread | array | — | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| author | string | — | Filter to posts by this handle. |
| cursor | string | — | — |
| lang | string | — | BCP-47 language code (e.g. 'en'). |
| limit | integer | — | Max posts to return (default 25, max 100). |
| mentions | string | — | Filter to posts that mention this handle. |
| query | string | yes | Lucene-style search query. Examples: 'claude code', '"MCP server"', 'content publishing'. |
| since | string | — | ISO date or datetime — only posts after this time. |
| sort | string | — | 'latest' (default) for freshness, 'top' for engagement. |
| tag | array | — | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| depth | integer | — | How many reply levels below to include (default 6). |
| parent_height | integer | — | How many parent levels above to include (default 80). |
| uri | string | yes | AT-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
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | yes | The 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
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | yes | The markdown content to audit |
| full | boolean | — | 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
| Name | Type | Req | Description |
|---|---|---|---|
| count | number | — | Number of results 1-5 (default: 3) |
| orientation | string | — | Image orientation (default: landscape) |
| query | string | yes | Search 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
| Name | Type | Req | Description |
|---|---|---|---|
| canonical_url | string | — | Canonical URL for cross-posting |
| content | string | yes | Article content in markdown |
| featured_image_url | string | — | Featured image URL |
| platforms | array | yes | Platforms to publish to: devto, ghost, hashnode, wordpress, medium, substack |
| primary_platform | string | — | 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. |
| series | string | — | Series name (supported on Dev.to and Hashnode) |
| status | string | — | Publish status |
| subtitle | string | — | Subtitle / dek (used by Substack) |
| tags | array | — | Tags for the article |
| title | string | yes | Article title |
No output schema declared.
No examples provided.
delete_draft ~29
Delete a saved draft by ID — FREE
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Draft 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
| Name | Type | Req | Description |
|---|---|---|---|
| author | string | — | Author name |
| canonical_url | string | — | Canonical URL for the article |
| content | string | yes | The article content — used to auto-extract description, reading time, tags |
| draft | boolean | — | Whether the post is a draft (default: true) |
| featured_image | string | — | Featured/cover image URL |
| format | string | yes | Target frontmatter format |
| tags | array | — | Optional tags — auto-extracted from content if omitted |
| title | string | yes | The 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]
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | — | Full article markdown content for rich generation |
| platforms | array | yes | Platforms: twitter, linkedin, reddit, bluesky |
| summary | string | — | Article summary (used if content not provided) |
| title | string | — | Article title (used if content not provided) |
| url | string | — | Article URL for links and CTAs |
No output schema declared.
No examples provided.
get_draft ~29
Retrieve a saved draft by ID — FREE
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | Draft 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
| Name | Type | Req | Description |
|---|---|---|---|
| url | string | yes | The URL to submit for indexing |
| urls | array | — | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| text | string | yes | Post 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
| Name | Type | Req | Description |
|---|---|---|---|
| status | string | — | Filter by status |
No output schema declared.
No examples provided.
list_posts ~43
List published and draft posts on a platform
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | — | — |
| platform | string | yes | Platform to list posts from |
| status | string | — | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| max_length | integer | — | Override the default 500-character limit if your instance allows longer posts. |
| text | string | — | Single post text. Mutually exclusive with `thread`. |
| thread | array | — | 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
| Name | Type | Req | Description |
|---|---|---|---|
| canonical_url | string | — | Canonical URL for cross-posting |
| content | string | yes | Article content in markdown |
| featured_image_url | string | — | Featured image URL |
| platform | string | yes | Publishing platform: devto, ghost, hashnode, wordpress, medium, substack |
| series | string | — | Series name (supported on Dev.to and Hashnode) |
| status | string | — | Publish status |
| subtitle | string | — | Subtitle / dek (used by Substack) |
| tags | array | — | Tags for the article |
| title | string | yes | Article 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]
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | yes | The full markdown article to repurpose |
| platforms | array | yes | Target platforms: twitter, linkedin, reddit, hackernews, bluesky, newsletter |
| title | string | yes | The article title |
| url | string | — | 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
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | yes | Draft content in markdown |
| platforms | array | — | Target platforms: devto, ghost, hashnode, wordpress, medium |
| status | string | — | Draft status |
| tags | array | — | Tags for the draft |
| title | string | yes | Draft title |
No output schema declared.
No examples provided.
seo_meta ~54
Generate meta title, description, and Open Graph tags from content [requires credits]
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | yes | The article content |
| keyword | string | — | Optional target keyword |
| title | string | yes | The article title |
No output schema declared.
No examples provided.
seo_schema ~49
Generate JSON-LD structured data (Article, FAQ, HowTo) [requires credits]
| Name | Type | Req | Description |
|---|---|---|---|
| data | object | yes | Schema data (varies by type) |
| type | string | yes | Schema 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
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | yes | The markdown content to analyze |
| keyword | string | yes | The 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)
| Name | Type | Req | Description |
|---|---|---|---|
| credentials | object | yes | API credentials as key-value pairs |
| platform | string | yes | Platform 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.
| Name | Type | Req | Description |
|---|---|---|---|
| text | string | — | Single post text (<= 280 chars). Mutually exclusive with `thread`. |
| thread | array | — | Array of posts to chain as a reply thread. Each <= 280 chars. |
No output schema declared.
No examples provided.