Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the Substack in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
AnythingMCP is listed in Claude's connector directory: add it to Claude in one click (opens in a new tab), then sign in and choose which MCP servers Claude may use.
Summary
Let Claude read any Substack publication: search and read posts, comments and the RSS feed. No API key needed; set up in Claude.ai, Desktop or Code.
Try asking
Example prompts for Substack
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → Substack, paste the publication's URL, and connect Claude — done. No Docker, no
git clone, no local server.
Substack + Claude
Read a Substack publication from Claude: posts, full-text search of the archive, comments and the RSS feed, through the same public endpoints Substack's own site uses. 7 tools, no API key and no Substack login.
What you can ask Claude
- "What are the ten latest posts, with date and whether each one is free or paid?" Uses
substack_list_posts; each post carries itsaudience. - "Find every post in the archive that talks about pricing." Uses
substack_search_posts. - "Summarise post 148234567 in five bullet points." Uses
substack_get_post_by_id. - "What are readers saying under the latest post?" Uses
substack_list_poststo find it, thensubstack_get_comments. - "Which of this year's posts are podcast episodes?" Uses
substack_list_posts; each post carries itstype(newsletter, podcast or thread). - "Give me the RSS feed so I can see what's new since Monday." Uses
substack_get_rss_feed.
What you need
- The publication's base URL, for example
https://lennysnewsletter.substack.com, inSUBSTACK_PUBLICATION_URL. That's all. - No API key and no account: the connector reads public endpoints, so it sees what a logged-out visitor sees.
- One publication per connector. To read a different one, change
SUBSTACK_PUBLICATION_URL.
Step 1 — Set the publication URL
- There is no key and no Substack login. Set
SUBSTACK_PUBLICATION_URLto the publication's home address, with nothing after the domain:https://yourname.substack.comor a custom domain such ashttps://www.lennysnewsletter.com. - A profile link (
https://substack.com/@handle), a note link or a post link does not work. From a profile, open the publication shown there and copy the address bar up to the domain. In an app share linkopen.substack.com/pub/NAME/p/...,NAMEis the subdomain: usehttps://NAME.substack.com. - Start with
substack_list_posts(newest first, orsort=topfor the most liked), thensubstack_get_post_by_idorsubstack_get_post_by_slug(the part after/p/in a post link) for the full text.substack_find_publication_by_handleturns an @handle into the writer's publication address.
The connector reads the public JSON endpoints Substack's own site uses (Substack has no documented public API), so it sees what a signed-out visitor sees: paid posts show their preview only. Lists take limit (up to 50) and offset. A 404 on every tool means there is no publication at the configured address; an HTML page instead of JSON means the address is a profile or not a Substack site.
Step 2 — Install the adapter
On Cloud, open Connectors → Substack and paste the URL. To self-host:
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in Claude
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
On claude.ai (the connector then also appears in Claude Desktop):
- Open claude.ai/customize/connectors.
- Click +, then Add custom connector.
- Name it
AnythingMCPand enter the URLhttps://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID. - Click Add, then Connect. Sign in to AnythingMCP and choose which of your MCP servers Claude may use.
In Claude Code, run the command below, then type /mcp in a session and choose Authenticate:
claude mcp add --transport http anythingmcp https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID
Self-hosting? Use your own AnythingMCP URL instead of cloud.anythingmcp.com. For claude.ai it has to be reachable from the internet, because Claude connects from Anthropic's servers, not from your computer.
All tools below appear in your chat — start typing prompts.
Available tools
| Tool | What it does |
|---|---|
substack_list_posts | List recent posts from the publication |
substack_search_posts | Search posts in the publication |
substack_get_post_by_id | Fetch a single post by its numeric ID |
substack_get_post_by_slug | Fetch one post by its slug, the part after /p/ in a post link (for https://name.substack.com/p/my-first-post the slug is my-first-post) |
substack_get_comments | Get top comments on a post |
substack_get_rss_feed | Fetch the publication's RSS 2.0 feed (/feed): the most recent posts with title, link, publication date and HTML content |
substack_find_publication_by_handle | Look up a Substack writer by @handle (from a profile link substack.com/@handle) and return their name, bio and the publications they write… |
Troubleshooting
- Every tool fails. Check
SUBSTACK_PUBLICATION_URL: it has to be the publication's home address, starting withhttps://and with nothing after the domain. A profile (substack.com/@handle), note or post link does not work; open the publication from the profile and copy its address up to the domain. - A paid post comes back cut short. The connector does not log in, so it gets what a non-subscriber gets. Paid-only content is not unlocked.
- A search returns nothing.
substack_search_postsreturns an empty list when no post matches. Try fewer or broader words. - Requests start failing after many calls in a row. Substack does not publish rate limits and throttles heavy traffic. Space out bulk reads, around one request per second.
FAQ
Can Claude publish posts or reply to comments on Substack? No. Substack has no public API for writing, so the connector only reads. Creating posts, managing subscribers and moderating comments stay in Substack's own interface.
Does it work with Claude Code as well as Claude Desktop? Yes. A custom connector you add on claude.ai is also available in Claude Desktop, and Claude Code adds the same URL with claude mcp add --transport http. Custom connectors are available on every Claude plan; the Free plan allows one, which is enough because a single AnythingMCP connector carries all your connectors.
Is it free? The Substack side needs no key and costs nothing. AnythingMCP is open source under AGPL-3.0, so self-hosting is free, including commercial use inside your own company; AnythingMCP Cloud comes with a 7-day free trial.
Is my data stored by AnythingMCP? The connector reads public content and holds no Substack credentials. When Claude uses a tool, AnythingMCP fetches the content and passes it to Claude, and the call is recorded in your workspace's audit log. AnythingMCP Cloud is hosted in Frankfurt, Germany.
Next steps
Was this guide helpful?