Mmcp.market

Substack MCP Server

by marcomoauro·io.github.marcomoauro/substack-mcp·v1.3.2

Manage Substack publishing, subscribers, analytics, reader feeds, comments, and images through MCP.

B83/100grade B
What users say
No reviews yet
Be the first
Safety scan
B83/100

full report

Adoption
Established

73 stars218 downloads/wk

Reviews

Write one

Nobody has reviewed Substack MCP Server yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Substack MCP Server tools

No tool declarations could be read from the package source. They show once the server is installed.

Public scan report

scanner v0.1.9 · 2026-09-20 · same rubric, same numbers if you re-run it

no findings
  • Code scan39 source files scanned25/25
  • Live reliabilityno gateway calls yet and no remote to proben/a
  • Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitystatic API keys via environment variables6/15
  • Maintenancelast push 17 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 83/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

What the publisher says

From the Substack MCP Server repository's README, as published. We do not edit it. Read it on GitHub

Substack MCP Server

A Model Context Protocol (MCP) Server for Substack enabling LLM clients to interact with Substack's API for automations like creating posts, managing drafts, and more.

Create and publish posts, work with subscribers and analytics, browse your reader feeds, manage tags and comments, and upload images — 27 tools exposed through one MCP server.

[!IMPORTANT]

Substack does not provide a public API for these operations. This server uses your authenticated

web session. Treat the session token exactly like a password: keep it local, never commit it, and

never include it or a complete Cookie header in a bug report.

Quick start

The fastest installation uses Node.js 22 or newer and npx.

1. Collect your Substack credentials

Sign in to Substack in your browser and open your publication dashboard. You need three values:

https://your-publication.substack.com.

  • Publication URL — the full base URL of your publication, for example

Fetch/XHR, and reload the dashboard. Open a successful authenticated request to your publication. Under Request Headers, find the Cookie header and locate a session cookie named substack.sid or connect.sid. Copy its value without the cookie name or the rest of the header. If both names appear with different values, test them separately and locally with the read-only verification in step 3; never paste either value into an issue.

  • Session token — open your browser's developer tools, select Network, filter to

its JSON response, copy the numeric id inside the user object.

  • User ID — in the same Network panel, search for a successful publication_user request. In

If the browser UI differs, the illustrated credential guide shows the same requests. If authentication later stops working, sign in again and repeat these steps to obtain the current token.

2. Add the server to your MCP client

For clients that accept MCP JSON configuration, add:

{
  "mcpServers": {
    "substack": {
      "command": "npx",
      "args": ["-y", "substack-mcp@latest"],
      "env": {
        "SUBSTACK_PUBLICATION_URL": "https://your-publication.substack.com",
        "SUBSTACK_SESSION_TOKEN": "your-session-token",
        "SUBSTACK_USER_ID": "your-user-id"
      }
    }
  }
}

Replace the three example values, save the configuration, and restart your MCP client. Consult your client's documentation if it uses a different configuration format.

3. Verify the connection

Ask your client:

List my five most recent Substack drafts.

The client should call list_posts with status: "drafts". If it fails, check the client's MCP logs and the logging section below before opening an issue.

Docker quick start

To use the published Docker image instead of Node.js, add this server configuration:

{
  "mcpServers": {
    "substack": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "SUBSTACK_PUBLICATION_URL",
        "-e", "SUBSTACK_SESSION_TOKEN",
        "-e", "SUBSTACK_USER_ID",
        "marcomoauro/substack-mcp:latest"
      ],
      "env": {
        "SUBSTACK_PUBLICATION_URL": "https://your-publication.substack.com",
        "SUBSTACK_SESSION_TOKEN": "your-session-token",
        "SUBSTACK_USER_ID": "your-user-id"
      }
    }
  }
}

🛠 Available Tools

createdraftpost - Create a draft post

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Install directly

Runs npx -y substack-mcp on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add substack-mcp -- npx -y substack-mcp
Add to Cursor

Substack MCP Server: common questions

Is Substack MCP Server safe?
Mostly: it is graded B (83/100). Read the Substack MCP Server safety report
How do I install Substack MCP Server?
It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
Does Substack MCP Server need an API key?
Yes. The registry entry asks for SUBSTACK_SESSION_TOKEN.
Is Substack MCP Server maintained?
The last commit was 17 days ago (2026-09-03). The latest release is v1.3.2.
What can I use instead of Substack MCP Server?
Servers from other publishers that do the same job: Substack MCP Server.

Alternatives to Substack MCP Server

Same job from other publishers: the closest match first, then the best rated.

  • Substack MCP Server
    Substack drafts, Notes, analytics and consented subscribers. Long-form posts stay draft-only.
    B

More from marcomoauro