Manage Substack posts, Notes, comments, replies, reactions, restacks, feeds, profiles, and discovery through MCP.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent ā or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag ā we're steadily working through the catalog.
š” Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Substack Ops.
06ketan/substack-ops MCP server connects an MCP host to Substack workflows through the substack-ops Python package. The project describes a 26-tool MCP interface covering publication posts, Notes, comments, replies, reactions, restacks, recommendations, search, profiles, feeds, and automations. It also provides a standalone CLI and a Textual-based terminal interface, although this listing focuses on the MCP server.
Read operations include listing and inspecting posts, retrieving post content, checking engagement statistics, searching Substack content, inspecting paywall status, browsing Notes, viewing comment trees, exporting comments, reading feeds, and looking up profiles or subscriptions. Write operations include publishing Notes, adding or deleting comments, reacting to posts, Notes, and comments, and restacking supported content.
The server runs locally over stdio and is configured in an MCP host such as Cursor, Claude Desktop, Claude Code, or OpenCode. Authentication uses Substack account access rather than an AI provider key. The README documents cookie-based setup, browser cookie retrieval for supported Chromium browsers, and an email magic-link flow.
Reply workflows separate drafting from publication. The host model can call proposal and confirmation tools so it creates the text while Substack actions remain explicit. The CLI also supports rule-based templates, interactive review, bulk draft files, approval-based bulk sending, and an automatic reply mode with a stated 30-second rate limit.
Write actions use dry-run behavior by default. Actions that are actually sent are recorded in .cache/audit.jsonl, while .cache/actions.db is used to check for duplicates. Some irreversible operations require both the non-dry-run option and an explicit confirmation flag.
Install the package from PyPI with uv or uvx. The documented host setup command is:
Equivalent installation targets are documented for Claude Desktop, Claude Code, and OpenCode; print can output a configuration snippet for hosts that require manual setup. The OpenCode example runs uvx substack-ops mcp serve as the local MCP process.
For development, the README uses uv sync, with optional extras for the MCP SDK, terminal UI, and browser-cookie support. Authentication can be checked with auth verify or auth test. Configuration defaults to the substack-api entry in ~/.cursor/mcp.json and can also be supplied through environment configuration or a .env file.
06ketan/substack-ops MCP server is suited to tasks such as:
The available operations require an authenticated Substack session for account-specific or write actions. The host must support local stdio MCP servers and should follow its own current MCP configuration instructions.
The project does not supply an AI drafting API. Its documented design relies on the connected host's LLM for generated replies, which is why an ANTHROPIC_API_KEY or OPENAI_API_KEY is not needed for that workflow. It is also not a hosted MCP endpoint; the documented configuration launches the package locally.
Substack authentication is session-based, and the excerpt does not specify a fixed environment-variable name for credentials. Browser cookie extraction depends on the documented local browser and operating-system setup. Destructive or externally visible actions should be reviewed because dry-run is the default, and some commands require an additional confirmation flag.
Factual signals from GitHub, npm, and our automated checks ā not a rating.
No reviews yet ā be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/06ketan-substack-ops)<a href="https://allmcps.com/mcp/06ketan-substack-ops"><img src="https://allmcps.com/api/badge/06ketan-substack-ops?style=directory" alt="Substack Ops on AllMCPs" /></a>