substack-ops MCP Server
by 06ketanio.github.06ketan/substack-opsv0.3.5
Manage Substack posts, notes, comments, replies, reactions and restacks, with a propose-then-confirm reply flow, audit log and dry-run by default.
context tax
queued
security
queued
cold start
queued
freshness
Slowing5mo ago
Install substack-ops MCP server
Install in Claude Code
claude mcp add substack-ops -e SUBSTACK_SESSION_TOKEN='<substack-session-token>' -- uvx substack-ops mcp serveInstall in Cursor
{
"mcpServers": {
"substack-ops": {
"command": "uvx",
"args": [
"substack-ops",
"mcp",
"serve"
],
"env": {
"SUBSTACK_SESSION_TOKEN": "<substack-session-token>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"substack-ops": {
"command": "uvx",
"args": [
"substack-ops",
"mcp",
"serve"
],
"env": {
"SUBSTACK_SESSION_TOKEN": "<substack-session-token>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"substack-ops": {
"type": "stdio",
"command": "uvx",
"args": [
"substack-ops",
"mcp",
"serve"
],
"env": {
"SUBSTACK_SESSION_TOKEN": "<substack-session-token>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"substack-ops": {
"command": "uvx",
"args": [
"substack-ops",
"mcp",
"serve"
],
"env": {
"SUBSTACK_SESSION_TOKEN": "<substack-session-token>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| SUBSTACK_PUBLICATION_URL | — | — | Your Substack publication URL (e.g. https://you.substack.com/). Optional if set in ~/.cursor/mcp.json's mcpServers.substack-api.env. |
| SUBSTACK_USER_ID | — | — | Your Substack numeric user id. Optional if set in ~/.cursor/mcp.json. |
| SUBSTACK_SESSION_TOKEN | — | yes | Your Substack session cookie value (the s%3A... string). Required for authenticated calls. Easier path: run `substack-ops auth login --browser chrome` and the cookie is auto-grabbed. |
| SUBSTACK_OPS_MCP_PATH | — | — | Override path to the mcp.json file the auth layer reads. Defaults to ~/.cursor/mcp.json. |
| SUBSTACK_OPS_LLM_CMD | — | — | Optional: override the host CLI used by the unattended daemon path (default: auto-detect claude / cursor-agent / codex on PATH). Use {prompt} placeholder if your CLI takes the prompt as an arg. |
Freshness
Slowing — last maintenance signal 5mo ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-05-24 · 5mo ago · GitHub
Latest release
2026-05-03 · 5mo ago · GitHub · v0.3.5
Package published
no data · npm/PyPI
Registry entry updated
2026-05-03 · 5mo ago · official registry · v0.3.5
FAQ
›How do I install the substack-ops MCP server in Claude Code?
Run: claude mcp add substack-ops -e SUBSTACK_SESSION_TOKEN='<substack-session-token>' -- uvx substack-ops mcp serve. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does substack-ops require an API key?
Yes. It expects SUBSTACK_SESSION_TOKEN, of which 1 is a secret.
›Can I use substack-ops as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is substack-ops in the official MCP registry?
Yes, as io.github.06ketan/substack-ops.
Alternatives to substack-ops
Other notes & knowledge MCP servers.