Substack MCP Server (conorbronsdon)

Create and manage your Substack newsletter from your AI assistant or terminal. Prepare rich drafts, search your archive, publish Notes, inspect analytics, and manage explicitly consented free subscribers across publications. Review and publish long-form posts in Substack. Its 38 documented tools cover draft, posts, publication, tags. It runs locally over stdio via the published package.

People who work with draft, posts and publication and want it reachable from Claude, Cursor, VS Code, or another MCP client. The project is written in TypeScript.

VERIFIED ACTIVE

LAST COMMIT 2026-09-29 · ★ 37 · #11 OF 86 MAINTAINED DATA & ANALYTICS · VERIFIED 2026-09-30

MIT · TypeScript servers · how we verify → /methodology

01 · Install Substack MCP Server (conorbronsdon)

before you install - you'll need

Set SUBSTACK_PUBLICATION_URL, SUBSTACK_SESSION_TOKEN, SUBSTACK_USER_ID, SUBSTACK_PUB_KEVIN_MULDOON_SESSION_TOKEN, SUBSTACK_PUB_KEVIN_MULDOON_USER_ID, SUBSTACK_PUB_SAPERE_PUBLICATION_URL, SUBSTACK_PUB_SAPERE_SESSION_TOKEN, SUBSTACK_PUB_SAPERE_USER_ID, SUBSTACK_REQUEST_TIMEOUT_MS before connecting. SUBSTACK_USER_AGENT is optional or environment-specific per the README.

Claude Code

claude mcp add conorbronsdon-substack-mcp -- npx -y @conorbronsdon/substack-mcp

Claude Desktop / Cursor / VS Code - add to config

{
  "mcpServers": {
    "conorbronsdon-substack-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@conorbronsdon/substack-mcp"
      ]
    }
  }
}

Same JSON for Cursor. For VS Code, rename the top-level key from `mcpServers` to `servers`.

Using another client? Same JSON, different key

Claude Desktop · mcpServers

Cursor · mcpServers

VS Code · servers

Windsurf · mcpServers

Zed · context_servers

Cline · mcpServers

Roo Code · mcpServers

Continue · mcpServers

LibreChat · mcpServers

Gemini CLI · mcpServers

Codex CLI · mcp_servers

Full setup guides: every client.

02 · Evidence

Security posture

What to check before giving this server access to your agent - from the registry, GitHub, and our own probes. We don't score safety; we show what's verifiable.

runs as local process (stdio) - runs on your machine with your user's permissions

license MIT - declared in the repository

npm package @conorbronsdon/substack-mcp - published under the repo owner's npm scope (@conorbronsdon)

registry namespace io.github.conorbronsdon is GitHub-verified and matches the repo owner

03 · What Substack MCP Server (conorbronsdon) can do

Prose above is summarized from the project's README and registry record - no invented capabilities.

What you can build

With this server connected, an agent can get your publication's current subscriber count, read a bounded page of private subscriber records, filter and page private subscriber records, and list published posts with pagination.

Capability map

Tools grouped from the project's README - what Substack MCP Server (conorbronsdon) lets an agent do.

read & search

11 tools - e.g. Resolve post tag associations; preserves unresolved IDs and reports empty-result identity uncertainty. Draft coverage is currently live-verified only for empty ; List draft posts; Get full content of a…

get_post_tags · list_drafts · get_post · get_post_comments · get_sections · get_post_analytics…

Draft

7 tools - e.g. Review proposed changes, preflight and a receipt for best-effort stale detection; no writes; Editable Markdown, exact original body, conversion diagnostics, preflight and editor link; Read-only checks for…

plan_draft_update · export_draft · preflight_draft · get_draft · create_draft · update_draft…

Posts

5 tools - e.g. List published posts with pagination; Search a publication archive by query and status; bounded pages with continuation metadata; Rank posts by views, opens, sends, rates, signups, subscribes, estimated…

list_published_posts · search_posts · rank_posts · list_scheduled_posts · list_public_posts

Publication

3 tools - e.g. Read projected publication identity/settings, verify the configured host, and report missing fields; does not verify account identity or role; Read tag definitions, including hidden tags by default, with…

get_publication · list_publication_tags · get_publication_stats

Note

3 tools - e.g. Read a public Note, ancestors and one replies page, anonymously; Publish a Substack Note (short-form, publishes immediately); Publish a Note with a link card attachment (publishes immediately)

