Substack MCP Server
MCP server for Substack API integration with Claude
Overview
Substack MCP Server is a Model Context Protocol (MCP) server that allows AI assistants like Claude to interact with Substack newsletters, posts, and user profiles.
To use the Substack MCP Server, clone the repository, set up a virtual environment, install dependencies, and run the server. Then, configure Claude for Desktop to connect to the server.
- Retrieve newsletter posts, podcasts, and recommendations. - Get user profile information and subscriptions. - Fetch post content and metadata. - Search for posts within newsletters.
- Accessing recent posts from specific Substack newsletters.
- Searching for content within newsletters.
- Retrieving author information and recommendations.
Add to your AI client
Use these steps to connect Substack MCP Server in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.
Cursor
Add this to your .cursor/mcp.json file in your project root, then restart Cursor.
.cursor/mcp.json
{
"mcpServers": {
"substack-mcp-server-greg-swiftomatic": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-substack-mcp-server-greg-swiftomatic"
]
}
}
}Claude Desktop
Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"substack-mcp-server-greg-swiftomatic": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-substack-mcp-server-greg-swiftomatic"
]
}
}
}Claude Code
Add this to your project's .mcp.json file. Claude Code will detect it automatically.
.mcp.json (project root)
{
"mcpServers": {
"substack-mcp-server-greg-swiftomatic": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-substack-mcp-server-greg-swiftomatic"
]
}
}
}VS Code (Copilot)
Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.
.vscode/mcp.json
{
"servers": {
"substack-mcp-server-greg-swiftomatic": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-substack-mcp-server-greg-swiftomatic"
]
}
}
}Windsurf
Add this to your Windsurf MCP config file, then restart Windsurf.
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"substack-mcp-server-greg-swiftomatic": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-substack-mcp-server-greg-swiftomatic"
]
}
}
}Cline
Open Cline settings, navigate to MCP Servers, and add this server configuration.
Cline MCP Settings (via UI)
{
"mcpServers": {
"substack-mcp-server-greg-swiftomatic": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-substack-mcp-server-greg-swiftomatic"
]
}
}
}FAQ
**What are the prerequisites for installation?**
You need Python 3.10 or higher and Claude for Desktop for testing.
**How do I run the server?**
Use the command `python substack_mcp.py` after setting up the environment.
**Can I add new tools to the MCP server?**
Yes! You can add new tools by defining functions in `substack_mcp.py` with the `@mcp.tool()` decorator.