Substack MCP Server
by conorbronsdonio.github.conorbronsdon/substack-mcpv1.3.0
Safe creator operations for Substack: rich drafts, Notes, analytics, and consented subscribers. Long-form posts stay draft-only; Notes publish immediately.
context tax
queued
security
queued
cold start
queued
freshness
Active5d ago
Install Substack MCP server
Install in Claude Code
claude mcp add substack -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-mcpInstall in Cursor
{
"mcpServers": {
"substack": {
"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>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"substack": {
"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>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"substack": {
"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>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"substack": {
"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>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| SUBSTACK_PUBLICATION_URL | yes | — | Your Substack publication URL (e.g., https://yourblog.substack.com) |
| SUBSTACK_SESSION_TOKEN | yes | yes | connect.sid cookie value from your Substack session |
| SUBSTACK_USER_ID | yes | — | Your Substack user ID |
Freshness
Active — last maintenance signal 5d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-10-04 · 5d ago · GitHub
Latest release
2026-09-24 · 15d ago · GitHub · v1.3.0
Package published
no data · npm/PyPI
Registry entry updated
2026-09-24 · 15d ago · official registry · v1.3.0
FAQ
›How do I install the Substack MCP server in Claude Code?
Run: claude mcp add substack -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. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does Substack require an API key?
Yes. It expects SUBSTACK_PUBLICATION_URL, SUBSTACK_SESSION_TOKEN, SUBSTACK_USER_ID, of which 1 is a secret.
›Can I use Substack as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is Substack in the official MCP registry?
Yes, as io.github.conorbronsdon/substack-mcp.
Alternatives to Substack
Other notes & knowledge MCP servers.