get_note_thread · create_note · create_note_with_link

Subscriber

2 tools - e.g. Get your publication's current subscriber count; Look up membership by exact email; reconcile pending additions

get_subscriber_count · get_subscriber

Subscribers

2 tools - e.g. Read a bounded page of private subscriber records; Filter and page private subscriber records; optional activity, date, flags and revenue fields

list_subscribers · search_subscribers

Outgoing

2 tools - e.g. List whom your publication recommends (can be partial). This is not who recommends it; use list_incoming_recommendations for that; List subscribers your publication has sent to the publications it…

list_outgoing_recommendations · list_outgoing_recommendation_stats

Limitations (from the README)

- This server uses Substack's unofficial API. It may break if Substack changes their endpoints. - Session tokens are sent as cookies. Keep your SUBSTACK_SESSION_TOKEN secure. - The server checks your credentials on startup, after the MCP handshake completes, and only warns - it never blocks startup on a network call. Tools still error individually if the token is expired, which is where the failure is actionable. - S

Latest releases

v1.3.0 · 2026-09-24

Update development toolchain to resolve audit advisories · Reject symbolic-link draft input files · current container image pin, plus two stranded 9/15 fixes (CLI statistics category, footnote export) · nightly-deep…

v1.2.1 · 2026-09-18

Fixes get_post returning 404 for numeric published-post IDs, including the article that reported the failure (#125, #127). · Adds Jonathan Price's Codex and ChatGPT setup walkthrough to the README and draft-workflow…

v1.2.0 · 2026-09-14

Map GFM footnotes to the editor's native footnotes (#104) · Accept image_url in upload_image with connection-time SSRF checks (#55) · Add rank_posts for bounded post rankings from email statistics (#101) · Treat the…

04 · Who maintains Substack MCP Server (conorbronsdon)

Substack MCP Server is maintained by conorbronsdon. We track 8 MCP servers from conorbronsdon - 7 actively maintained, 51 combined GitHub stars, oldest repo from Mar 2026. Full record: all servers from conorbronsdon.

  1. Google Workspace MCP Server 67 curated MCP tools for Google Workspace: Gmail, Calendar, Drive, Sheets, Docs, Slides, Tasks. ★ 10

05 · Facts

category
data & analytics - ranked #11 of 86 actively-maintained data & analytics servers as of 2026-09-30.
release cadence
10+ releases in the last 90 days (latest 2026-09-24)
registry
io.github.conorbronsdon/substack-mcp (active, first published 2026-06-12 · 13 versions)
packages
npm:@conorbronsdon/substack-mcp

06 · Substack MCP Server (conorbronsdon) FAQ

Is Substack MCP Server (conorbronsdon) still maintained?

Yes - as of 2026-09-30, its last commit was 2026-09-29 and it shipped 10+ releases in the last 90 days. We re-verify nightly.

What can Substack MCP Server (conorbronsdon) do?

With this server connected, an agent can get your publication's current subscriber count, read a bounded page of private subscriber records, filter and page private subscriber records, and list published posts with pagination.

How do I install Substack MCP Server (conorbronsdon)?

Run `npx -y @conorbronsdon/substack-mcp`. The README documents 10 environment variables (SUBSTACK_PUBLICATION_URL, SUBSTACK_SESSION_TOKEN, SUBSTACK_USER_ID…) to set first. Set SUBSTACK_PUBLICATION_URL, SUBSTACK_SESSION_TOKEN, SUBSTACK_USER_ID, SUBSTACK_PUB_KEVIN_MULDOON_SESSION_TOKEN, SUBSTACK_PUB_KEVIN_MULDOON_USER_ID, SUBSTACK_PUB_SAPERE_PUBLICATION_URL, SUBSTACK_PUB_SAPERE_SESSION_TOKEN, SUBSTACK_PUB_SAPERE_USER_ID, SUBSTACK_REQUEST_TIMEOUT_MS before connecting. SUBSTACK_USER_AGENT is optional or environment-specific per the README. You can also paste the ready-made client config above.

Does Substack MCP Server (conorbronsdon) run locally?

Yes - it's a stdio server: it runs on your machine (via npx) with your user's permissions. Your data stays local unless the server itself calls external APIs.

07 · Alternatives to Substack MCP Server (conorbronsdon)