网页内容提取工具

一个快速、高效的网页内容提取工具,将网页转换为干净的Markdown格式,适用于AI代理、IDE和LLM管道。

作者 By just-every
本地部署 网页爬取 Markdown转换
GitHub

@只是每个/mcp都能快速阅读网站

为AI代理提供快速、令牌高效的web内容提取-将网站转换为干净的Markdown。

read-website-fast MCP server

概述

现有的MCP网络爬虫速度慢,消耗大量令牌。这会暂停开发过程,并提供不完整的结果,因为LLM需要解析整个网页。

此MCP包在本地获取网页,去除噪声,并将内容转换为干净的Markdown,同时保留链接。专为Claude Code、IDE和LLM管道设计,具有最小的令牌占用空间。在本地以最小的依赖性抓取站点。

注: 此软件包现在使用 @只是每一次/爬行 因为它的核心爬行和markdown转换功能。

特性

  • 快速启动 使用官方MCP SDK进行延迟加载以获得最佳性能
  • 内容提取 使用Mozilla可读性(与Firefox阅读器视图相同)
  • HTML到Markdown 使用Turndown+GFM支持进行转换
  • 智能缓存 使用SHA-256哈希URL
  • 礼貌地爬行 支持robots.txt和速率限制
  • 并发取数 具有可配置的深度爬行功能
  • 流优先设计 内存使用率低
  • 链接保存 用于知识图谱
  • 可选分块 用于下游加工

安装

克劳德代码

BASH``` 1claude mcp add read-website-fast -s user — npx -y @just-every/mcp-read-website-fast


### VS代码


BASH```
1code --add-mcp '{"name":"read-website-fast","command":"npx","args":["-y","@just-every/mcp-read-website-fast"]}'

光标

BASH``` 1cursor://anysphere.cursor-deeplink/mcp/install?name=read-website-fast&config=eyJyZWFkLXdlYnNpdGUtZmFzdCI6eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBqdXN0LWV2ZXJ5L21jcC1yZWFkLXdlYnNpdGUtZmFzdCJdfX0=


### JetBrains集成开发环境


设置→ 工具→ AI助手→ 模型上下文协议(MCP)→ Add


选择“作为JSON”并粘贴:


JSON```
1{"command":"npx","args":["-y","@just-every/mcp-read-website-fast"]}

或者,在聊天窗口中,键入/添加并填写相同的JSON——这两条路径都可以在一个步骤中到达服务器。 

原始JSON(适用于任何MCP客户端)

JSON``` 1 2 3 4 5 6 7 8{ “mcpServers”: { “read-website-fast”: { “command”: “npx”, “args”: [“-y”, “@just-every/mcp-read-website-fast”] } } }


将其放入客户端的mcp.json中(例如.vcode/mcp.json、~/.cursor/mcp.json或Claude的.mcp.json)。


## 特性


- **快速启动** 使用官方MCP SDK进行延迟加载以获得最佳性能
- **内容提取** 使用Mozilla可读性(与Firefox阅读器视图相同)
- **HTML到Markdown** 使用Turndown+GFM支持进行转换
- **智能缓存** 使用SHA-256哈希URL
- **礼貌地爬行** 支持robots.txt和速率限制
- **并发取数** 具有可配置的深度爬行功能
- **流优先设计** 内存使用率低
- **链接保存** 用于知识图谱
- **可选分块** 用于下游加工


### 可用工具


- `read_website` -获取网页并将其转换为干净的markdown

- 参数:

- `url` (必需):要获取的HTTP/HTTPS URL
- `pages` (可选):要爬网的最大页数(默认值:1,最大值:100)


### 可用资源


- `read-website-fast://status` -获取缓存统计信息
- `read-website-fast://clear-cache` -清除缓存目录


## 开发用途


### 安装


BASH```
1
2npm install
npm run build

单页获取

BASH``` 1npm run dev fetch https://example.com/article


### 深度爬行


BASH```
1npm run dev fetch https://example.com --depth 2 --concurrency 5

输出格式

BASH``` 1 2 3 4 5 6# 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或两者兼有(默认:markdown)


### 清除缓存


BASH```
1npm run dev clear-cache

自动重启功能

默认情况下,MCP服务器包括自动重启功能,以提高可靠性:

  • 如果服务器崩溃,则自动重新启动服务器
  • 处理未处理的异常和promise拒绝
  • 实现指数回退(1分钟内最多尝试10次)
  • 记录所有重启尝试以进行监控
  • 优雅地处理停机信号(信号情报、信号终端)

对于不自动重启的开发/调试:

BASH``` 1 2# Run directly without restart wrapper npm run serve:dev


## 建筑

1 2 3 4 5 6 7 8 9mcp/ ├── 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


## 发展


BASH```
1
2
3
4
5
6
7
8
9
10# 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

贡献

欢迎投稿!拜托:

  1. 分叉存储库
  2. 创建要素分支
  3. 添加新功能的测试
  4. 提交拉取请求

故障排除

缓存问题

BASH``` 1npm run dev clear-cache


### 超时错误


- 增加超时时间 `-t` 旗帜
- 检查网络连接
- 验证URL是否可访问


### 未提取的内容


- 一些网站阻止自动访问
- 尝试使用自定义用户代理 `-u` 旗帜
- 检查网站是否需要JavaScript(不支持)


## 许可证


麻省理工学院