Substack MCP Server runs on your own machine — the client starts it, so there is no endpoint to ping. 1 561 installs a week from npm. Last commit 1 Nov 2026.
Substack drafts, Notes, analytics and consented subscribers. Long-form posts stay draft-only.
We read the source, 2 d ago · rules 995398eba69f
What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.
const child = spawn(file, args, { stdio: ["pipe", "pipe", "pipe"], windowsHide: true });
Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.
We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.
This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.
claude mcp add substack-mcp -e 'SUBSTACK_PUBLICATION_URL=<SUBSTACK_PUBLICATION_URL>' -e 'SUBSTACK_SESSION_TOKEN=<SUBSTACK_SESSION_TOKEN>' -e 'SUBSTACK_USER_ID=<SUBSTACK_USER_ID>' -- npx -y @conorbronsdon/substack-mcp
{
"mcpServers": {
"substack-mcp": {
"command": "npx",
"args": [
"-y",
"@conorbronsdon/substack-mcp"
],
"env": {
"SUBSTACK_PUBLICATION_URL": "<SUBSTACK_PUBLICATION_URL>",
"SUBSTACK_SESSION_TOKEN": "<SUBSTACK_SESSION_TOKEN>",
"SUBSTACK_USER_ID": "<SUBSTACK_USER_ID>"
}
}
}
}
[mcp_servers.substack-mcp]
command = "npx"
args = ["-y", "@conorbronsdon/substack-mcp"]
env = { SUBSTACK_PUBLICATION_URL = "<SUBSTACK_PUBLICATION_URL>", SUBSTACK_SESSION_TOKEN = "<SUBSTACK_SESSION_TOKEN>", SUBSTACK_USER_ID = "<SUBSTACK_USER_ID>" }
{
"mcpServers": {
"substack-mcp": {
"command": "npx",
"args": [
"-y",
"@conorbronsdon/substack-mcp"
],
"env": {
"SUBSTACK_PUBLICATION_URL": "<SUBSTACK_PUBLICATION_URL>",
"SUBSTACK_SESSION_TOKEN": "<SUBSTACK_SESSION_TOKEN>",
"SUBSTACK_USER_ID": "<SUBSTACK_USER_ID>"
}
}
}
}
{
"servers": {
"substack-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@conorbronsdon/substack-mcp"
],
"env": {
"SUBSTACK_PUBLICATION_URL": "<SUBSTACK_PUBLICATION_URL>",
"SUBSTACK_SESSION_TOKEN": "<SUBSTACK_SESSION_TOKEN>",
"SUBSTACK_USER_ID": "<SUBSTACK_USER_ID>"
}
}
}
}
Put your own values in place of
<SUBSTACK_PUBLICATION_URL> (Your Substack publication URL (e.g., https://yourblog.substack.com)), <SUBSTACK_SESSION_TOKEN> (connect.sid cookie value from your Substack session), <SUBSTACK_USER_ID> (Your Substack user ID).
The author’s registry entry marks them as required.
FastMCP server for Substack — publish Notes and posts, pull analytics, manage drafts, pluggable…
Manage Substack publishing, subscribers, analytics, reader feeds, comments, and images through MCP.
Looply AI call center MCP Server - manage calls, leads, contacts, and analytics.
MCP server for the Mailtrap email platform — analytics, sending, contacts, sandbox
MCP server for opn.onl: shorten links, analytics, branded QR codes, and link management.
Manage beehiiv newsletters, posts, podcasts, community, subscribers, and analytics.
Apple Podcasts Connect owner analytics over Reporter: plays, followers, episodes. Read-only.
Stdio MCP server for PromptEden projects, monitors, answers, and analytics.
Answers built from our own checks of this server.