mcp-writer-substack
Model Context Protocol to bridge in Substack writings to Claude.
claude mcp add --transport stdio jonathan-politzki-mcp-writer-substack uv --directory $(pwd) run writer_tool.py
How to use
Writer Context Tool for Claude connects Claude to your Substack and Medium writing by caching your posts, generating semantic embeddings, and exposing each essay as an individual resource. This enables Claude to perform targeted semantic searches across your writings and reference specific essays when assisting with new ideas or edits. The MCP server provides tools to search your writing, refresh content, and access the individual essays as resources within Claude Desktop or your preferred MCP client.
Once running, you can use the available tools to perform: a semantic search across your cached essays (to find the most relevant posts related to a topic), refreshing your content to pull in new posts from your configured Substack and Medium accounts, and selecting individual essay resources to reference full texts within Claude when drafting or analyzing content. The setup preloads content and embeddings at startup, so responses are designed to be fast and contextually aware of your existing writings.
How to install
Prerequisites:
- Python 3.10 or higher
- uv (recommended) or Python virtual environment tools
- Access to your Substack and/or Medium accounts with published content
Step-by-step installation:
- Clone the repository
git clone https://github.com/yourusername/writer-context-tool.git
cd writer-context-tool
- Set up Python environment (recommended with uv)
# Install uv if you don't have it
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create virtual environment and install dependencies
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -r requirements.txt
Or using standard Python venv:
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -r requirements.txt
- Prepare configuration
- Copy the example config and edit with your blog URLs as described in the README
- Run the MCP server
# Using uv-based command from this project
uv --directory $(pwd) run writer_tool.py
- Connect with Claude Desktop
- Follow the Claude Desktop integration steps in the README to point to the MCP server (using the writer-tool server name and the uv command as configured).
Additional notes
Tips and notes:
- The server caches all content locally and generates embeddings to enable semantic search across your essays. Ensure you have enough disk space for caching and embeddings.
- If you encounter issues with the uv command, you can switch to the provided shell script approach described in the README and adjust the MCP configuration accordingly.
- Environment variables: none are strictly required, but you may need to customize the path to your working directory or the uv executable if you move the project.
- The npm package name is not applicable for this Python-based MCP server; see npm_package field below.
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP