写作上下文工具

一个开源的MCP服务器,连接Claude到您的Substack和Medium写作,提供个性化的写作辅助和内容分析。

  • by jonathan-politzki
  • Python
  • 本地部署
  • 34 星标
  • 更新于
在 GitHub 查看 jean-technologies/mcp-writer-substack

使用说明

Claude的作家语境工具

开源模型上下文协议(MCP)实现,将Claude连接到您的Substack和Medium编写。

这是什么?

Writer Context Tool是一个MCP服务器,允许Claude从Substack和Medium等平台访问和分析您的写作。使用此工具,Claude可以了解您发布内容的上下文,为您的写作提供更个性化的帮助。

特性

  • 🔍 从Substack和Medium检索并永久缓存您的博客文章
  • 🔎 使用嵌入功能根据您的查询找到最相关的文章
  • 📚 将个人论文作为单独的资源提供给克劳德
  • 🧠 在您的写作中执行语义搜索
  • ⚡ 预加载所有内容并在启动时生成嵌入

运作原理

该工具通过您的Substack/Medium博客的RSS提要连接到它们,获取您的帖子,并在本地永久缓存它们。它还为每个帖子生成嵌入,使语义搜索能够根据您的查询找到最相关的文章。

当你向克劳德询问你的写作时,它可以使用这些个人论文资源来提供见解,或帮助你根据现有内容开发新想法。

设置说明(分步)

先决条件

  • Python 3.10或更高版本
  • 克劳德桌面(最新版本)
  • 包含已发布内容的Substack或Medium帐户

1.克隆此存储库

git clone https://github.com/yourusername/writer-context-tool.git
cd writer-context-tool

2.设置Python环境

使用紫外线(推荐):

# 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.配置你的博客

  1. 复制示例配置文件:

    cp config.example.json config.json
    
  2. 编辑 config.json 使用您的Substack/Medium URL:

    {
      "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.连接克劳德桌面

  1. 创建Claude Desktop配置目录:

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

    # 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脚本替代:

    1. 使脚本可执行: chmod +x run_writer_tool.sh
    2. 更新您的Claude Desktop配置以使用脚本:
    {
      "mcpServers": {
        "writer-tool": {
          "command": "/absolute/path/to/run_writer_tool.sh",
          "args": []
        }
      }
    }
    
  3. 重新启动克劳德桌面

与Claude一起使用该工具

设置后,您将在Claude Desktop中看到作为资源提供的个人论文。你可以:

  1. 在你的写作中搜索:请Claude查找相关内容

    • “查找我讨论[特定主题]的文章”
    • “我写了什么[主题]?”
  2. 参考特定论文:在搜索结果中列出个人论文时,点击它们即可访问

    • “给我看[文章标题]的全文”
  3. 刷新内容:强制刷新您的内容

    • “刷新我的写作内容”

可用工具和资源

Writer上下文工具提供:

  1. 个人论文资源:你的每一篇文章都成为可选择的资源
  2. 搜索_写作:一个语义搜索工具,使用嵌入找到最相关的论文
  3. 刷新内容:从所有配置的平台刷新和重述您的内容

缓存的工作原理

该工具通过以下功能实现了永久缓存:

  1. 磁盘缓存:所有内容都存储在磁盘上,因此在会话之间会持续存在
  2. 嵌入:每篇文章都转换为嵌入以进行语义搜索
  3. 选择性刷新:该工具仅在需要时根据缓存设置刷新内容
  4. 预加载:所有内容都会在启动时自动刷新并生成嵌入

故障排除

如果您遇到问题:

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

    • 检查您的Claude Desktop配置文件是否正确
    • 验证配置中的所有路径都是绝对路径
    • 确保你的Python环境有所有必需的包
    • 重新启动克劳德桌面
  2. 未显示任何内容:

    • 在config.json中验证您的Substack/Medium URL
    • 尝试使用“refresh_content”工具
    • 检查你的博客是否公开,是否发布过帖子
  3. uv命令出错:

    • 尝试使用shell脚本方法
    • 验证uv命令是否已安装并位于PATH中
  4. 嵌入问题:

    • 如果您看到有关嵌入模型的错误,请确保您有足够的磁盘空间
    • 如果嵌入工作不正常,请考虑使用新安装重新运行

许可证

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