← All MCP Servers
MIT v0.1.13 SubstackPublishingNewsletterRust

Substack MCP

@kembec/substack-mcp · Model Context Protocol Server

Install

npm install -g @kembec/substack-mcp

publish_post is irreversible and emails all subscribers by default. Always verify your draft with list_drafts before publishing.

Read posts, profiles, and comments from any public Substack, and publish content to your own. Authenticate with your connect.sid session cookie — credentials are read from environment variables only and never written to disk. Supports creating and editing drafts, publishing posts with optional email delivery, posting notes, and liking content. Ships as a single static binary with no Node.js or Python dependency.

  1. Draft and publish Substack posts from Claude without opening a browser

  2. Read posts and comments from any publication for research or summarization

  3. Manage content drafts and edits through natural language

  4. Post notes to your Substack profile from a chat interface

  • Substack account with a publication for draft and publish tools
  • connect.sid session cookie from substack.com → DevTools → Application → Cookies
  • SUBSTACK_PUBLICATION_URL only required for draft, update, and publish tools
					{
  "mcpServers": {
    "substack": {
      "command": "npx",
      "args": ["-y", "@kembec/substack-mcp"],
      "env": {
        "SUBSTACK_SID": "s:your-connect-sid-value",
        "SUBSTACK_PUBLICATION_URL": "https://yourname.substack.com"
      }
    }
  }
}
				
					[mcp_servers.substack]
command = "npx"
args = ["-y", "@kembec/substack-mcp"]
enabled = true

[mcp_servers.substack.env]
SUBSTACK_SID = "s:your-connect-sid-value"
SUBSTACK_PUBLICATION_URL = "https://yourname.substack.com"
				
get_profile

Fetch a writer's public profile by slug

get_posts

List published posts from any publication with pagination

get_post

Get a single post with full content by slug

get_comments

List comments on a post by post ID

get_notes

List a user's notes by user ID

create_note

Post a note to your profile — requires SUBSTACK_SID

like_post

Like a post — requires SUBSTACK_SID

list_drafts

List unpublished drafts — requires SUBSTACK_SID + SUBSTACK_PUBLICATION_URL

create_draft

Create a new draft with title and body — requires SUBSTACK_SID + SUBSTACK_PUBLICATION_URL

update_draft

Edit an existing draft by ID — requires SUBSTACK_SID + SUBSTACK_PUBLICATION_URL

publish_post

Publish a draft. Irreversible — sends emails to all subscribers when send_email is true (default). Requires SUBSTACK_SID + SUBSTACK_PUBLICATION_URL.