icon for mcp server

Substack

STDIO

MCP server for Substack API integration enabling automated post creation and management

Substack MCP Server

A Model Context Protocol (MCP) Server for Substack enabling LLM clients to interact with Substack's API for automations like creating posts, managing drafts, and more.

Docker Pulls npm downloads

🛠 Available Tools

create_draft_post - Create a draft post

Inputs:

  • title (string): Title of the post
  • subtitle (string): Subtitle of the post
  • body (string): Body of the post

Returns: "OK" if the post was created successfully.

📋 Requirements

  • Substack tokens, follow my guide to obtain them:
    • Session token
    • Publication URL
    • User ID
  • An LLM client that supports Model Context Protocol (MCP), such as Claude Desktop, Cursors, or GitHub Copilot
  • Docker

🔌 Installation

Introduction

The installation process is standardized across all MCP clients. It involves manually adding a configuration object to your client's MCP configuration JSON file.

If you're unsure how to configure an MCP with your client, please refer to your MCP client's official documentation.

🧩 Engines

Option 1: Using NPX

This option requires Node.js to be installed on your system.

  1. Add the following to your MCP configuration file:
{ "mcpServers": { "substack-api": { "command": "npx", "args": ["-y", "substack-mcp@latest"], "env": { "SUBSTACK_PUBLICATION_URL": "<YOUR_PUBLICATION_URL>", "SUBSTACK_SESSION_TOKEN": "<YOUR_SESSION_TOKEN>", "SUBSTACK_USER_ID": "<YOUR_USER_ID>" } } } }
  1. Replace <SUBSTACK_PUBLICATION_URL>, <YOUR_SESSION_TOKEN> and <YOUR_USER_ID> with your credentials.
Option 2: Using Docker

This option requires Docker to be installed on your system.

  1. Add the following to your MCP configuration file:
{ "mcpServers": { "substack-api": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "SUBSTACK_PUBLICATION_URL", "-e", "SUBSTACK_SESSION_TOKEN", "-e", "SUBSTACK_USER_ID", "marcomoauro/substack-mcp:latest" ], "env": { "SUBSTACK_PUBLICATION_URL": "<YOUR_PUBLICATION_URL>", "SUBSTACK_SESSION_TOKEN": "<YOUR_SESSION_TOKEN>", "SUBSTACK_USER_ID": "<YOUR_USER_ID>" } } } }
  1. Replace <SUBSTACK_PUBLICATION_URL>, <YOUR_SESSION_TOKEN> and <YOUR_USER_ID> with your credentials.

💻 Popular Clients that supports MCPs

For a complete list of MCP clients and their feature support, visit the official MCP clients page.

ClientDescription
Claude DesktopDesktop application for Claude AI
CursorAI-first code editor
Cline for VS CodeVS Code extension for AI assistance
GitHub Copilot MCPVS Code extension for GitHub Copilot MCP integration
WindsurfAI-powered code editor and development environment

🆘 Support

  • For issues with this MCP Server: Open an issue on GitHub

Be the First to Experience MCP Now