返回市场
麦普写手子堆栈

麦普写手子堆栈

作者:jonathan-politzki23 星标更新:2025-04-11

项目介绍

Writer Context Tool for Claude

图片

这是一个开源的模型上下文协议(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(推荐):

# 如果没有安装uv,请安装
curl -LsSf https://astral.sh/uv/install.sh | sh

# 创建虚拟环境并安装依赖项
uv venv
source .venv/bin/activate  # 在Windows上:.venv\Scripts\activate
uv pip install -r requirements.txt

或者使用标准pip:

python -m venv .venv
source .venv/bin/activate  # 在Windows上:.venv\Scripts\activate
pip install -r requirements.txt

3. 配置你的博客

  1. 复制示例配置文件:

    cp config.example.json config.json
    
  2. 编辑 config.json 文件,添加你的Substack/Medium URL:

    {
      "platforms": [
        {
          "type": "substack",
          "url": "https://yourusername.substack.com",
          "name": "我的Substack博客"
        },
        {
          "type": "medium",
          "url": "https://medium.com/@yourusername",
          "name": "我的Medium博客"
        }
      ],
      "max_posts": 100,
      "cache_duration_minutes": 10080,
      "similar_posts_count": 10
    }
    
    • max_posts: 每个平台要抓取的最大帖子数(默认值:100)
    • cache_duration_minutes: 内容缓存时间(默认值:一周或10080分钟)
    • similar_posts_count: 搜索时返回的相关帖子数量(默认值:10)

4. 连接到Claude Desktop

  1. 创建Claude Desktop配置目录:

    # 在macOS上
    mkdir -p ~/Library/Application\ Support/Claude/
    
  2. 创建配置文件:

    # 获取绝对路径到你的uv命令
    UV_PATH=$(which uv)
    
    # 创建配置
    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脚本替代方案:

    1. 将脚本设为可执行:chmod +x run_writer_tool.sh
    2. 更新你的Claude Desktop配置以使用脚本:
    {
      "mcpServers": {
        "writer-tool": {
          "command": "/绝对路径/to/run_writer_tool.sh",
          "args": []
        }
      }
    }
    
  3. 重启Claude Desktop

使用工具与Claude

一旦设置完成,你将在Claude Desktop中看到每篇文章作为资源。你可以:

  1. 跨你的写作进行搜索:让Claude找到相关内容

    • "查找我讨论[特定主题]的文章"
    • "我对[主题]写过什么?"
  2. 引用特定文章:通过点击搜索结果中的文章来访问单独的文章

    • "显示[文章标题]的全文"
  3. 刷新内容:强制刷新你的内容

    • "刷新我的写作内容"

提供的工具和资源

Writer Context Tool 提供:

  1. 单独的文章资源:每篇你的文章都成为一个可选资源
  2. search_writing:一个语义搜索工具,使用嵌入式数据找到最相关的文章
  3. refresh_content:刷新并重新缓存来自所有配置平台的内容

缓存工作原理

该工具实现了具有以下功能的永久缓存:

  1. 磁盘缓存:所有内容存储在磁盘上,因此在会话之间持久存在
  2. 嵌入式数据:每篇文章都被转换成嵌入式数据用于语义搜索
  3. 选择性刷新:仅在需要时根据你的缓存设置刷新内容
  4. 预加载:启动时自动刷新所有内容并生成嵌入式数据

故障排除

如果你遇到问题:

  1. 工具未出现在Claude Desktop中:

    • 检查你的Claude Desktop配置文件是否正确
    • 确认配置中的所有路径都是绝对路径
    • 确保你的Python环境包含了所有必需的包
    • 重启Claude Desktop
  2. 没有内容出现:

    • 核实你的Substack/Medium URL是否在config.json中正确
    • 尝试使用“refresh_content”工具
    • 确认你的博客是公开的并且有已发布的帖子
  3. uv命令出错:

    • 尝试使用shell脚本方法
    • 确认uv命令已安装并在PATH中
  4. 嵌入式数据问题:

    • 如果看到有关嵌入式模型的错误,请确保有足够的磁盘空间
    • 考虑重新运行以获得新的安装,如果嵌入式数据无法正常工作

许可证

该项目在MIT许可证下可用。