Substack MCP Server
by marcomoauroio.github.marcomoauro/substack-mcpv1.3.2
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.
context tax
queued
security
queued
cold start
queued
freshness
Maintained37d ago
Install Substack MCP server
Install in Claude Code
claude mcp add substack-marcomoauro -e SUBSTACK_PUBLICATION_URL='<substack-publication-url>' -e SUBSTACK_SESSION_TOKEN='<substack-session-token>' -e SUBSTACK_USER_ID='<substack-user-id>' -- npx -y substack-mcpInstall in Cursor
{
"mcpServers": {
"substack-marcomoauro": {
"command": "npx",
"args": [
"-y",
"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-marcomoauro": {
"command": "npx",
"args": [
"-y",
"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-marcomoauro": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"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-marcomoauro": {
"command": "npx",
"args": [
"-y",
"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 | — | Full URL of your Substack publication, including https:// |
| SUBSTACK_SESSION_TOKEN | yes | yes | Value of the substack.sid or connect.sid cookie from your authenticated Substack session |
| SUBSTACK_USER_ID | yes | — | Numeric user ID returned by Substack's publication_user request |
Freshness
Maintained — last maintenance signal 37d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-09-03 · 37d ago · GitHub
Latest release
2026-09-03 · 37d ago · GitHub · v1.3.2
Package published
no data · npm/PyPI
Registry entry updated
2026-09-03 · 37d ago · official registry · v1.3.2
FAQ
›How do I install the Substack MCP server in Claude Code?
Run: claude mcp add substack-marcomoauro -e SUBSTACK_PUBLICATION_URL='<substack-publication-url>' -e SUBSTACK_SESSION_TOKEN='<substack-session-token>' -e SUBSTACK_USER_ID='<substack-user-id>' -- npx -y 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.marcomoauro/substack-mcp.
Alternatives to Substack
Other ai & llm tools MCP servers.