mcpField
S
searxNcrawl

searxNcrawl

本地服务
searxncrawl.io搜索与检索182今天更新

关于 searxNcrawl

searxNcrawl 是面向 AI Agent 的开源 MCP 服务与 CLI 工具包,提供网页搜索和 Markdown 爬取。它可在自有设备运行,并将配置的搜索来源并行查询、合并结果。

主要功能

  1. 01并行搜索 SearXNG 和 You.com
  2. 02合并并标注搜索结果
  3. 03网页转 Markdown 或 JSON
  4. 04按深度和页数爬取网站
  5. 05支持登录态页面抓取

适用场景

  1. 01搜索网页并提取页面内容
  2. 02抓取文档站点用于分析
  3. 03获取登录后页面内容

MCP 相关

searxNcrawl 通过 STDIO 或 HTTP 向 MCP 客户端提供 search、crawl 和 crawl_site 工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"dasdigitalemomentum-searxncrawl": {
"command": "uvx",
"args": [
"searxncrawl"
],
"env": {
"SEARXNG_URL": "<SEARXNG_URL>",
"SEARXNG_USERNAME": "<SEARXNG_USERNAME>",
"SEARXNG_PASSWORD": "<SEARXNG_PASSWORD>",
"SEARXNG_EXTRA_HEADERS": "<SEARXNG_EXTRA_HEADERS>",
"YDC_API_KEY": "<YDC_API_KEY>",
"SEARCH_RESULT_FIELDS": "<SEARCH_RESULT_FIELDS>"
}
}
}
}
启动命令uvx searxncrawl
需要配置的环境变量
SEARXNG_URLURL of your SearXNG instance with JSON output enabled; enables SearXNG search (no default)
SEARXNG_USERNAMEOptional basic auth user for SearXNG (set both or neither)
SEARXNG_PASSWORD密钥Optional basic auth password for SearXNG (set both or neither)
SEARXNG_EXTRA_HEADERS密钥JSON object of SearXNG-only ASCII headers; values may reference @/absolute or @~/ secret files; invalid values disable SearXNG
YDC_API_KEY密钥You.com API key; enables You.com search (queries go to You.com, US)
SEARCH_RESULT_FIELDSComma-separated result fields: title,url,content,publishedDate,providers (unset = all)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypisearxncrawl0.33.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

searxNcrawl:为 AI Agent 搜索和抓取网页。用于网页搜索和干净 Markdown 抓取的开源 MCP 服务。

PyPI Python 3.10+ CI MIT licence MCP server

网站 · 快速开始 · 文档 · 开发者 · 云服务(计划中) · 更新日志

MCP 客户端启动 uvx searxncrawl,调用 search 搜索 crawl4ai quick start,随后抓取排名第一的结果并获得干净的 Markdown
使用本地 SearXNG 的真实 MCP 客户端会话(fastmcp),运行 uvx searxncrawl 0.31.0:先执行 search,再将排名第一的结果 crawl 为 Markdown。为便于展示,输出已缩短。使用 docs/assets/demo/ 可重现此过程。

searxNcrawl 是一款开源 MCP 服务和 CLI 工具包,为 AI Agent 提供网页搜索和干净的 Markdown 抓取功能,基于 Crawl4AI 构建。搜索会并行查询已配置的服务提供方 SearXNG 和/或 You.com,并合并结果。它运行在你自己的硬件上,使用 SearXNG 无需 API 密钥,且性能优于 searxng-mcp。

网页搜索
并行查询自有 SearXNG 实例和/或 You.com API;合并搜索结果并标注其服务提供方,还可按语言和时间范围筛选。
页面抓取
将一个或多个 URL 转换为 Markdown 或 JSON,移除重复区块,并可选择移除链接。
站点抓取
抓取整个站点,并设置深度和页面数限制,专为文档内容优化。
需身份验证的抓取
使用 crawl-capture 捕获一次登录会话,然后抓取登录后才能访问的内容。
STDIO 和 HTTP
接入本地 MCP 客户端,或通过带有主机和 CORS 限制的 HTTP 端点对外提供服务。
CLI 和 Python API
在命令行中使用 crawl、search 和 crawl-capture,也可在 Python 中导入。
SEARXNG_URL=http://your-searxng:8888 uvx searxncrawl

快速开始

你需要 uv,并且使用 search 工具时,至少需要一个搜索服务提供方:启用了 JSON 输出的 SearXNG 实例和/或 You.com API 密钥(YDC_API_KEY)。还没有 SearXNG?使用 Docker 启动一个实例。无需上述任一服务也可以进行抓取。

将其添加到你的 Agent

