Substack MCP
An MCP (Model Context Protocol) server for Substack API integration with Claude and other AI assistants.
Overview
This project implements a Model Context Protocol (MCP) server that enables AI assistants like Claude to interact with Substack newsletters, posts, and authors through a standardized interface. It leverages the Substack API library and makes its functionality available through MCP.
With this MCP server, Claude can:
- Retrieve newsletter posts, podcasts, and recommendations
- Get post content and metadata
- Search for posts within newsletters
- Get user profile information and subscriptions
Installation
Prerequisites
- Python 3.10 or higher
- Claude for Desktop (for testing)
Setup
Clone this repository:
git clone https://github.com/Greg-Swiftomatic/substack-mcp.git cd substack-mcpSet up a virtual environment using
uv:curl -LsSf https://astral.sh/uv/install.sh | sh # Install uv if not already installed uv init . uv venv source .venv/bin/activate # On Windows: .venvScriptsactivateInstall dependencies:
uv add "mcp[cli]" substack-api
Usage
Running the Server
Run the MCP server:
python substack_mcp.py
Configuring Claude for Desktop
Open Claude for Desktop’s configuration file:
- macOS/Linux:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%Claudeclaude_desktop_config.json
- macOS/Linux:
Add your server configuration:
{ "mcpServers": { "substack": { "command": "uv", "args": [ "--directory", "/ABSOLUTE/PATH/TO/substack-mcp", "run", "substack_mcp.py" ] } } }Restart Claude for Desktop.
Example Queries
Once configured, you can ask Claude questions like:
- “Show me recent posts from https://stratechery.com/”
- “What’s the content of this post: https://stratechery.com/2023/the-ai-unbundling/”
- “Search for ‘AI’ on https://stratechery.com/”
- “Who are the authors of https://stratechery.com/?”
Available Tools
The server provides the following MCP tools:
| Tool | Description |
|---|---|
get_newsletter_posts | Retrieves recent posts from a Substack newsletter |
get_post_content | Gets the full content of a specific Substack post |
search_newsletter | Searches for posts within a newsletter |
get_author_info | Gets information about a Substack author |
get_newsletter_recommendations | Gets recommended newsletters for a Substack publication |
get_newsletter_authors | Gets authors of a Substack newsletter |
Project Structure
substack_mcp.py- The main MCP server implementationexamples/- Example queries and responsesdocker/- Docker configuration for containerized deployment
Development
To contribute to this project:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Troubleshooting
If you encounter issues:
Check Claude’s logs for errors:
# macOS/Linux tail -n 20 -f ~/Library/Logs/Claude/mcp*.log # Windows type %APPDATA%ClaudeLogsmcp*.logVerify your server builds and runs without errors:
python substack_mcp.pyMake sure your
claude_desktop_config.jsonfile has the correct paths and syntax.Try restarting Claude for Desktop completely.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Substack API - The underlying library for Substack interactions
- Model Context Protocol - Anthropic’s protocol for standardized LLM integrations
Substack API Integration
Project Details
- Greg-Swiftomatic/substack-mcp
- MIT License
- Last Updated: 3/19/2025
Recomended MCP Servers
The Gatherings MCP Server provides an API that allows AI assistants to interact with the Gatherings application through...
Playing with MCP servers.....
用于与万智牌中文卡查大学院废墟(sbwsz.com)API交互的MCP服务端
MCP server enabling Image Generation for LLMs, built in Python and integrated with Together AI.
MCP Server for the sipgate API
Wanaku MCP Router
Elasticsearch MCP server with available features including mappings management, search and indexing, and index management etc.





