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.
Summary
Let Copilot read any Substack publication: search and read posts, comments and the RSS feed. No API key needed.
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 Copilot — done. No Docker, no
git clone, no local server.
Substack + Microsoft Copilot
Read a Substack publication from Copilot: 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 Copilot
- "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 Microsoft Copilot
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.
Microsoft Copilot uses MCP servers through agents built in Copilot Studio: you add AnythingMCP to an agent as a tool, then publish the agent to Microsoft 365 Copilot and Teams. Copilot Studio connects from Microsoft's cloud over Streamable HTTP, which AnythingMCP supports.
- In Copilot Studio, open your agent (or create one), go to Tools and choose Add a tool → New tool → Model Context Protocol.
- Enter a Server name (for example
AnythingMCP), a Server description that says what the connector does, and the Server URLhttps://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID. Copilot Studio uses the description to decide when to call the server. - Under authentication, choose API key, set Type to Header and the header name to
X-API-Key, then select Create. - In Add tool, choose Create a new connection, paste an MCP API key from AnythingMCP (MCP Servers → your server → API keys) and select Add to agent.
- Try it in the agent's Test pane: ask for something that needs the
Substacktools. - Select Publish, then Channels → Microsoft 365 and Microsoft Teams, keep Make agent available in Microsoft Copilot selected and choose Add channel. See agent in Teams installs it for you; in Microsoft 365 Copilot, type @ and pick the agent.
Prefer per-user sign-in? Choose OAuth 2.0 → Dynamic discovery instead of an API key: each user then signs in to AnythingMCP the first time the agent calls it.
Self-hosting? Use your instance's public HTTPS address instead of https://cloud.anythingmcp.com. Copilot Studio connects from Microsoft's cloud, so localhost does not work.
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 Copilot 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.
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 Copilot uses a tool, AnythingMCP fetches the content and passes it to Copilot, and the call is recorded in your workspace's audit log. AnythingMCP Cloud is hosted in Frankfurt, Germany.
Which Copilot is this for? Microsoft 365 Copilot at work, through agents built in Copilot Studio. The Microsoft Copilot app for personal accounts has no option to add your own MCP server.
What do I need? A work account with access to Copilot Studio (a license or a trial) to build the agent. People who use it in Microsoft 365 Copilot or Teams need access to the agent: share it with them, or ask an admin to publish it to the organization. If your organization applies data policies to Power Platform connectors, they cover MCP servers too.
The agent doesn't call the tools. Check that the header name is exactly X-API-Key and that the key belongs to the same MCP server as the URL, and make the server description specific: Copilot Studio uses it to decide when to call the server. Publish the agent again after each change; in an open chat, type "start over" to get the new version.
Next steps
- Connector landing page
- Connect to Claude
- Connect to ChatGPT
- Connect to Cursor
- Connect to Gemini
- Connect to Meta Muse
Was this guide helpful?