← Index

substack-ops

io.github.06ketan/substack-ops·v0.3.1·Developer Tools
Quality Score
90
/100

Substack CLI + 26-tool MCP server. Your IDE drafts replies via propose_reply. No API keys.

§01  Install
Claude Desktop (uvx)
{
  "mcpServers": {
    "substack-ops": {
      "command": "uvx",
      "args": [
        "substack-ops"
      ],
      "env": {
        "SUBSTACK_PUBLICATION_URL": "<substack_publication_url>",
        "SUBSTACK_USER_ID": "<substack_user_id>",
        "SUBSTACK_SESSION_TOKEN": "<your-substack_session_token>",
        "SUBSTACK_OPS_MCP_PATH": "<substack_ops_mcp_path>",
        "SUBSTACK_OPS_LLM_CMD": "<substack_ops_llm_cmd>"
      }
    }
  }
}
§02  Environment variables
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
secret

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.

§03  MCP Quality Score  ·  methodology
freshness
25
completeness
20
installability
25
documentation
15
stability
5
§04  Alternatives in Developer Tools