为你机器上的每个 Agent 执行一步

uvx searxncrawl setup

setup 会检测 Claude Code、Codex、Gemini CLI、Cursor、VS Code 和 Claude Desktop,询问你的 SearXNG URL,以及可选的 You.com API 密钥(隐藏输入,不会打印),显示每项配置变更,并且只有在你确认后才应用。它修改的每个文件都会先备份,setup --remove 可以撤销这些更改。更多选项请参阅 MCP 服务。

或按 Agent 单独配置

将 searxNcrawl 添加到 Cursor 在 VS Code 中安装 searxNcrawl

以下按钮和命令默认使用 http://localhost:8888 上的 SearXNG;如果你的 SearXNG 运行在其他位置,请更改 SEARXNG_URL,或者添加 YDC_API_KEY 以使用 You.com。

Claude Code

claude mcp add searxncrawl --env SEARXNG_URL=http://localhost:8888 -- uvx searxncrawl

Codex

codex mcp add searxncrawl --env SEARXNG_URL=http://localhost:8888 -- uvx searxncrawl

VS Code

code --add-mcp '{"name":"searxncrawl","command":"uvx","args":["searxncrawl"],"env":{"SEARXNG_URL":"http://localhost:8888"}}'

Cursor(~/.cursor/mcp.json)、Claude Desktop 及其他使用 mcpServers 格式的客户端

{
  "mcpServers": {
    "searxncrawl": {
      "command": "uvx",
      "args": ["searxncrawl"],
      "env": { "SEARXNG_URL": "http://localhost:8888" }
    }
  }
}

首次抓取时会下载 Playwright 的 Chromium,大小约为 550 MB。Docker、HTTP 传输及其他配置方式,请参阅安装和 MCP 服务。

让你的 Agent 执行任务
Search for the Crawl4AI quick start, crawl the official page and summarise
how to run a first crawl.

你的 Agent 会调用 search,选择一个结果,然后调用 crawl。它会返回整洁的 Markdown,而不是原始 HTML。

使用终端
uvx --from searxncrawl crawl https://modelcontextprotocol.io/docs/getting-started/intro
SEARXNG_URL=http://localhost:8888 uvx --from searxncrawl search "model context protocol" --max-results 5

工作原理

flowchart LR
    agent["AI agent<br/>Claude Code · Codex<br/>Cursor · VS Code"]
    server["searxNcrawl<br/>MCP server"]
    searxng["SearXNG (your instance)<br/>and/or You.com API"]
    browser["Crawl4AI +<br/>Playwright Chromium"]
    results["Merged results<br/>attributed per provider"]
    markdown["Deduplicated<br/>Markdown or JSON"]

    agent -- "MCP · STDIO or HTTP" --> server
    server -- "search" --> searxng --> results
    server -- "crawl · crawl_site" --> browser --> markdown

结果会作为工具响应返回给 Agent。搜索和抓取也可通过 search 和 crawl CLI 命令使用;抓取还可通过 Python API 使用。

searxNcrawl 提供三个 MCP 工具:

工具功能
search并行查询已配置的提供方(SearXNG、You.com),返回合并去重后的结果列表,并标明每项结果的来源。筛选项包括:语言、时间范围、安全搜索、分页;SearXNG 还支持类别和引擎。
crawl使用 Chromium 渲染一个或多个 URL,并返回带有元数据和引用的 Markdown 或 JSON。
crawl_site从种子 URL 开始跟随链接,并限制深度、页面数和超时时间,适用于文档网站。

两个抓取工具都会从页面的 Markdown 中删除重复出现的章节(dedup_mode="exact"),可移除链接以减少上下文长度(remove_links),并支持为需要登录的页面传入 Playwright storage_state。完整参数请参阅 MCP 工具参考。

为什么选择 searxNcrawl

托管搜索和抓取 API 上手很快,但每次调用都会经过他人的服务,并按请求或额度计费。searxNcrawl 可在你自己的计算机或服务器上运行。

searxNcrawlFirecrawlTavilyExa
搜索和抓取在你的硬件上运行✅ Python 包或 Docker;You.com 查询会发送到 You.com✅ 自托管技术栈(Docker Compose),或托管 API❌ 托管 API❌ 托管 API
API 密钥使用 SearXNG 时不需要;You.com 需要托管 API:需要。自托管:默认不需要需要可选,匿名使用会受速率限制
每次调用的费用使用 SearXNG 时无费用;You.com 按其套餐计费托管:每月免费额度用完后,需购买付费额度。自托管:无费用每月免费额度用完后,需购买付费额度每月免费额度用完后,按请求付费
搜索后端你的 SearXNG(启用的引擎)和/或 You.com托管:Firecrawl 的搜索。自托管:如已配置则使用 SearXNG,否则使用 DuckDuckGoTavily 的搜索 APIExa 的搜索索引
许可证MITAGPL-3.0MCP 服务采用 MIT 许可证,API 为专有MCP 服务采用 MIT 许可证,API 为专有

