Substack MCP vs Sf MCP — MCP Server Comparison | AllMCPs
Side-by-Side Model Context Protocol Comparison
Substack MCP vs Sf MCP
In-depth architectural comparison of the Substack MCP and Sf MCP MCP servers. Compare execution transports, security boundaries, tool capabilities, quality scores, and ready-to-paste client installation snippets for Claude, Cursor, Windsurf, and VS Code.
At a Glance & Executive Verdict
Substack MCP
Social Media · Local stdio
Quality: 68/100 (Great) | Auth: other
Sf MCP
Social Media · Local stdio
Quality: 57/100 (Good) | Auth: other
Verdict Summary: Choose Substack MCP if you need specialized Social Media tools running via a local process. Choose Sf MCP if your workspace requires Social Media integration with local subprocess execution. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
Choose Substack MCP when:
You need dedicated capabilities in the Social Media domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: other (Free / Open Source).
You have access to required keys: SUBSTACK_PUBLICATION_URL, SUBSTACK_SESSION_TOKEN, SUBSTACK_USER_ID, SUBSTACK_MCP_HOME.
MCP server for Substack — read posts, manage drafts, publish Notes, get comments, and upload images. Safe by design: cannot publish or delete posts.
Connect AI agents to Signal Found's proprietary Reddit outreach network. Find prospects posting about problems your product solves, send personalized DMs at scale via your own Reddit account or a managed bot network of hundreds of accounts, and manage a full outreach CRM — all without leaving your AI client.
Category & Scope
Tools & Capabilities Breakdown
Substack MCP Tools (14)
get_subscriber_count
Get 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_posts
List published posts with pagination. Returns title, date, slug, and URL for each post.
list_drafts
List draft posts. Returns title, creation date, and audience for each draft.
get_post
Get the full content of a published post by ID. Returns title, body HTML, metadata.
get_draft
Get the full content of a draft post by ID. Returns title, body, metadata.
Ready-to-Paste Client Configurations
Paste either (or both) of these JSON server blocks into your client config file (e.g. claude_desktop_config.json or ~/.cursor/mcp.json).
Substack MCP is categorized under Social Media and uses a local stdio subprocess. In contrast, Sf MCP belongs to Social Media using local stdio subprocess. Select Substack MCP when you need capabilities focused on social media and Sf MCP when you require tools for social media.
Get comments on a published post. Returns commenter name, comment body, date, and reaction counts.
get_sections
List 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_analytics
Get 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_posts
List 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_draft
Create a new draft post. Accepts markdown body which is converted to Substack's format. Does NOT publish — creates a draft only.
update_draft
Update an existing draft post. Only works on unpublished drafts. Accepts markdown body.
upload_image
Upload 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 tools listed on main page
Sf MCP Tools (40)
sf_health
Preflight check for MCP -> onboard_api connectivity and auth context.
Use this first in a new session to confirm:
- backend is reachable
- current MCP session auth state
- whether a default client id is configured
login_with_client_id
Authenticate MCP session to a Signal Found client account.
Run this at the start of each session before business tools.
Most tools require authenticated context and will use this session client id unless
you pass an explicit `client_id` argument.
current_client_context
Return the currently authenticated client context for this MCP server session.
agent_quickstart
Zero-context onboarding playbook for agents using this MCP server.
Returns the recommended call sequence, common guardrails, and recovery hints.
logout_client_context
Clear the active authenticated client context for this MCP server session.
list_products
List all products for a client (slug, display_name, product_unique, folder_id).
get_product_tree
Get nested folders and products for a client, equivalent to frontend product tree.
create_new_account
Create a brand-new Signal Found client account for onboarding.
Requires:
- `business_name`
- `email`
Returns created `client_id` and (by default) logs this MCP session into it.
Next step after success:
- call `create_new_product`
create_new_product
Create a product and initialize the agent onboarding session context.
The response includes:
- product creation result
- context packet (existing artifacts + screenshot uri)
- prompt pack + version metadata
Prerequisite:
- authenticated session via `login_with_client_id` (or provide `client_id` explicitly)
Next step after success:
- call `run_full_agentic_onboarding` (or run staged tools manually)
get_onboarding_prompt_pack
Fetch server-curated prompt contracts that define required onboarding outputs.
Use this when an agent needs exact formatting/expectations before generating:
- clarifications
- conversation transcript
- market positioning
- keywords/subreddits
Use `artifact` for focused contracts:
- clarifications
- market_position
- conversation
- keywords
- subreddits
submit_onboarding_artifacts
Validate and persist core onboarding artifacts for a product/session.
Prerequisites:
- prompt pack must be acknowledged for `session_id`
- payloads should match the artifact schemas below
Common use:
- called by `run_full_agentic_onboarding`
- can also be used for staged/recovery runs
Expected formats:
- market_position: patch object with market position keys
- conversion_notes: {'Product Name','Payment Terms/Plans','General Notes'}
- funnels: [{'url','description','primary_use_case', optional 'qualification'}]
submit_agent_targeting
Persist targeting artifacts (keywords/subreddits) and return policy/preview.
Prerequisites:
- prompt pack must be acknowledged for `session_id`
- artifacts should already be saved for best results
Typical next step:
- approve targeting (done automatically by `run_full_agentic_onboarding` when enabled)
Formats:
- keywords: list[str]
- subreddit_groups: [{'subreddits': ['name1','name2']}]