# 06ketan/substack-ops [Health: Active]

**Category:** 🌐 Social Media  
**Repository:** https://github.com/06ketan/substack-ops  
**GitHub Stars:** 1  
**Views:** 6  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/06ketan-substack-ops

## Description
Substack with zero AI API keys. 26 tools (posts, notes, comments, replies, reactions, restacks). Host LLM drafts via proposereply → confirmreply tokens. SQLite dedup, JSONL audit, dry-run default. Install: uvx substack-ops mcp install cursor.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "substack-ops": {
    "command": "uvx",
    "args": ["substack-ops"]
  }
}
```

## Documentation

## What 06ketan/substack-ops MCP server does

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.

## How it works

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.

## Setup and configuration

Install the package from PyPI with `uv` or `uvx`. The documented host setup command is:

```bash
uvx substack-ops mcp install cursor
```

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.

## Tools and capabilities

06ketan/substack-ops MCP server is suited to tasks such as:

- Finding unanswered comments on a post.
- Drafting, reviewing, approving, and sending replies.
- Exporting nested comment trees as JSON.
- Publishing a top-level Note after disabling dry-run mode.
- Searching posts and inspecting publication or reader feeds.
- Applying or removing reactions and restacking content.

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.

## Limitations and notes

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.

_Full upstream README: https://allmcps.com/mcp/06ketan-substack-ops/readme_

