substack-mcp

marcomoauro/substack-mcp

3.4

If you are the rightful owner of substack-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The Substack MCP Server is a Model Context Protocol server designed to facilitate interactions between LLM clients and Substack's API, enabling automation tasks such as creating posts and managing drafts.

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.

🛠 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