Skip to content

Writer plan · read-only

MCP server for AI agents

A hosted MCP server that lets Claude, ChatGPT and other agents read your archive, learn your voice and draft with it.

In one paragraph

Our MCP server for AI agents is a hosted remote MCP server that gives Claude, ChatGPT, Cursor, n8n or your own agent read access to your Substack archive, your style and your growth numbers. You connect by pasting your publication URL (and optionally uploading your export), then add the server to Claude or ChatGPT with OAuth or to other clients with an API key. It is draft-assist only: it never publishes, and unlike Substack's own MCP, which as of October 2026 is read-only and limited to Bestseller admins, it is designed to work for any publication.

Why people want this

“Also substack doesn’t have any api/mcp”
@launch_llama on X, 2026-10-17
“Can't believe Substack still doesn't have n MCP”
@_MsLinda on X, 2026-10-20
“Happy to pay for the LLM queries, but Substack doesn't have an API”
@davidmanheim on X, 2025-11-18
“The manual-approval rule is the right center of gravity, especially with an unofficial API.”
Comment on genaiunplugged.substack.com, 2026-07-14

How it works

  1. Paste your publication URL. We read your public RSS feed; upload your Substack export once if you want paid posts and subscriber growth included.
  2. We index your archive and build a style guide from it: tone, typical structure, headline patterns, post length and recurring sections.
  3. Add the remote MCP server to Claude or ChatGPT with one OAuth click, or copy an API key into n8n, Cursor or your own agent.
  4. Ask your agent to research your archive, outline or draft in your voice, and suggest internal links. You copy the draft into Substack and publish it yourself.

Endpoints

Example responses are illustrative.

GET/v1/publications/{publication}/mcp

Connection details for the hosted MCP server: URL, auth modes and the tools enabled for this publication.

ParamInTypeDescription
publication*pathstringYour publication's subdomain or custom domain, e.g. yourpub.substack.com
{
  "server_url": "https://mcp.newsletterapi.io/v1/yourpub",
  "transport": "streamable-http",
  "auth": [
    "oauth",
    "api_key"
  ],
  "tools": [
    "search_archive",
    "get_post",
    "list_posts",
    "get_style_guide",
    "get_growth",
    "find_related_posts"
  ],
  "writes": false
}
GET/v1/publications/{publication}/style-guide

The style guide learned from your archive, as structured JSON (the same data the get_style_guide tool returns).

ParamInTypeDescription
publication*pathstringYour publication's subdomain or custom domain, e.g. yourpub.substack.com
samplequeryintegerNumber of recent posts to learn from, default 50
{
  "based_on_posts": 50,
  "voice": [
    "first person",
    "short paragraphs",
    "dry humour",
    "concrete numbers"
  ],
  "structure": {
    "median_words": 1350,
    "opens_with": "a one-line story or claim",
    "typical_sections": [
      "The short version",
      "What happened",
      "What I'd do next"
    ],
    "ends_with": "a question to readers"
  },
  "headlines": {
    "median_words": 7,
    "patterns": [
      "How I…",
      "What X taught me about Y"
    ]
  },
  "avoid": [
    "listicles",
    "exclamation marks"
  ]
}
GET/v1/publications/{publication}/related

Find posts from your archive that relate to a draft, for internal links.

ParamInTypeDescription
publication*pathstringYour publication's subdomain or custom domain, e.g. yourpub.substack.com
text*querystringDraft text or topic (up to 8,000 characters)
limitqueryinteger1–10, default 5
{
  "results": [
    {
      "slug": "what-our-pricing-test-taught-us",
      "title": "What our pricing test taught us",
      "url": "https://yourpub.substack.com/p/what-our-pricing-test-taught-us",
      "reason": "Same topic: annual vs monthly pricing",
      "score": 0.88
    }
  ]
}
GET/v1/publications/{publication}/growth

Subscriber growth over a window, from your uploaded exports or, if you add one, your Publisher API key.

ParamInTypeDescription
publication*pathstringYour publication's subdomain or custom domain, e.g. yourpub.substack.com
fromquerydateStart date (YYYY-MM-DD)
toquerydateEnd date (YYYY-MM-DD)
{
  "from": "2026-07-01",
  "to": "2026-09-30",
  "source": "exports",
  "start": {
    "total": 4120,
    "paid": 212
  },
  "end": {
    "total": 4790,
    "paid": 251
  },
  "net_change": {
    "total": 670,
    "paid": 39
  },
  "note": "Example data. Export-based figures are as of each upload date."
}

MCP tools for your AI agent

search_archive

Full-text search across your posts.

Try: “What have I already written about burnout? Give me the three most relevant posts.”

get_post

Fetch one post as Markdown.

Try: “Pull my post on pricing and summarise its argument in five bullets.”

list_posts

List posts by date, tag or audience.

Try: “List my paid posts from the last six months with their titles and dates.”

get_style_guide

Your voice and structure, learned from your archive.

Try: “Read my style guide, then outline next week's post on hiring in my usual structure.”

get_growth

Subscriber growth from your exports, or from Publisher API counts if you add a key.

Try: “How much did my list grow last quarter, and which month was best?”

find_related_posts

Suggest internal links from your archive for a draft.

Try: “Here is my draft. Suggest three of my older posts to link to and where.”

What people will build with it

Draft in your own voice

The agent reads your style guide and past posts before outlining or drafting, so drafts sound like you. You stay the publisher.

Research your own archive

Ask what you've already said on a topic before writing it again, with links back to the posts.

Internal links on autopilot

Paste a draft and get relevant older posts to link to, which helps readers and search.

Growth check-ins

Ask for a monthly growth summary in plain English from your exports, inside the chat you already use.

Questions

Doesn't Substack already have an MCP server?
Yes, but as of October 2026 Substack's own MCP is read-only, covers dashboard metrics, traffic and settings, and requires you to be an admin of a Bestseller publication (https://support.substack.com/hc/en-us/articles/50834026608916). Ours works for any publication and to focus on your archive, your style and drafting help. You can use both side by side.
Can the agent publish or send posts?
No. It is draft-assist only. It has no tool that publishes, schedules or emails anything. You paste the draft into Substack and press publish yourself.
Which clients does it work with?
It is a hosted remote MCP server: OAuth for Claude and ChatGPT connectors, and an API key for n8n, Cursor and custom agents.
Does it need my password?
No. We never ask for your Substack login or session. We read your public RSS feed and the export files you download from your own Substack settings and upload to us.
Is this affiliated with Substack?
No. newsletterapi.io is an independent tool for Substack writers. It is not made, endorsed or approved by Substack, Inc.
How do I get access?
Email hello@newsletterapi.io or use the Get access form, and we set up your account.

Read more