关于 Official Substack / Medium MCP Server
Writer Context Tool 是一个开源 MCP 服务,可让 Claude 访问 Substack 和 Medium 上发布的文章。它通过 RSS 获取文章并在本地永久缓存,生成嵌入向量后支持语义搜索,适合希望让 Claude 参考自己写作内容的作者。
主要功能
- 01通过 RSS 获取并本地缓存文章
- 02基于嵌入向量的语义搜索
- 03将每篇文章作为独立资源提供
- 04启动时预加载内容并生成嵌入
- 05按配置定期刷新缓存
适用场景
- 01查找作者过去讨论某一主题的文章
- 02在 Claude 中调取完整文章内容以辅助创作
- 03基于已发表文章构思新的选题
MCP 相关
该项目是 MCP 服务,向 Claude Desktop 暴露每篇文章的资源以及 search_writing 和 refresh_content 工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Claude 的 Writer Context Tool
开源的 Model Context Protocol(MCP)实现,可将 Claude 连接到你在 Substack 和 Medium 上发布的文章。
这是什么?
Writer Context Tool 是一款 MCP 服务,可让 Claude 访问并分析你在 Substack 和 Medium 等平台上发布的文章。借助此工具,Claude 可以理解你已发布内容的上下文,从而为你的写作提供更个性化的帮助。
功能
- 🔍 从 Substack 和 Medium 获取你的博客文章并永久缓存
- 🔎 使用嵌入向量,根据你的查询查找最相关的文章
- 📚 将每篇文章作为单独的资源提供给 Claude
- 🧠 对你的文章进行语义搜索
- ⚡ 启动时预加载所有内容并生成嵌入向量
工作原理
该工具通过 RSS 源连接到你的 Substack/Medium 博客,获取文章并将其永久缓存在本地。它还会为每篇文章生成嵌入向量,以便通过语义搜索根据你的查询找到最相关的文章。
当你向 Claude 询问有关你文章的问题时,它可以使用这些单篇文章资源提供见解,或根据你现有的内容帮助你构思新想法。
设置说明(分步指南)
前提条件
- Python 3.10 或更高版本
- Claude Desktop(最新版本)
- 拥有已发布内容的 Substack 或 Medium 账号
1. 克隆此仓库
git clone https://github.com/yourusername/writer-context-tool.git
cd writer-context-tool
2. 设置 Python 环境
使用 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
或使用标准 pip:
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -r requirements.txt
3. 配置你的博客
-
复制示例配置文件:
cp config.example.json config.json -
使用你的 Substack/Medium URL 编辑
config.json:{ "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 }max_posts:从每个平台获取的最大文章数(默认值:100)cache_duration_minutes:刷新前缓存内容的时长(默认值:1 周或 10080 分钟)similar_posts_count:搜索时返回的最相关文章数(默认值:10)
4. 连接 Claude Desktop
-
创建 Claude Desktop 配置目录:
# On macOS mkdir -p ~/Library/Application\ Support/Claude/ -
创建配置文件:
# Get the absolute path to your uv command UV_PATH=$(which uv) # Create the configuration cat > ~/Library/Application\ Support/Claude/claude_desktop_config.json << EOF { "mcpServers": { "writer-tool": { "command": "${UV_PATH}", "args": [ "--directory", "$(pwd)", "run", "writer_tool.py" ] } } } EOF注意: 如果
uv命令遇到问题,可以改用随附的 shell 脚本:- 使脚本可执行:
chmod +x run_writer_tool.sh - 更新 Claude Desktop 配置以使用该脚本:
{ "mcpServers": { "writer-tool": { "command": "/absolute/path/to/run_writer_tool.sh", "args": [] } } } - 使脚本可执行:
-
重启 Claude Desktop
在 Claude 中使用此工具
设置完成后,你会在 Claude Desktop 中看到可用作资源的单篇文章。你可以:
-
搜索你的文章:让 Claude 查找相关内容
- “查找我讨论[特定主题]的文章”
- “我写过哪些关于[主题]的内容?”
-
引用特定文章:在搜索结果中点击文章,即可访问单篇文章
- “显示[文章标题]的全文”
-
刷新内容:强制刷新你的内容
- “刷新我的写作内容”
可用工具和资源
Writer Context Tool 提供:
- 单篇文章资源:你的每篇文章都会成为可选择的资源
- search_writing:使用嵌入向量查找最相关文章的语义搜索工具
- refresh_content:刷新并重新缓存你在所有已配置平台上的内容
缓存工作原理
该工具实现了永久缓存,具有以下功能:
- 磁盘缓存:所有内容都存储在磁盘上,因此会在不同会话之间保留
- 嵌入向量:每篇文章都会转换为嵌入向量,以支持语义搜索
- 选择性刷新:该工具仅根据你的缓存设置,在需要时刷新内容
- 预加载:启动时会自动刷新所有内容并生成嵌入向量
故障排除
如果遇到问题:
-
工具未显示在 Claude Desktop 中:
- 检查 Claude Desktop 配置文件是否正确
- 确认配置中的所有路径都是绝对路径
- 确保 Python 环境已安装所有必需的软件包
- 重启 Claude Desktop
-
未显示任何内容:
- 检查 config.json 中的 Substack/Medium URL
- 尝试使用 "refresh_content" 工具
- 检查你的博客是否公开且已发布文章
-
uv 命令出错:
- 尝试改用 shell 脚本方式
- 确认已安装 uv 命令,且它位于 PATH 中
-
嵌入问题:
- 如果看到有关嵌入模型的错误,请确保磁盘空间充足
- 如果嵌入功能无法正常工作,请考虑重新安装
许可证
本项目采用 MIT License。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。