sitemcp

1. sitemcp 学习手册

1.1. 环境准备

1.1.1. 安装 Node.js

  • 作用:sitemcp 基于 Node.js 开发,需先安装。

  • 下载地址:Node.js 官网

  • 安装步骤:

    1. 下载 LTS 版本(长期支持版)。
    2. 安装时勾选 Add to PATH(自动配置环境变量)。
  • 验证:

    node -v
    npm -v
    

1.2. 安装 sitemcp

1.2.1. 全局安装(推荐)

npm install -g sitemcp
  • 管理员权限:右键点击 PowerShell/CMD,选择"以管理员身份运行"。

1.3. 基础使用

1.3.1. 最简命令

sitemcp https://example.com
  • 效果:
    • 抓取 example.com 所有页面。
    • 默认端口 3000,浏览器访问 localhost:3000。
    • 默认缓存路径:C:\Users\<用户名>\AppData\Local\sitemcp。

1.3.2. 关键参数说明

参数 作用
-m, --match 匹配页面路径(如 /docs/** 抓取所有 docs 下的页面)
-l, --max-length 单页内容最大字符数(默认 2000)
-o, --output 输出目录(如 -o docs 生成 docs 文件夹)
-t, --tool-name 自定义服务器名(默认从 URL 提取域名)

1.4. 高级功能

1.4.1. 匹配特定页面

sitemcp https://vitejs.dev ^
  -m "/docs/**" ^
  -m "/community/**"
  • 说明:^ 符号用于续行,Windows 需用此符号替代 Linux/macOS 的 \。

1.4.2. 提取指定内容区域

sitemcp https://example.com ^
  --content-selector ".main-content"
  • 原理:通过 CSS 选择器定位网页中的可读内容区域。

1.4.3. 代理设置

sitemcp https://target-site.com ^
  --proxy "http://proxy.example.com:8080"
  • 适用场景:通过代理访问目标站点,或绕过网站反爬虫机制。

1.4.4. 多线程加速

sitemcp https://large-site.com ^
  --concurrency 20
  • 注意:并发数过高可能导致目标网站封禁 IP。

1.5. 与 MCP 客户端集成(Claude Desktop 示例)

1.5.1. 创建配置文件

  • 路径:C:\Users\<用户名>\AppData\Roaming\Claude\claude_desktop_config.json

  • 添加配置:

    {
      "mcpServers": {
        "my-docs": {
          "command": "npx",
          "args": [
            "-y",
            "sitemcp",
            "https://example.com",
            "-m",
            "/docs/**",
            "-l",
            "10000",
            "-o",
            "docs-output"
          ]
        }
      }
    }
    

1.5.2. 使用步骤

  1. 重启 Claude Desktop,加载新配置。
  2. 选择 my-docs 服务器,自动抓取并展示内容。

1.6. 缓存管理

1.6.1. 查看缓存目录

explorer %LocalAppData%\sitemcp

1.6.2. 清理缓存

rmdir /s /q %LocalAppData%\sitemcp

1.7. 常见问题解决

1.7.1. 抓取失败(HTTP 403 错误)

sitemcp https://example.com ^
  --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"

1.7.2. 中文乱码

sitemcp https://zh-example.com ^
  --encoding utf-8

1.7.3. 命令未找到

  • 原因:未正确安装或环境变量未配置。
  • 解决:重启终端或重新运行 npm install -g sitemcp。

1.8. 实战案例

1.8.1. 案例 1:抓取公司内部文档库

sitemcp https://intranet.company.com/docs ^
  -m "/projects/**,/policies/**" ^
  -l 15000 ^
  -o "D:\DocsBackup\%date:/=-%"
  • 效果:按日期生成备份文件夹(如 D:\DocsBackup\2025-02-20)。

1.8.2. 案例 2:定时更新缓存

  1. 创建批处理脚本 update.bat:

    @echo off
    sitemcp https://example.com --cache-dir "C:\cache\example" -o "output\example"
    
  2. 任务计划程序:设置每天凌晨 3 点自动运行此脚本。

1.9. 批处理脚本模板

@echo off
REM 抓取列表中的网站
set SITES="https://daisyui.com" "https://vitejs.dev"

for %%s in (%SITES%) do (
    echo 正在抓取: %%s
    sitemcp %%s -m "/docs/**,/components/**" -l 15000 -o "%%~ns"
)
  • 保存为 .bat 文件,双击即可批量抓取。

1.10. 开发者资源

  1. 官方文档:sitemcp GitHub Pages
  2. 开源代码:GitHub 仓库
  3. 反馈问题:GitHub Issues

1.11. 总结

通过本文档,你已掌握:

  1. sitemcp 的核心功能和参数。
  2. Windows 环境下的安装与调试技巧。
  3. 与 MCP 客户端的自动化集成。
  4. 常见问题的解决方法。