跳到正文

CrawlForge Team工程团队

阅读时长 4 分钟

自托管的网页搜索 MCP server

搜索自托管的网页搜索 MCP server,结果会分成两类:完全由你自己运行的 GitHub 项目,以及那些因为客户端跑在你的笔记本上就把托管 API 称作“本地”的厂商页面。这是两回事,你需要哪一种,取决于你真正想留在自己手里的是什么。

这篇文章会明确说明 CrawlForge 处在这条线的什么位置——包括不属于自托管的那一部分。

对 MCP server 来说,“自托管”意味着什么

一套网页搜索 MCP 方案有三层,每一层都可以独立托管:

  1. 服务器进程——你的 MCP 客户端启动并通过 stdio 与之通信的那个东西。
  2. 搜索后端——真正回答查询的那一层。
  3. 控制平面——认证、计量、计费。

大多数“自托管”的说法只覆盖第 1 层。在本地跑一个进程只是基本要求,几乎每个 MCP server 都做得到。真正决定它在隐私意义上算不算自托管的是第 2 层:你的查询会不会离开你的网络,又由谁看到?

CrawlForge 有多少运行在你自己的机器上

第 1 层完全属于你。crawlforge-mcp-server 是一个 MIT 许可的 npm 包,作为本地进程通过 stdio 运行——没有厂商守护进程,没有云端运行时,源码在 GitHub 上,你可以先读再跑。

Bash
npm install -g crawlforge-mcp-server

第 2 层才是有意思的地方。search_web 接受一个 provider 参数,可选值有两个,其中一个就是你自己的 SearXNG 实例:

Bash
export CRAWLFORGE_SEARXNG_URL=http://localhost:8888
Json
{
  "query": "mcp server directory",
  "provider": "searxng",
  "limit": 10
}

这样配置之后,查询只会发到你的 SearXNG 机器,不会去别处——没有任何第三方搜索厂商看得到这串查询词。返回的结果会被归一化成与托管 provider 相同的结构,因此排序、去重和缓存照常生效,你工作流的后续环节完全不用改。

基于 LLM 的 tools 也是同样的思路。extract_with_llm、summarize_content 和 analyze_content 默认使用本地 Ollama 模型,所以提取这一步也可以留在你自己的硬件上。

哪一部分不是自托管的

第 3 层。无论你选哪个 provider,计量都要走 CrawlForge。

search_web 和其他所有 tool 一样,被同一套认证与 credits 校验包裹着,而这套校验既不知道、也不关心你选了 SearXNG。由 SearXNG 提供结果的搜索,仍然需要有效的 API key,仍然消耗 5 个 credits,和托管搜索完全一样。

这里值得把话说清楚:自托管搜索后端改变的是谁能看到你的查询——这是实实在在的隐私收益,也是大家想要它的通常原因。但它不会让这个工具变成免费,也不会消除对厂商的依赖。如果你的要求是“完全不能有指向厂商的出站连接”,那么 CrawlForge 目前满足不了。

什么时候该选完全自托管的服务器

如果你真正需要掌控的是第 3 层——隔离网络、不要厂商账户、不要按次计费——那就直接用一个完全自托管的项目。SearXNG 有能直接对接它的 MCP 封装,对这种需求来说,它们比绕开一个计量工具要合适得多。

CrawlForge 的价值在于:你希望搜索后端留在本地,但仍然想用一个服务器覆盖其余的工作——scrape、extract_content、crawl_deep、serp_rank 以及另外 27 个 tools,共用同一个连接和同一把 key。用自己的实例做搜索、用自己的 Ollama 做提取,同时让托管路径去抓取那些 SearXNG 只是指了个路的页面,这是一个合理的折中——实际上也是大多数搜索这个词的人最终想要的配置。

获取 API key——一次性 1,000 个 credits,无需信用卡。设置 CRAWLFORGE_SEARXNG_URL,传入 provider: "searxng",你的查询就留在自己的网络里。

亲自试一试——无需注册

在 Playground 中探索全部 31 个 CrawlForge 抓取与提取工具,然后免费开始,获取 1,000 credits。

1,000 免费 credits • 一次性 • 无需信用卡

标签

  • mcp
  • web search
  • self-hosted
  • searxng
  • search_web
  • privacy

关于作者

CrawlForge Team

工程团队

我们正在打造功能最全面的 Web 抓取 MCP server。我们开发的工具帮助开发者为 AI 应用提取、分析和转换 Web 数据。

邮件订阅

及时获取最新洞察

将教程、产品更新与 Web 抓取技巧直接发送到你的收件箱。

拒绝垃圾邮件,随时可取消订阅。

FAQ

常见问题

01可以用 CrawlForge 自托管一个网页搜索 MCP server 吗?

可以一部分,而这个区别很重要。服务器进程是完全自托管的:crawlforge-mcp-server 是一个 MIT 许可的 npm 包,通过 stdio 在本地运行,没有任何厂商守护进程。搜索后端同样可以自托管——把 CRAWLFORGE_SEARXNG_URL 指向你自己的 SearXNG 实例,并给 search_web 传入 provider: "searxng",查询就不会离开你的网络。不能自托管的是计量:每次调用仍然要向 CrawlForge 认证并消耗 credits。

02通过我自己的 SearXNG 实例搜索,还会消耗 credits 吗?

会。无论由哪个 provider 响应,search_web 每次调用都消耗 5 个 credits。credits 校验包裹在这个 tool 外层,在选择 provider 之前就已经执行,因此它并不知道结果是 SearXNG 提供的。自托管搜索后端带来的是隐私上的改变——你的查询留在自己的网络里——而不是费用上的改变。

03本地 MCP server 和自托管搜索后端有什么区别?

本地 MCP server 只是说进程跑在你的机器上,几乎每个 MCP server 都是如此,这一点完全没有说明查询会去哪里。自托管搜索后端指的是搜索本身由你运行的基础设施来回答——比如你自己的 SearXNG 实例——因此查询词从不会被发送给第三方搜索厂商。只有后者才真正保护了查询隐私。

04基于 LLM 的 tools 也能在本地运行吗?

可以。extract_with_llm、summarize_content 和 analyze_content 默认使用本地 Ollama 模型,因此内容提取和摘要都可以在你自己的硬件上完成。再配合自托管的 SearXNG 后端,搜索查询和抓取到的页面内容就都留在了你自己的基础设施内。

继续阅读

相关文章

AI 工程

9 分钟

用本地 LLM 提取网页数据(Ollama + CrawlForge)

无需 API key,无需云端,数据不离开你的机器。用 extract_with_llm 配合本地 Ollama 从任何网站提取结构化数据。本教程涵盖本地模型选择、schema 定义、性能对比与完整代码示例。