关于 A Fast Website Reader MCP
@just-every/mcp-read-website-fast 是一个 MCP 服务,在本地抓取网页并将内容转换为干净的 Markdown,同时保留链接。它面向 Claude Code、IDE 和 LLM 流水线,目标是减少 token 消耗,使整页内容能够一次读取。
主要功能
- 01本地抓取网页并转换为 Markdown
- 02使用 Mozilla Readability 提取正文
- 03基于 SHA-256 哈希 URL 的缓存
- 04遵守 robots.txt 并进行速率限制
- 05可配置深度的并发爬取
- 06保留链接以便构建知识图谱
适用场景
- 01在 Claude Code 中读取文档或文章页面
- 02为 LLM 流水线准备低 token 消耗的网页内容
- 03在本地爬取站点并导出为 Markdown
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露 read_website 工具以及缓存状态和清除缓存的资源。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
8收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| actions | array | 否 | 抓取前要执行的操作列表 |
| excludeTags | array | 否 | 要从提取结果中排除的 HTML 标签 |
| extract | object | 否 | 结构化数据提取配置 |
| extract.prompt | string | 否 | 用于 LLM 提取的用户提示词 |
| extract.schema | object | 否 | 结构化数据提取的架构 |
| extract.systemPrompt | string | 否 | 用于 LLM 提取的系统提示词 |
| formats | array | 否 | 要提取的内容格式(默认:['markdown']) |
| includeTags | array | 否 | 要在提取中明确包含的 HTML 标签 |
| location | object | 否 | 抓取的位置设置 |
| location.country | string | 否 | 地理位置定位的国家/地区代码 |
| location.languages | array | 否 | 内容的语言代码 |
| mobile | boolean | 否 | 使用移动端视口 |
| onlyMainContent | boolean | 否 | 仅提取主要内容,过滤导航栏、页脚等内容。 |
| removeBase64Images | boolean | 否 | 从输出中移除 Base64 编码的图像 |
| skipTlsVerification | boolean | 否 | 跳过 TLS 证书验证 |
| timeout | number | 否 | 等待页面加载的最长时间(毫秒) |
| url | string | 是 | 要抓取的 URL |
| waitFor | number | 否 | 等待动态内容加载的时间(毫秒) |
详细介绍
@just-every/mcp-read-website-fast
为 AI Agent 快速、高效地提取网页内容,转换为简洁的 Markdown。
概述
现有的 MCP 网页爬虫速度慢,且消耗大量 token。这会拖慢开发进度,而且大模型需要解析整个网页,因此提供的结果并不完整。
这个 MCP 包会在本地获取网页、剔除无关内容,并将内容转换为简洁的 Markdown,同时保留链接。它专为 Claude Code、IDE 和大模型处理流水线设计,尽可能减少 token 占用。只需极少的依赖,即可在本地爬取网站。
注意: 此包现在使用 @just-every/crawl 实现核心爬取和 Markdown 转换功能。
功能
- 快速启动:使用官方 MCP SDK,并通过延迟加载优化性能
- 内容提取:使用 Mozilla Readability(与 Firefox 阅读视图相同)
- HTML 转 Markdown:使用 Turndown,并支持 GFM
- 智能缓存:使用 SHA-256 哈希处理 URL
- 礼貌爬取:支持 robots.txt 和速率限制
- 并发抓取:支持配置爬取深度
- 流式优先设计:降低内存占用
- 保留链接:便于构建知识图谱
- 可选分块:便于后续处理
安装
Claude Code
claude mcp add read-website-fast -s user -- npx -y @just-every/mcp-read-website-fast
VS Code
code --add-mcp '{"name":"read-website-fast","command":"npx","args":["-y","@just-every/mcp-read-website-fast"]}'
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=read-website-fast&config=eyJyZWFkLXdlYnNpdGUtZmFzdCI6eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBqdXN0LWV2ZXJ5L21jcC1yZWFkLXdlYnNpdGUtZmFzdCJdfX0=
JetBrains IDE
设置 → 工具 → AI 助手 → Model Context Protocol (MCP) → 添加
选择“As JSON”并粘贴:
{"command":"npx","args":["-y","@just-every/mcp-read-website-fast"]}
或者,在聊天窗口中输入 /add 并填写相同的 JSON——两种方式都可以一步完成服务配置。 
原始 JSON(适用于任何 MCP 客户端)
{
"mcpServers": {
"read-website-fast": {
"command": "npx",
"args": ["-y", "@just-every/mcp-read-website-fast"]
}
}
}
将其放入客户端的 mcp.json(例如 .vscode/mcp.json、~/.cursor/mcp.json 或 Claude 的 .mcp.json)。
功能
- 快速启动:使用官方 MCP SDK,并通过延迟加载优化性能
- 内容提取:使用 Mozilla Readability(与 Firefox 阅读视图相同)
- HTML 转 Markdown:使用 Turndown,并支持 GFM
- 智能缓存:使用 SHA-256 哈希处理 URL
- 礼貌爬取:支持 robots.txt 和速率限制
- 并发抓取:支持配置爬取深度
- 流式优先设计:降低内存占用
- 保留链接:便于构建知识图谱
- 可选分块:便于后续处理
可用工具
read_website- 获取网页并将其转换为简洁的 Markdown- 参数:
url(必填):要获取的 HTTP/HTTPS URLpages(可选):爬取的最大页面数(默认值:1,最大值:100)
- 参数:
可用资源
read-website-fast://status- 获取缓存统计信息read-website-fast://clear-cache- 清除缓存目录
开发用法
安装
npm install
npm run build
获取单个页面
npm run dev fetch https://example.com/article
按深度爬取
npm run dev fetch https://example.com --depth 2 --concurrency 5
输出格式
# Markdown only (default)
npm run dev fetch https://example.com
# JSON output with metadata
npm run dev fetch https://example.com --output json
# Both URL and markdown
npm run dev fetch https://example.com --output both
CLI 选项
-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)
清除缓存
npm run dev clear-cache
自动重启功能
MCP 服务默认具备自动重启功能,以提高可靠性:
- 如果服务崩溃,会自动重启
- 处理未捕获的异常和 Promise 拒绝
- 实现指数退避(1 分钟内最多尝试 10 次)
- 记录所有重启尝试,以便监控
- 妥善处理关闭信号(SIGINT、SIGTERM)
如需在开发/调试时禁用自动重启:
# Run directly without restart wrapper
npm run serve:dev
架构
mcp/
├── src/
│ ├── crawler/ # URL fetching, queue management, robots.txt
│ ├── parser/ # DOM parsing, Readability, Turndown conversion
│ ├── cache/ # Disk-based caching with SHA-256 keys
│ ├── utils/ # Logger, chunker utilities
│ ├── index.ts # CLI entry point
│ ├── serve.ts # MCP server entry point
│ └── serve-restart.ts # Auto-restart wrapper
开发
# Run in development mode
npm run dev fetch https://example.com
# Build for production
npm run build
# Run tests
npm test
# Type checking
npm run typecheck
# Linting
npm run lint
贡献
欢迎贡献!请:
- Fork 此仓库
- 创建功能分支
- 为新功能添加测试
- 提交 pull request
故障排除
缓存问题
npm run dev clear-cache
超时错误
- 使用
-t标志增加超时时间 - 检查网络连接
- 确认 URL 可访问
未提取到内容
- 某些网站会阻止自动访问
- 尝试使用自定义 user agent,添加
-u标志 - 检查网站是否需要 JavaScript(不支持)
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。