Substack Reader MCP Server
Allows reading Substack subscriptions, including listing newsletters, fetching recent posts from a feed, reading full post content, and searching within specific newsletters.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Substack Reader MCP Server
An MCP (Model Context Protocol) server for reading your Substack subscriptions from Claude Code.
Installation
# Clone the repo
git clone git@github.com:Kealu-Inc/substack-reader-mcp.git ~/.claude/mcp-servers/substack-reader
# Run setup
cd ~/.claude/mcp-servers/substack-reader
make setupRelated MCP server: substack-mcp-plus
Features
list_subscriptions - List all newsletters you subscribe to
get_feed - Get recent posts from all your subscriptions
get_recent_posts - Get posts from a specific newsletter
read_post - Read full content of any post
search_newsletter - Search within a newsletter
Quick Start
cd ~/.claude/mcp-servers/substack-reader
make setupThis will:
Install Python dependencies
Guide you through exporting browser cookies
Configure your Substack username
Add the MCP server to Claude Code settings
Test the connection
Manual Setup
1. Install Dependencies
make install2. Export Substack Cookies
Install Cookie-Editor browser extension
Log into substack.com
Click Cookie-Editor → Export → Export as JSON
Save to
~/.config/substack-reader/cookies.json
3. Configure Username
Create ~/.config/substack-reader/config.json:
{
"username": "your-substack-username"
}Your username is from your Substack profile URL (e.g., substack.com/@username).
4. Configure Claude Code
Run:
make configureOr manually add to ~/.claude/settings.json:
{
"mcpServers": {
"substack-reader": {
"command": "python3",
"args": ["/path/to/substack-reader/server.py"],
"env": {
"SUBSTACK_USERNAME": "your-username",
"SUBSTACK_COOKIES_PATH": "/path/to/cookies.json"
}
}
}
}5. Restart Claude Code
The MCP server will load on restart.
Usage Examples
After setup, ask Claude:
"List my Substack subscriptions"
"Get my subscription feed"
"Get recent posts from The Pragmatic Engineer"
"Read the latest post about system design"
"Search for 'microservices' in Engineering Leadership"
Testing
make testTroubleshooting
"No subscriptions found"
Verify your username is correct
Check cookies are exported properly (should include
substack.sid)
"Authentication error"
Re-export cookies from browser (they may have expired)
Ensure you're logged into Substack when exporting
MCP server not loading
Check
~/.claude/settings.jsonsyntax is valid JSONVerify the server path is correct
Restart Claude Code completely
Files
~/.claude/mcp-servers/substack-reader/
├── server.py # Main MCP server
├── setup.py # Interactive setup wizard
├── Makefile # Setup automation
├── scripts/
│ ├── configure_claude.py
│ └── test_server.py
└── README.md
~/.config/substack-reader/
├── config.json # Username configuration
└── cookies.json # Browser cookies (keep private!)Security
Never commit cookies.json - it contains your session
Cookies expire periodically - re-export when auth fails
The server only reads content you have access to
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Draft & schedule Substack Notes, manage articles, and read stats via WriteStack.
Substack newsletter, posts & podcast search
Manage beehiiv newsletters, posts, podcasts, community, subscribers, and analytics.
Read, write, translate and sync WordPress and Webflow blog articles from Claude.
Related MCP Servers
- AlicenseBqualityNot gradedmaintenanceEnables interaction with Substack publications through natural conversation, allowing users to create posts with cover images, publish notes, manage content, and retrieve profile information.82 npm-
- AlicenseNot gradedqualityDmaintenanceCreate, manage, and publish Substack posts with full rich text formatting directly from Claude Desktop or any MCP-compatible client.64 npm26MIT
- AlicenseNot gradedqualityDmaintenanceEnables reading from and optionally drafting to a Substack publication via Claude, using unofficial JSON endpoints and RSS feed.1MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to search and read Substack newsletter feeds, stage and publish drafts, interact with community comments, and track subscriber and post analytics through local tools and a web dashboard.1MIT