综合介绍
SiteMCP 是一个开源工具,核心功能是抓取整个网站的内容并将其转化为 MCP(Model Context Protocol)服务器,让 AI 助手(如 Claude Desktop)直接访问网站数据。它由开发者 ryoppippi 开发,托管在 GitHub 上,灵感来自另一个工具 sitefetch
,目的是让 AI 更方便获取外部信息。SiteMCP 于 2025 年 4 月 7 日发布在 npm 上,用户只需输入网站地址,就能快速缓存页面并启动本地服务器。整个过程简单高效,适合开发者、技术爱好者和普通用户。
功能列表
- 抓取指定网站的所有页面或部分内容并缓存到本地。
- 将抓取的网站数据转化为 MCP 服务器,供 AI 访问。
- 支持通过命令行设置并发数(如
--concurrency
),提高抓取速度。 - 提供
-m
参数,匹配特定页面路径(如/blog/**
)。 - 支持
--content-selector
参数,提取网页中指定区域的内容。 - 默认缓存页面到
~/.cache/sitemcp
,支持自定义缓存路径或禁用缓存。 - 与支持 MCP 协议的客户端(如 Claude Desktop)无缝集成。
使用帮助
SiteMCP 的安装和使用都很简单,适合快速上手。下面详细介绍如何安装、操作以及使用特色功能。
安装流程
SiteMCP 基于 Node.js 运行,不需要手动下载源码就能使用。以下是具体步骤:
- 确认 Node.js 环境
打开终端,输入node -v
,确保版本在 16 或以上。如果没有安装,去 Node.js 官网 下载安装。 - 单次使用(无需安装)
在终端输入以下任一命令,替换为你想抓取的网站:
npx sitemcp https://example.com
bunx sitemcp https://example.com
pnpx sitemcp https://example.com
这些命令会自动下载 SiteMCP 并运行,抓取完成后启动 MCP 服务器。
- 全局安装(可选)
如果你经常使用,可以全局安装:
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 提供了一些参数,让抓取更灵活。下面是详细用法:
- 提高抓取速度
默认并发数有限,如果网站页面多,可以加--concurrency
参数。例如:
npx sitemcp https://daisyui.com --concurrency 10
这会同时抓取 10 个页面,速度更快。
- 匹配特定页面
用-m
或--match
参数指定路径,支持多次使用。例如:
npx sitemcp https://vite.dev -m "/blog/**" -m "/guide/**"
这会只抓取 vite.dev
的博客和指南页面。路径匹配基于 micromatch,支持通配符(如 **
表示所有子路径)。
- 提取特定内容
用--content-selector
参数指定 CSS 选择器。例如:
npx sitemcp https://vite.dev --content-selector ".content"
这会只抓取网页中 class="content"
的区域,避免无关信息。SiteMCP 默认用 mozilla/readability 提取可读内容,但用选择器可以更精准。
- 自定义缓存路径或禁用缓存
默认缓存到~/.cache/sitemcp
,可以用--cache-dir
改路径:
npx sitemcp https://example.com --cache-dir ./my-cache
如果不想缓存,加 --no-cache
:
npx sitemcp https://example.com --no-cache
- 与 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 可用的数据源,特别适合需要快速访问文档或内容的用户。
应用场景
- 开发者调试代码
开发者抓取技术文档网站(如 Vite 的指南页面),让 AI 解答用法问题。
比如运行npx sitemcp https://vite.dev -m "/guide/**"
,AI 就能直接访问指南内容。 - 博客内容整理
博主抓取自己的网站(如https://myblog.com
),让 AI 分析文章或生成摘要。
用npx sitemcp https://myblog.com -m "/posts/**"
即可。 - 学习新框架
学生抓取框架官网(如 DaisyUI 的组件页),用 AI 解释功能。
运行npx sitemcp https://daisyui.com -m "/components/**"
,学习更高效。
QA
- SiteMCP 支持哪些客户端?
任何支持 MCP 协议的客户端都可以,比如 Claude Desktop。其他工具需确认兼容性。 - 抓取失败怎么办?
检查网络,或用-m
缩小范围。如果网站限制爬取,可降低--concurrency
值。 - 缓存占空间大吗?
小网站几 MB,大网站可能上百 MB。可用--cache-dir
自定义路径,定期清理。