Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

substack-ops

de 06ketanversión 0.3.5i★ –iSe ejecuta en tu computadora
Nombre en el registroio.github.06ketan/substack-ops

Instalar

Resumen

Descripción del creador (original en inglés)

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

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en tu computadora
  • Transporte: stdio
  • Categoría: Otros
  • Debes completar: SUBSTACK_SESSION_TOKEN

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

  • Revisiones básicas: 1 de 1 superadas
  • Se ejecuta en tu computadora con los permisos de tu usuario (archivos, red, apps).
  • Debes completar tú: SUBSTACK_PUBLICATION_URL, SUBSTACK_USER_ID, SUBSTACK_SESSION_TOKEN, SUBSTACK_OPS_MCP_PATH, SUBSTACK_OPS_LLM_CMD

Los valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.

Necesitas

  • PyPIuv de Python instalado (para el comando uvx)

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json

{
  "mcpServers": {
    "substack-ops": {
      "command": "uvx",
      "args": [
        "substack-ops",
        "mcp",
        "serve"
      ],
      "env": {
        "SUBSTACK_PUBLICATION_URL": "your-value",
        "SUBSTACK_USER_ID": "your-value",
        "SUBSTACK_SESSION_TOKEN": "your-value",
        "SUBSTACK_OPS_MCP_PATH": "your-value",
        "SUBSTACK_OPS_LLM_CMD": "your-value"
      }
    }
  }
}

Ejecuta esto en tu terminal

claude mcp add substack-ops --env SUBSTACK_PUBLICATION_URL=your-value --env SUBSTACK_USER_ID=your-value --env SUBSTACK_SESSION_TOKEN=your-value --env SUBSTACK_OPS_MCP_PATH=your-value --env SUBSTACK_OPS_LLM_CMD=your-value -- uvx substack-ops mcp serve

