Ravenpost vs Substack MCP
A side-by-side look at the Ravenpost and Substack MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Ravenpost for social media work over a hosted endpoint; choose Substack MCP for social media as a local process. You can also run both side by side in one mcpServers block.
Which MCP server should you choose?
Choose Ravenpost when
- You need dedicated capabilities in the Social Media domain.
- You prefer a remote HTTP/SSE transport.
- Its auth model fits you: OAuth 2.0.
- You want tools like
list_workspaces, list_accounts, list_posts.
Choose Substack MCP when
- You need dedicated capabilities in the Social Media domain.
- You prefer a local stdio subprocess transport.
- Its auth model fits you: other.
- You have the keys it needs:
SUBSTACK_PUBLICATION_URL, SUBSTACK_SESSION_TOKEN, SUBSTACK_USER_ID, SUBSTACK_MCP_HOME. - You want tools like
get_subscriber_count, list_published_posts, list_drafts.
Feature & specification comparison
Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Social Media | Social Media |
| Quality signal | 53/100 · Good | 68/100 · Great |
| Install command | Confirmed | Confirmed |
| Transport | Remote HTTP/SSE | Local subprocess (stdio) |
| Auth | OAuth 2.0 | other |
| Pricing | Freemium | Free |
| Required env vars | None listed | SUBSTACK_PUBLICATION_URLSUBSTACK_SESSION_TOKENSUBSTACK_USER_IDSUBSTACK_MCP_HOME |
| Verified owner | Community listing | Community listing |
| GitHub stars | 1 | 44 |
| Directory activity | 0 views 0 installs 0 upvotes | 6 views 0 installs 0 upvotes |
| Tools | 21 | 14 |
| Full listing | View Ravenpost | View Substack MCP |
Tools & capabilities
Ravenpost tools 21
list_workspacesEvery workspace the credential can act in. With more than one, the other tools require a `workspaceId` rather than guessing which client you meant.list_accountsConnected accounts with their ids, platforms and status.list_postsPosts 50 at a time — newest first, or soonest first when filtered to scheduled — optionally filtered by status, with the total that matches.get_postOne post with every destination's status and permalink.preview_postRender a post as each platform will show it **without creating anything** — an interactive card in clients that support MCP Apps, and per-platform character counts everywhere else.create_postDraft, publish, schedule or queue a post across any set of accounts.update_postEdit a draft or scheduled post — resets it to draft, so pass an action to re-send it.delete_postDelete the Ravenpost copy and cancel a pending publish. Never takes a live post down from a network.schedule_postMove a post to a new time.publish_postPublish a post immediately.upload_mediaUpload an image or video from a URL or base64 (a local path too, on a development server only); images are reformatted to the platform shape you name.create_media_uploadPresigned direct upload — for large or production files, so bytes never pass through the model's context.- +9 more on the listing page
Substack MCP tools 14
get_subscriber_countGet the current subscriber count for your Substack publication. Returns `precision`: 'exact' when the API reports a true count, 'approximate' when only Substack's rounded value is available (the real number is that or higher — render it hedged, e.g. '1,000+'), or 'unavailable' with count -1. Never treat an approximate value as exact.list_published_postsList published posts with pagination. Returns title, date, slug, and URL for each post.list_draftsList draft posts. Returns title, creation date, and audience for each draft.get_postGet the full content of a published post by ID. Returns title, body HTML, metadata.get_draftGet the full content of a draft post by ID. Returns title, body, metadata.get_post_commentsGet comments on a published post. Returns commenter name, comment body, date, and reaction counts.get_sectionsList your publication's sections (categories). Returns each section's id and name. Use a section id as `section_id` when creating or updating a draft to file it under that section.get_post_analyticsGet performance stats (views, emails sent/delivered/opened, signups, subscribes, estimated value, comments, reactions) for a published post by ID. Substack has no per-post stats endpoint, so this searches your 500 most recent published posts for the ID; returns a not-found note if it isn't among them.list_scheduled_postsList posts scheduled for future publication, soonest first. Read-only visibility into what's queued — scheduling itself is done in Substack's editor (this server does not schedule, publish, or delete long-form posts). Returns id, title, audience, and scheduled time (`trigger_at`).create_draftCreate a new draft post. Accepts markdown body which is converted to Substack's format. Does NOT publish — creates a draft only.update_draftUpdate an existing draft post. Only works on unpublished drafts. Accepts markdown body.upload_imageUpload an image to Substack's CDN. Provide exactly one of `image_base64` (a base64 data URI) or `image_path` (a local file path). Returns a hosted image URL that is publicly fetchable by anyone with the link (an unlisted asset — not attributed to you or added to your feed).- +2 more on the listing page
Ready-to-paste client configs
Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
Ravenpost
{
"mcpServers": {
"ravenpost-2": {
"url": "https://api.ravenpo.st/mcp"
}
}
}
Substack MCP
{
"mcpServers": {
"conorbronsdon-substack-mcp": {
"command": "npx",
"args": [
"-y",
"@conorbronsdon/substack-mcp"
],
"env": {
"SUBSTACK_PUBLICATION_URL": "YOUR_SUBSTACK_PUBLICATION_URL_HERE",
"SUBSTACK_SESSION_TOKEN": "YOUR_SUBSTACK_SESSION_TOKEN_HERE",
"SUBSTACK_USER_ID": "YOUR_SUBSTACK_USER_ID_HERE",
"SUBSTACK_MCP_HOME": "YOUR_SUBSTACK_MCP_HOME_HERE"
}
}
}
}
Frequently asked questions
Ravenpost is categorized under Social Media and uses a remote HTTP/SSE transport. Substack MCP belongs to Social Media and uses a local stdio subprocess. Pick Ravenpost for social media work and Substack MCP for social media.
Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.
Ravenpost is listed as freemium — a free tier with paid plans. Auth: oauth 2.0. Substack MCP is listed as free. Auth: other. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.
Yes. MCP clients support multiple servers: add ravenpost-2 and conorbronsdon-substack-mcp as separate keys in the same mcpServers object, and your assistant will call tools from either one.
On AllMCPs, Ravenpost has a quality signal of 53/100 (Good) with 0 views, 0 installs and 1 GitHub stars. Substack MCP has 68/100 (Great) with 6 views, 0 installs and 44 GitHub stars.