AI个人学习
和实操指南
豆包Marscode1

SiteMCP:抓取网站内容并转为MCP服务

综合介绍

SiteMCP 是一个开源工具,核心功能是抓取整个网站的内容并将其转化为 MCP(Model Context Protocol)服务器,让 AI 助手(如 Claude Desktop)直接访问网站数据。它由开发者 ryoppippi 开发,托管在 GitHub 上,灵感来自另一个工具 sitefetch,目的是让 AI 更方便获取外部信息。SiteMCP 于 2025 年 4 月 7 日发布在 npm 上,用户只需输入网站地址,就能快速缓存页面并启动本地服务器。整个过程简单高效,适合开发者、技术爱好者和普通用户。

SiteMCP:抓取网站并转为MCP服务-1


 

功能列表

  • 抓取指定网站的所有页面或部分内容并缓存到本地。
  • 将抓取的网站数据转化为 MCP 服务器,供 AI 访问。
  • 支持通过命令行设置并发数(如 --concurrency),提高抓取速度。
  • 提供 -m 参数,匹配特定页面路径(如 /blog/**)。
  • 支持 --content-selector 参数,提取网页中指定区域的内容。
  • 默认缓存页面到 ~/.cache/sitemcp,支持自定义缓存路径或禁用缓存。
  • 与支持 MCP 协议的客户端(如 Claude Desktop)无缝集成。

 

使用帮助

SiteMCP 的安装和使用都很简单,适合快速上手。下面详细介绍如何安装、操作以及使用特色功能。

安装流程

SiteMCP 基于 Node.js 运行,不需要手动下载源码就能使用。以下是具体步骤:

  1. 确认 Node.js 环境
    打开终端,输入 node -v,确保版本在 16 或以上。如果没有安装,去 Node.js 官网 下载安装。
  2. 单次使用(无需安装)
    在终端输入以下任一命令,替换为你想抓取的网站:
npx sitemcp https://example.com
bunx sitemcp https://example.com
pnpx sitemcp https://example.com

这些命令会自动下载 SiteMCP 并运行,抓取完成后启动 MCP 服务器。

  1. 全局安装(可选)
    如果你经常使用,可以全局安装:
npm i -g sitemcp
bun i -g sitemcp
pnpm i -g sitemcp

安装后,直接用 sitemcp 命令运行,比如:

sitemcp https://example.com

基本操作

运行命令后,SiteMCP 会抓取网站内容并缓存到默认路径 ~/.cache/sitemcp。终端会显示类似:

Fetching https://example.com...
Server running at http://localhost:3000

这时,MCP 服务器已启动,AI 助手可以通过 http://localhost:3000 访问数据。

特色功能操作

SiteMCP 提供了一些参数,让抓取更灵活。下面是详细用法:

  1. 提高抓取速度
    默认并发数有限,如果网站页面多,可以加 --concurrency 参数。例如:
npx sitemcp https://daisyui.com --concurrency 10

这会同时抓取 10 个页面,速度更快。

  1. 匹配特定页面
    用 -m 或 --match 参数指定路径,支持多次使用。例如:
npx sitemcp https://vite.dev -m "/blog/**" -m "/guide/**"

这会只抓取 vite.dev 的博客和指南页面。路径匹配基于 micromatch,支持通配符(如 ** 表示所有子路径)。

  1. 提取特定内容
    用 --content-selector 参数指定 CSS 选择器。例如:
npx sitemcp https://vite.dev --content-selector ".content"

这会只抓取网页中 class="content" 的区域,避免无关信息。SiteMCP 默认用 mozilla/readability 提取可读内容,但用选择器可以更精准。

  1. 自定义缓存路径或禁用缓存
    默认缓存到 ~/.cache/sitemcp,可以用 --cache-dir 改路径:
npx sitemcp https://example.com --cache-dir ./my-cache

如果不想缓存,加 --no-cache

npx sitemcp https://example.com --no-cache
  1. 与 Claude Desktop 集成
    在 Claude Desktop 中配置 SiteMCP 服务器,步骤如下:
  • 找到配置文件(通常是 JSON 格式),添加:
    {
    "mcpServers": {
    "daisy-ui": {
    "command": "npx",
    "args": ["sitemcp", "https://daisyui.com", "-m", "/components/**"]
    }
    }
    }
    
  • 保存并重启 Claude Desktop。之后,Claude 可通过 “daisy-ui” 访问组件页面数据。
  • 如果网站页面多,建议先运行命令缓存好数据:
    npx sitemcp https://daisyui.com -m "/components/**"
    

注意事项

  • 首次运行 npx 时会下载依赖,网络慢可能需要几秒。
  • 如果网站有反爬机制,可能抓取失败,建议减少并发数或联系网站管理员。
  • 缓存文件大小取决于网站规模,可定期清理 ~/.cache/sitemcp

通过这些操作,SiteMCP 可以把任何网站变成 AI 可用的数据源,特别适合需要快速访问文档或内容的用户。

 

应用场景

  1. 开发者调试代码
    开发者抓取技术文档网站(如 Vite 的指南页面),让 AI 解答用法问题。
    比如运行 npx sitemcp https://vite.dev -m "/guide/**",AI 就能直接访问指南内容。
  2. 博客内容整理
    博主抓取自己的网站(如 https://myblog.com),让 AI 分析文章或生成摘要。
    用 npx sitemcp https://myblog.com -m "/posts/**" 即可。
  3. 学习新框架
    学生抓取框架官网(如 DaisyUI 的组件页),用 AI 解释功能。
    运行 npx sitemcp https://daisyui.com -m "/components/**",学习更高效。

 

QA

  1. SiteMCP 支持哪些客户端?
    任何支持 MCP 协议的客户端都可以,比如 Claude Desktop。其他工具需确认兼容性。
  2. 抓取失败怎么办?
    检查网络,或用 -m 缩小范围。如果网站限制爬取,可降低 --concurrency 值。
  3. 缓存占空间大吗?
    小网站几 MB,大网站可能上百 MB。可用 --cache-dir 自定义路径,定期清理。
未经允许不得转载:首席AI分享圈 » SiteMCP:抓取网站内容并转为MCP服务
zh_CN简体中文