Completa los valores vacíos antes de ejecutarlo.

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "substack-ops": {
      "command": "uvx",
      "args": [
        "substack-ops",
        "mcp",
        "serve"
      ],
      "env": {
        "SUBSTACK_PUBLICATION_URL": "your-value",
        "SUBSTACK_USER_ID": "your-value",
        "SUBSTACK_SESSION_TOKEN": "your-value",
        "SUBSTACK_OPS_MCP_PATH": "your-value",
        "SUBSTACK_OPS_LLM_CMD": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "substack-ops": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "substack-ops",
        "mcp",
        "serve"
      ],
      "env": {
        "SUBSTACK_PUBLICATION_URL": "your-value",
        "SUBSTACK_USER_ID": "your-value",
        "SUBSTACK_SESSION_TOKEN": "your-value",
        "SUBSTACK_OPS_MCP_PATH": "your-value",
        "SUBSTACK_OPS_LLM_CMD": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Valores que debes completar

  • SUBSTACK_PUBLICATION_URL env
    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 env
    Your Substack numeric user id. Optional if set in ~/.cursor/mcp.json.
  • SUBSTACK_SESSION_TOKEN secreto env
    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 env
    Override path to the mcp.json file the auth layer reads. Defaults to ~/.cursor/mcp.json.
  • SUBSTACK_OPS_LLM_CMD env
    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.

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub 06ketan, dueña del repo

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Comparado con otros en Otrosi

  • Más estrellas que el 0% de los otros 32568 servidores de esta categoría
  • Publicado en el registro más recientemente que el 8% de los otros 32568 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 32568 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro substack-ops?

Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

Debes completar: SUBSTACK_SESSION_TOKEN

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (0.3.5) llegó al registro hace 6 meses.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv) en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: Spec Driven Development, Remote Desktop Commander, FlyDocs

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

Spec Driven Development

de formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Se ejecuta en tu computadora★ 440MITActualizado hace 14 meses
Instalar

Remote Desktop Commander

de desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Se ejecuta en la nube★ 211Actualizado ayer
Instalar

FlyDocs

de flydocs.ai

Spec-driven development workflow: your agent works issues, sessions and the status lifecycle.

Se ejecuta en tu computadoraActualizado hoy
Instalar

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

substack-ops

Standalone Substack CLI + 26-tool MCP server for Cursor MCP, Claude MCP, OpenCode MCP, and any stdio MCP host. Your IDE drafts the replies. Zero AI API keys.

Site → [substack-ops.chavan.in](https://substack-ops.chavan.in) · Source → [06ketan/substack-ops](https://github.com/06ketan/substack-ops) · Glama → [mcp/servers/06ketan/substack-ops](https://glama.ai/mcp/servers/06ketan/substack-ops)

Posts, notes, comments, replies, reactions, restacks, recommendations, search, profiles, feeds, automations, MCP server, Textual TUI. One Python install, one binary, MIT licensed.

TL;DR — MCP-native (no API key, one command)

uvx substack-ops mcp install cursor          # or claude-desktop, claude-code, opencode, print

Restart your host. Then in chat:

"list unanswered comments on post 193866852"

"draft a warm reply to comment 12345"

"post that draft"

Your host's LLM (Cursor's, Claude's) does the drafting via the propose_reply / confirm_reply tools. No ANTHROPIC_API_KEY / OPENAI_API_KEY needed.

Wrong install?

This project is `substack-ops` on [PyPI](https://pypi.org/project/substack-ops/) — install with `uv` / `uvx`, not unrelated `npx` packages that appear when searching “Substack MCP”. Canonical listing: [Glama — 06ketan/substack-ops](https://glama.ai/mcp/servers/06ketan/substack-ops).

Works with (MCP)

These rows help discovery (search keywords); confirm each host’s current MCP docs before upgrading.

Open source–oriented hosts
HostDocumentationTypical wire-up
OpenCodeOpenCode MCP serversuvx substack-ops mcp install opencode
ContinueContinueuvx substack-ops mcp install print — paste the snippet into Continue’s MCP settings
ZedZedConfigure stdio MCP per Zed’s docs
ClineClineMCP setup per extension / marketplace docs
GooseGooseMCP extensions per Goose docs
Large commercial stacks
HostDocumentationTypical wire-up
CursorCursor MCPuvx substack-ops mcp install cursor
Claude (Desktop / Code)Claude Desktop, Claude Codemcp install claude-desktop / claude-code
GitHub CopilotCopilotMCP in VS Code / Copilot where supported — use print + host docs
ChatGPTOpenAIDeveloper / connector flows — often REST (Slideshot API) for tools without MCP
Google GeminiGeminiGemini CLI / IDE features per Google docs — stdio where supported
OpenCode (copy-paste)

Auto-install:

uvx substack-ops mcp install opencode

Manual (~/.config/opencode/opencode.json):

{

"mcp": { "substack-ops": { "type": "local", "command": ["uvx", "substack-ops", "mcp", "serve"], "enabled": true } } }

Optional version pin: use ["uvx", "substack-ops==0.3.5", "mcp", "serve"] (replace with current PyPI release).

Setup (dev / from source)

git clone https://github.com/06ketan/substack-ops && cd substack-ops

uv sync uv sync --extra mcp # mcp SDK for the MCP server (recommended) uv sync --extra tui # textual for the TUI uv sync --extra chrome # pycryptodome + keyring for Chrome cookie auto-grab

Auth defaults to ~/.cursor/mcp.json's mcpServers.substack-api.env. Override with env or .env. Or use one of the auth flows in auth login / auth setup.

uv run substack-ops auth verify

uv run substack-ops quickstart # 20-step tour

Command surface

Grouped by intent. Every write defaults to --dry-run; flip with --no-dry-run (and --yes-i-mean-it for the irreversible ones). All writes land in .cache/audit.jsonl and are dedup-checked against .cache/actions.db.

Auth (4)
CommandWhat it does
auth verifyConfirm the cookie works; print authed user/pub.
auth testSame as verify, exit non-zero on failure (CI-friendly).
`auth login --browser chrome\brave`Auto-grab cookie from local Chromium browser via macOS Keychain.
auth login --email me@x.comEmail magic-link → paste-the-link interactive flow.
auth setupInteractive paste of connect.sid cookie.
Read — Posts (8)
CommandWhat it does
`posts list [--pub] [--limit] [--sort new\top]`List posts from a publication (yours by default).
posts show [--pub]Post metadata (title, dates, reactions, comment count).
posts get --slug [--pub]Same as show but slug-only.
posts content [--md] [--pub]HTML body (auth-aware for paywalled). --md converts to Markdown.
posts stats Engagement counts — reactions, comments.
posts search [--pub] [--limit]Substack-side full-text search.
posts paywalled [--pub]Boolean: is this post paywalled?
posts react [--off] [--pub]Add (or remove with --off) a reaction. Defaults to ❤.
posts restack [--off]Restack a post (Substack does not support unrestack).
Read — Notes (5)
CommandWhat it does
notes list [--limit]Your published Notes.
notes show One note + its reply tree.
notes publish [--no-dry-run]Publish a top-level Note.
notes react [--off]React on any Note.
notes restack [--off]Restack a Note.
Read + Write — Comments (5)
CommandWhat it does
comments tree [--pub]Full nested comment tree as table.
comments export --out file.json [--pub]Same tree as JSON.
comments add [--pub] [--no-dry-run]New top-level comment.
`comments react --kind post\note [--off]`React on a comment.
`comments delete --kind post\note [--no-dry-run]`Destructive — your own comments only.
Reply engine (6)
CommandWhat it does
reply template --template thanksRule-based replies (no LLM).
reply review LLM drafts each, you [a]ccept / [e]dit / [s]kip / [q]uit.
reply bulk --out drafts.jsonDraft every comment to a file. Edit, set action: "approved".
reply note-bulk --out drafts.jsonSame for replies under a Note.
reply bulk-send drafts.json [--no-dry-run]Posts only approved rows. Dedup-checked.
reply auto --no-dry-run --yes-i-mean-itDraft + post immediately. 30s rate limit.
Read — Discovery (8)
CommandWhat it does
`feed list --tab for-you\subscribed\category-{slug}`Reader feed (the Substack app feed).
profile me / profile get Profile.
users get / users subscriptions Public user info + their subs.
podcasts list [--pub]Audio posts.
recommendations list [--pub]Pub's recommended publications.
authors list [--pub]Pub's contributor list.
categories list / categories get --name Substack's category taxonomy.
Automations (3)
CommandWhat it does
auto presetsList built-in YAML rules.
auto run One-shot run a preset.
auto daemon --interval 60Loop forever; logs to audit.
Operations + safety (3)
CommandWhat it does
audit search [--kind] [--target] [--status] [--since 7d]Query the JSONL audit log.
audit dedup-statusCounts in the dedup SQLite DB.
quickstart20-step interactive tour.
MCP server (3)
CommandWhat it does
mcp install [--dry-run]Auto-merge config into your host.
mcp servestdio MCP server (26 tools).
mcp list-toolsPrint the tool registry.
Other (1)
CommandWhat it does
tuiTextual TUI — 6 tabs (Notes, Posts, Comments, Feed, Auto, Profile).

Multi-publication

Every read command accepts --pub . Defaults to your own publication.

substack-ops posts list --pub stratechery --limit 5

substack-ops posts search "ai" --pub stratechery substack-ops recommendations list --pub stratechery

Reply modes

ModeWhat it doesSafety
templateYAML keyword/regex rules under src/substack_ops/templates/*.yamldry-run default
reviewLLM drafts each reply, you [a]ccept / [e]dit / [s]kip / [q]uitdry-run default + manual gate per comment
bulkLLM drafts every comment to drafts.json. Edit file, set action: "approved"offline review, dedup-checked on send
bulk-sendPosts only items with action: "approved"dry-run default; dedup DB prevents the M2 31-dup-replies regression
autoLLM drafts and posts immediatelyrequires --no-dry-run --yes-i-mean-it, 30s rate limit

After every live note-reply the engine re-fetches the new comment and asserts ancestor_path is non-empty. If empty, the audit row's result_status is flipped to "orphaned" (the M2 bug where parent_comment_id was silently dropped — now caught).

Automations

Built-in presets (auto presets):

  1. like-back — when someone reacts to your note, react to their latest note.
  2. auto-reply — same trigger, but post a templated thank-you.
  3. auto-restack — when a watchlist handle posts a new note, restack it.
  4. follow-back — when someone follows you, follow them back.

Custom YAML rules under ~/.config/substack-ops/auto/*.yaml. Loop with auto daemon --interval 60.

MCP server

substack-ops mcp install opencode          # auto-add to ~/.config/opencode/opencode.json

substack-ops mcp install cursor # auto-add to ~/.cursor/mcp.json substack-ops mcp install claude-desktop # auto-add to claude_desktop_config.json substack-ops mcp install claude-code

Solo se muestra el principio; lee el resto en el repo

Pregunta a PopNx