Substack/Medium MCP Server
An MCP server that connects Claude to your Substack and Medium publications, enabling semantic search and analysis of your published content through RSS feeds and embeddings.
Get this MCP server
An MCP server that connects Claude to your Substack and Medium publications, enabling semantic search and analysis of your published content through RSS feeds and embeddings.
Installation
From source with uv
git clone https://github.com/yourusername/writer-context-tool.git
cd writer-context-tool
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv
source .venv/bin/activate
uv pip install -r requirements.txt
From source with pip
git clone https://github.com/yourusername/writer-context-tool.git
cd writer-context-tool
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Configuration
Claude Desktop
{
"mcpServers": {
"writer-tool": {
"command": "${UV_PATH}",
"args": [
"--directory",
"$(pwd)",
"run",
"writer_tool.py"
]
}
}
}
Platform Configuration
{
"platforms": [
{
"type": "substack",
"url": "https://yourusername.substack.com",
"name": "My Substack Blog"
},
{
"type": "medium",
"url": "https://medium.com/@yourusername",
"name": "My Medium Blog"
}
],
"max_posts": 100,
"cache_duration_minutes": 10080,
"similar_posts_count": 10
}
Available Tools
| Tool | Description |
|---|---|
search_writing |
A semantic search tool that finds the most relevant essays using embeddings |
refresh_content |
Refreshes and recaches your content from all configured platforms |
Features
- Fetches and persistently caches your blog posts from Substack and Medium
- Uses embeddings to find the most relevant essays based on your queries
- Makes individual essays available as separate resources for Claude
- Performs semantic search across your writing
- Pre-loads all content and generates embeddings on startup
Usage Examples
Find essays where I discuss [specific topic]
What have I written about [subject]?
Show me the full text of [essay title]
Refresh my writing content
Resources
Notes
Requires Python 3.10 or higher and a Substack or Medium account with published content. The tool connects via RSS feeds and uses persistent disk caching with embeddings for semantic search.