自托管的 Firecrawl 也可以通过 SearXNG 搜索;它以多服务技术栈的形式运行(包括 API、Playwright 服务、Redis、RabbitMQ、PostgreSQL 等),而 searxNcrawl 是一个带有 Chromium 的 Python 单进程,此外还需要你自己的 SearXNG 实例(如果使用)。searxNcrawl 兼容 Firecrawl 的 API 已列入计划。

以下情况可能更适合选择其他方案:如果你不想自己运行搜索提供方和浏览器,托管 API 会省事得多;此外,Exa 的语义搜索索引或 Firecrawl 的提取功能也超出了 searxNcrawl 目前的能力范围。本比较基于各项目截至 2026 年 10 月公开的代码仓库和文档;欢迎提出修正。Firecrawl 是其所有者的商标;searxNcrawl 与其无关联。

常见问题

我需要 SearXNG 吗?

仅使用 search 工具时需要;如果你使用 You.com(YDC_API_KEY),则不需要。crawl 和 crawl_site 无需任何搜索提供方即可运行。SearXNG 默认只提供 HTML,因此必须启用 JSON 输出(在 settings.yml 中设置 search.formats)。公共实例可能未启用此功能,而且通常会对自动化请求进行速率限制,因此请自行运行实例。安装中提供了一条 Docker 命令。

它能处理 JavaScript 密集型页面吗?

可以。页面会先通过 Crawl4AI 在 Playwright 的 Chromium 中渲染,再转换为 Markdown,因此可以捕获客户端内容。

它能抓取需要登录的页面吗?

可以。使用 crawl-capture 捕获一次会话,然后将保存的 storage_state 文件传给 crawl 或 crawl_site。请参阅会话捕获。

我可以远程运行它或与团队共享吗?

可以。使用 --transport http 启动(默认端口为 8000),或使用 Docker Compose 堆栈(端口为 9555),然后将 MCP 客户端指向 http://<host>:<port>/mcp。主机和 Origin 允许列表会保护此端点;请参阅 MCP 服务。

为什么第一次抓取很慢?

第一次抓取时会下载 Playwright 的 Chromium(磁盘占用约 550 MB)。之后的运行会复用它。如果浏览器已通过其他方式配置,请设置 PLAYWRIGHT_AUTO_INSTALL=false。

我用过 searxng-mcp。有什么变化?

searxng-mcp 已弃用,现由 searxNcrawl 取代。它只能搜索 SearXNG,还可能随机选择公共实例;searxNcrawl 增加了页面和站点抓取功能,但需要你自行配置 SEARXNG_URL(或提供 You.com 密钥),因为它不包含随机选择公共实例的功能。

有托管版本吗?

目前还没有。searxNcrawl Cloud 已列入计划;请参阅路线图。

路线图

  • 兼容 Firecrawl 的 API(计划中):将 searxNcrawl 用作基于 Firecrawl API 构建的工具的即插即用后端。
  • searxNcrawl Cloud(计划中):为不想自行运行 SearXNG 和浏览器的团队提供托管端点。详情和候补名单。

欢迎在讨论区分享想法并投票。

文档

指南内容
安装uvx、Docker Compose、pip、uv、搜索提供方和环境变量
MCP 服务STDIO 和 HTTP 传输、客户端配置、Host 和 CORS 防护
MCP 工具crawl、crawl_site 和 search 的参数
CLIcrawl、search 和 crawl-capture
Python APIcrawl_page、crawl_site 和爬虫配置覆盖项
输出格式Markdown 和 JSON 结构、CrawledDocument
会话捕获使用保存的浏览器会话进行身份验证后的抓取
MCP Registryserver.json 和发布步骤
架构面向贡献者的模块和功能

贡献

欢迎提交错误报告、功能创意和拉取请求。请先阅读贡献指南,并就较大的更改先创建一个问题。编码 Agent 可在 AGENTS.md 中查阅项目约定。请按照安全政策中的说明,私下报告漏洞。

许可证

MIT — © 2026 DDM – Das Digitale Momentum GmbH & Co KG


由 DDM – Das Digitale Momentum GmbH & Co. KG(德国 Much)维护 · www.searxncrawl.io · 我们的所有开源项目

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

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