关于 mcp-server-webcrawl
mcp-server-webcrawl 是一个 MCP 服务,用于连接网络爬虫数据和存档,让 AI 客户端对其进行全文搜索、筛选和分析。它面向希望查询本地或远程爬取结果的用户,是免费的开源项目。
主要功能
- 01支持布尔运算的全文搜索
- 02按类型、HTTP 状态等字段筛选资源
- 03兼容 ArchiveBox、HTTrack、wget 等多种爬虫
- 04通过 extras 参数以 Markdown 或摘要形式返回内容
适用场景
- 01审计网站的 SEO、死链和性能问题
- 02在命令行中以交互模式搜索远程主机上的网页存档
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端提供搜索、筛选和检索网络爬取数据的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mcp-server-webcrawl
针对网络爬虫数据的高级搜索与检索。借助 mcp-server-webcrawl,AI 客户端可以按照你的指示或自主筛选和分析网络内容。该服务包含支持布尔搜索的全文搜索界面,并支持按类型、HTTP 状态等筛选资源。
mcp-server-webcrawl 为大模型提供完整的搜索选项,并兼容多种网络爬虫:
| 爬虫/格式 | 描述 | 平台 | 设置指南 |
|---|---|---|---|
| ArchiveBox | 网页归档工具 | macOS/Linux | 设置指南 |
| HTTrack | GUI 镜像工具 | macOS/Windows/Linux | 设置指南 |
| InterroBot | GUI 爬虫与分析工具 | macOS/Windows/Linux | 设置指南 |
| Katana | 面向安全领域的 CLI 爬虫 | macOS/Windows/Linux | 设置指南 |
| SiteOne | GUI 爬虫与分析工具 | macOS/Windows/Linux | 设置指南 |
| WARC | 标准网络归档格式 | 因客户端而异 | 设置指南 |
| wget | CLI 网站镜像工具 | macOS/Linux | 设置指南 |
mcp-server-webcrawl 免费且开源,需要 Claude Desktop 和 Python (>=3.10)。可通过 pip install 在命令行中安装:
pip install mcp-server-webcrawl
如需逐步了解 MCP 服务的设置方法,请参阅设置指南。
功能
- 适用于 Claude Desktop
- 兼容多种爬虫
- 按类型、状态等筛选
- 支持布尔搜索
- 支持 Markdown 和摘要片段
- 自行搭建网站知识库
提示词例程
mcp-server-webcrawl 提供了所需的工具包,让你可以自由搜索网页抓取数据,边探索边弄清情况,并根据每次查询作出反应。这正是它的设计初衷。
它也能运行例程(以提示词的形式)。你可以自行编写,也可以使用现成的提示词。这些提示词可以直接复制粘贴,并以原始 Markdown 的形式使用。借助为大模型提供的高级搜索功能,你可以将查询和逻辑嵌入一组过程指令中,甚至创建输入循环,Gopher Service 就采用了这种方式。
| 提示词 | 下载 | 类别 | 描述 |
|---|---|---|---|
| 🔍 SEO 审计 | auditseo.md | audit | 技术 SEO(搜索引擎优化)分析。涵盖基础内容,并提供深入分析的选项。 |
| 🔗 404 审计 | audit404.md | audit | 检测失效链接并分析规律。不仅能发现问题,还会提出修复建议。 |
| ⚡ 性能 审计 | auditperf.md | audit | 网站速度和优化分析。直言不讳。 |
| 📁 文件审计 | auditfiles.md | audit | 文件组织和资源分析。了解网站的构成。 |
| 🌐 Gopher 界面 | gopher.md | interface | 复古搜索界面,灵感来自昔日的 Gopher 客户端。 |
| ⚙️ 搜索测试 | testsearch.md | self-test | 一组测试,用于检查搜索查询解析器及后续 FTS5 转换是否存在布尔逻辑不一致。 |
如果你想跳过选择网站的步骤(少一次查询),请粘贴 Markdown,并在同一条请求中输入“run pasted for [site name or URL].”。它会自行识别。若粘贴时没有提供额外上下文,系统会提示你从已抓取的网站列表中选择。
布尔搜索语法
查询引擎支持特定字段搜索(field: value)和复杂布尔表达式。全文搜索支持组合 url、content 和 headers 字段进行匹配。
虽然 API 接口旨在供大模型直接使用,但熟悉搜索语法也会有所帮助。大模型生成的搜索内容可以检查,但通常会在 UI 中折叠显示。如需查看查询,请展开 MCP 折叠项。
查询示例
| 查询示例 | 描述 |
|---|---|
| privacy | 全文匹配单个关键词 |
| "privacy policy" | 全文精确匹配短语 |
| boundar* | 全文通配符匹配以 boundar 开头的结果(boundary、boundaries) |
| id: 12345 | id 字段匹配指定 ID 的资源 |
| url: example.com/somedir | url 字段匹配 URL 中包含 example.com/somedir 的结果 |
| type: html | type 字段仅匹配 HTML 页面 |
| status: 200 | status 字段匹配指定的 HTTP 状态码(等于 200) |
| status: >=400 | status 字段匹配指定的 HTTP 状态码(大于或等于 400) |
| content: h1 | content 字段匹配内容(HTTP 响应正文,通常但不总是 HTML) |
| headers: text/xml | headers 字段匹配 HTTP 响应标头 |
| privacy AND policy | 全文同时匹配两者 |
| privacy OR policy | 全文匹配其中任一项 |
| policy NOT privacy | 全文匹配包含 policy 但不含 privacy 的内容 |
| (login OR signin) AND form | 全文匹配包含 login 或 signin,且同时包含 form 的内容 |
| type: html AND status: 200 | 全文仅匹配 HTTP 请求成功的 HTML 页面 |
字段搜索定义
字段搜索可提高搜索精度,让你指定要筛选搜索索引中的哪些列。你可以将查询限制在 URL、标头或内容正文等特定属性中,而不是搜索全部内容。查找抓取数据中的特定属性或模式时,这种方法能提高效率。
| 字段 | 描述 |
|---|---|
| id | 数据库 ID |
| url | 资源 URL |
| type | 类型枚举列表(参见类型表) |
| size | 文件大小(字节) |
| status | HTTP 响应代码 |
| headers | HTTP 响应标头 |
| content | HTTP 正文——HTML、CSS、JS 等 |
字段内容
结果中可以独立请求部分字段,而核心字段始终启用。使用 headers 和 content 可能会快速消耗令牌。请谨慎使用,或使用 extras 在上下文窗口中纳入更多结果。Fields 是顶层参数,与查询中是否进行字段搜索无关。
| 字段 | 描述 |
|---|---|
| id | 始终可用 |
| url | 始终可用 |
| type | 始终可用 |
| status | 始终可用 |
| created | 按需提供 |
| modified | 按需提供 |
| size | 按需提供 |
| headers | 按需提供 |
| content | 按需提供 |
内容类型
抓取内容包含 HTML 页面以外的资源类型。type: 字段搜索可按大类内容类型进行筛选,在无需复杂扩展名查询的情况下筛选图像时尤其有用。例如,你可以搜索 type: html NOT content: login 来查找不含“login”的页面,或搜索 type: img 来分析图像资源。下表列出了搜索系统支持的所有内容类型。
| 类型 | 描述 |
|---|---|
| html | 网页 |
| iframe | iframe |
| img | 网络图像 |
| audio | 网络音频文件 |
| video | 网络视频文件 |
| font | 网络字体文件 |
| style | CSS 样式表 |
| script | JavaScript 文件 |
| rss | RSS 订阅源 |
| text | 纯文本内容 |
| PDF 文件 | |
| doc | MS Word 文档 |
| other | 未分类 |
附加功能
extras 参数提供额外的处理选项,可转换 HTTP 数据(Markdown、代码片段、正则表达式、XPath),或将大模型连接到外部数据(缩略图)。可根据需要组合这些选项,以获得所需的结果格式。
| 附加功能 | 描述 |
|---|---|
| thumbnails | 生成 base64 编码的图像,供 AI 模型查看和分析。可在尽量减少 token 输出的同时,实现图像描述、内容分析和视觉理解。适用于图像,可在查询中使用 type: img 进行筛选。不支持 SVG。 |
| markdown | 将 HTML 内容字段以简洁的 Markdown 形式提供,从而减少 token 用量并提升大模型的可读性。适用于 HTML,可在查询中使用 type: html 进行筛选。 |
| regex | 从 HTML、CSS、JavaScript 等抓取的文件中提取正则表达式匹配项。对于 HTML,它不如 XPath 精确,但支持将任何文本文件作为数据源。可使用 extrasRegex 参数请求一个或多个正则表达式模式。 |
| snippets | 将全文查询与内容中关键词的上下文用法相匹配。不请求内容字段(或 markdown 附加功能)时,可高效优化搜索,而无需下载完整页面内容。也适合将旧式的命中高亮结果呈现为列表,就像 1999 年的 Google 搜索一样。适用于 HTML、CSS、JS 或任何基于文本的抓取文件。 |
| xpath | 提取 XPath 选择器数据,用于抓取 HTML 内容。文本选择器请使用 XPath 的 text() 选择器;元素选择器则返回 outerHTML。仅支持 type: html,其他类型将被忽略。可使用 extrasXpath 参数请求一个或多个 XPath 选择器(//h1、count(//h1) 等)。 |
附加功能可用于生成高效利用 token 的 HTTP 内容响应。Markdown 的字节数约为源 HTML 的 1/3,代码片段通常每条约 500 字节,而 XPath 的范围可按需设置得精确或宽泛。请求越聚焦,你就能在大模型会话中容纳越多结果。
当然,这一切的设计初衷是由大模型替你处理。如果你发现大模型开始偏好“content”字段(完整 HTML),只需在聊天中提醒它使用附加功能来控制 token 用量即可。
交互模式
无需 AI,只需在终端中对网页存档进行经典的布尔搜索。
mcp-server-webcrawl 也可以作为终端搜索工具,搜索你的网页存档。你可以在本地存档中运行它;但如果你想到可以通过 ssh 连接到任意远程主机,并查看该主机上的存档,事情就更有意思了。无需下载、同步、多因素登录或其他常见的繁琐操作。使用交互模式,你很快就能在远程服务上的抓取数据中进行搜索。
使用 --crawler 和 --datasrc 启动即可立即搜索,也可以在应用内配置 datasrc 和 crawler。
mcp-server-webcrawl --crawler wget --datasrc /path/to/datasrc --interactive
# or manually enter crawler and datasrc in the UI
mcp-server-webcrawl --interactive
交互模式让你可以随时在终端中搜索批次的抓取数据,无论何时何地……

评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。