substack-ops runs on your own machine — the client starts it, so there is no endpoint to ping. 77 installs a week from pypi. Last commit 24 May 2026.
Substack CLI + 26-tool MCP server. Your IDE drafts replies via propose_reply. No API keys.
We read the source, 1 h ago · rules 3dff92dd89df
What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.
result = subprocess.run(
Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.
We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.
This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.
claude mcp add substack-ops -- uvx substack-ops
{
"mcpServers": {
"substack-ops": {
"args": [
"substack-ops"
],
"command": "uvx"
}
}
}
[mcp_servers.substack-ops]
command = "uvx"
args = ["substack-ops"]
{
"mcpServers": {
"substack-ops": {
"args": [
"substack-ops"
],
"command": "uvx"
}
}
}
{
"mcpServers": {
"substack-ops": {
"args": [
"substack-ops"
],
"command": "uvx"
}
}
}
This one needs environment variables set before it will start:
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 (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.).
The author declared them in the registry entry; get the values from the project itself.
Medium CLI + 23-tool MCP server. Your IDE drafts replies. No API keys.
Local-first MCP server: Claude searches, asks & drafts from your Obsidian vault. 21 tools, no keys.
Read-only X/Twitter MCP: posts, threads, replies, search via twscrape. No API key.
Indexes your codebase's public API and serves it via compact MCP tool responses.
Substack drafts, Notes, analytics and consented subscribers. Long-form posts stay draft-only.
Discourse MCP CLI server (stdio) exposing Discourse tools via MCP
MCP server and CLI tool for interacting with the Wayback Machine without API keys
MCP server for the @agentutility compose cluster — pay-per-call x402 tools, no API keys, USDC on…
Answers built from our own checks of this server.