Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

substack-mcp

marcomoauro324MIT1.0.6

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.

mcp, mcpserver, substack, ai, post, draft

readme

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

<summary>create_draft_post - Create a draft post</summary>

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

<summary>Option 1: Using NPX</summary>

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>"
       }
     }
    }
    }
  2. Replace <SUBSTACK_PUBLICATION_URL>, <YOUR_SESSION_TOKEN> and <YOUR_USER_ID> with your credentials.

<summary>Option 2: Using Docker</summary>

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>"
       }
     }
    }
    }
  2. Replace <SUBSTACK_PUBLICATION_URL>, <YOUR_SESSION_TOKEN> and <YOUR_USER_ID> with your credentials.

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

Client Description
Claude Desktop Desktop application for Claude AI
Cursor AI-first code editor
Cline for VS Code VS Code extension for AI assistance
GitHub Copilot MCP VS Code extension for GitHub Copilot MCP integration
Windsurf AI-powered code editor and development environment

🆘 Support

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