用途
mcp-read-website-fast 用于为 AI 智能体、Claude Code、IDE 以及 LLM 流水线提供快速、低 token 消耗的网页内容提取。它将网页转换为干净的 Markdown,并保留链接,以便大语言模型无需解析整页 HTML 即可获得有效内容。
主要能力
- 快速启动:使用官方 MCP SDK 并采用懒加载,优化性能。
- 内容提取:使用 Mozilla Readability,与 Firefox 阅读视图相同。
- HTML 转 Markdown:使用 Turndown 并支持 GFM。
- 智能缓存:基于 SHA-256 哈希 URL。
- 礼貌爬取:支持 robots.txt 与速率限制。
- 并发抓取:支持可配置深度的爬取。
- 流式优先设计:降低内存占用。
- 链接保留:适用于知识图谱。
- 可选分块:便于下游处理。
注意:该包现在使用 @just-every/crawl 作为核心爬取与 Markdown 转换功能。
使用方式
该工具作为 MCP 服务器集成到支持 MCP 的客户端中。可在 Settings → Tools → AI Assistant → Model Context Protocol (MCP) → Add 中,选择 “As JSON” 并粘贴配置;或在聊天窗口输入 /add 并填入相同 JSON。
原始 JSON 可用于任何 MCP 客户端,将其放入客户端的 mcp.json,例如 .vscode/mcp.json、~/.cursor/mcp.json 或 Claude 的 .mcp.json。
可用工具
read_website - 抓取网页并转换为干净的 Markdown。 参数:
- url(必填):要抓取的 HTTP/HTTPS URL。
- pages(可选):最大爬取页面数,默认 1,最大 100。
可用资源
- read-website-fast://status - 获取缓存统计信息。
- read-website-fast://clear-cache - 清除缓存目录。
开发用法
单页抓取。 带深度爬取,可用参数包括:
- -p, --pages <number>:最大爬取页面数,默认 1。
- -c, --concurrency <number>:最大并发请求数,默认 3。
- --no-robots:忽略 robots.txt。
- --all-origins:允许跨源爬取。
- -u, --user-agent <string>:自定义用户代理。
- --cache-dir <path>:缓存目录,默认 .cache。
- -t, --timeout <ms>:请求超时时间(毫秒),默认 30000。
- -o, --output <format>:输出格式,可选 json、markdown 或 both,默认 markdown。
自动重启功能
MCP 服务器默认包含自动重启能力,以提高可靠性:
- 服务器崩溃时自动重启。
- 处理未捕获异常和 Promise 拒绝。
- 实现指数退避(1 分钟内最多尝试 10 次)。
- 记录所有重启尝试以便监控。
- 优雅处理关闭信号(SIGINT、SIGTERM)。
如需在开发/调试时禁用自动重启,可参考项目说明。
适用场景
- 为 AI 智能体提取网页正文,减少无关内容与 token 消耗。
- 在 IDE 或 Claude Code 中快速读取网页并转换为 Markdown。
- 需要保留链接以构建知识图谱的 LLM 流水线。
- 需要对网站进行本地、低依赖、礼貌的并发爬取。
限制
- 部分网站会阻止自动访问。
- 可尝试使用 -u 参数设置自定义用户代理。
- 不支持需要 JavaScript 的网站。
- 如遇超时,可使用 -t 参数增加超时时间。
- 需检查网络连接并确认 URL 可访问。
贡献
欢迎贡献:Fork 仓库、创建功能分支、为新功能添加测试、提交 pull request。