进入内容
RUEN中文

发展{分钟}分钟阅读作者: SystemsLab命令

代码搜索如何工作以及如何连接MCP服务器?

我们分析代码中内置的WebSearch和WebFetch工具:它们返回的内容,它们的成本,它们在哪里不起作用,以及为什么它们无法取代搜索引擎。 我们将向您展示如何使用一个命令连接MCP搜索服务器,而不是使用范围,密钥和权限踩耙。

Рабочее место разработчика: на мониторе терминал с результатами поиска, рядом на столе нарисованная схема подключений

简言之

  • 代码中内置的WebSearch只返回页面标题和地址,无法替换搜索引擎。 另一个搜索仅通过MCP服务器连接,它在内置服务器旁边工作。
  • 从版本2.1.212开始,每个会话有200个WebSearch调用的限制,包括子代理。 你不能禁用它,你只能提高环境变量。
  • 通过Claude API,每1,000个请求加上令牌的搜索费用为$10。 WebSearch在Amazon Bedrock上不起作用,而且很可能是通过第三方网关在 [医]人类基础,然后MCP仍然是搜索的唯一方法。
  • WebFetch没有给克劳德一个页面,而是一个小模型对它的复述。 在每次上传之前,它会通过以下方式检查域 api.anthropic.com ,因此,过滤代理可能不起作用。
  • 该MCP服务器与一个单 克劳德*麦克普补充 命令。 作用域确定设置的存储位置以及对谁可见;最好将键保留在环境变量中。

这是"免费互联网搜索代码"系列中的五篇文章中的第一篇。 在该系列中:内置的WebSearch和WebFetch和MCP连接(本文);具有API和免费关税的服务;没有密钥的搜索和服务器上:SearXNG,DuckDuckGo,多幻灯片服务器;浏览器,刮刀,解决方法和服务停止工作;从俄罗斯搜索,安全,质量,令牌消费和"选择什么"的小抄。 所有数据均于2026年9月17日核实。

克劳德代码是一个用于开发的人工控制台AI代理:它读取和编辑代码,运行命令,并可以在互联网上搜索信息。 MCP(模型上下文协议)是一种开放的协议,代理通过它连接外部工具。 MCP服务器是一个程序或远程服务,使用此协议为代理提供一组工具:搜索、页面加载和数据库访问。 在SystemsLab,我们连接这样的服务器,当我们 实施AI代理 在公司,下面我们已经收集了什么是重要的是要知道之前选择一个搜索引擎。

是否有可能取代内置WebSearch中的搜索引擎?

否:未配置WebSearch搜索后端,其他搜索仅通过MCP服务器连接。 克劳德代码文档明确地说了这一点: "搜索后端不可配置。 要使用其他提供程序进行搜索,请添加公开搜索工具的MCP服务器" (工具参考).

代码中的WebSearch是服务器端搜索工具Anthropic的瘦客户端。 服务器端工具意味着搜索本身是在人工端执行的,而不是在您的机器上执行的。 WebSearch只返回结果的标题和Url,它不会加载页面本身。 要读取找到的页面,Claude单独调用WebFetch。

在一次调用中,该工具可以组成多达八个后端搜索查询,并在进行时对其进行细化。 该 允许的_域名 (仅在这些域上搜索)和 被封锁的域名 (排除这些域)参数缩小输出,但不能在一次调用中组合它们。 后端使用的搜索索引的名称未被Anthropic正式披露。

在一个会话中可以进行多少次搜索?

自版本2.1.212以来,每个会话的WebSearch调用不超过200个,并且限制包括来自所有子代理的调用。 子代理是主代理分配部分工作的子代理;他的搜索消耗一个公共计数器(工具参考).

当达到限制时,您不会看到这一点:下一个调用在对话框中看起来就像一个没有给出任何东西的搜索,克劳德收到一个官方指令来处理已经收集的数据。 计数器由复位 /清除 命令,但如果一个可以运行子代理的进程在它之后继续运行,则保存计数。 环境 变量 CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION提高了限制,但根本无法关闭(Env瓦尔斯).

在实践中,这意味着一个长时间的研究会议与几个子代理可以击中天花板不明显:代理将简单地停止接收嵌入的搜索结果。 带有搜索的MCP服务器对此标记没有影响。

WebSearch参数2026年9月的价值
会话限制200个调用,自版本2.1.212起,包括子代理
每次调用后端请求最多8个
如何提高限额CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION
如何重置计数器/清除
禁用限制不能

内置搜索的成本是多少?

通过Claude API,内置的搜索成本 每1,000个查询加令牌10美元,而对于Pro和Max订阅,使用量包含在资费中。 失败的请求将不予支付(定价; 费用).

Anthropic的任何单个页面都没有指示搜索Pro和Max订阅者的单独附加费,但文档中也没有直接的短语"搜索是免费的"(未经原始来源确认)。 ""文章的作者在哈布雷重新计算嵌入的搜索率为"$0.01每个查询"("SearXNG+克劳德代码:免费网络搜索,而不是$10每1000查询"). 这与API的资费相同—每1,000个请求$10-但它并不直接适用于订阅。

你是怎么和克劳德一起工作的?网络搜索的成本
克劳德API(按使用情况付款)$10每1000个请求+令牌;有错误的请求将不予支付
Pro或Max订阅包括在关税中;没有明确的"免费"条款

WebSearch在哪里工作,在哪里不工作?

这取决于模型连接的提供商:搜索适用于Api,但不适用于Amazon Bedrock(工具参考; 基岩,基岩). 这里的提供商是代码访问模型的平台:Anthropic本身,AWS云,Google,Microsoft或第三方网关。

模型的提供者网络搜索
CLAUDE API,Aws上的Claude平台工程项目
谷歌云代理平台(顶点)为克劳德4及以后工作
亚马逊基岩不起作用
Microsoft Foundry,来自Anthropic的部署工程项目
在Azure中托管的Microsoft Foundry文档不同,考虑非工作更可靠
第三方网关 [医]人类基础 (OpenRouter,DeepSeek,GLM,Kimi,本地模型)最有可能的是,它不起作用:从设备中取出工具

根据Foundry in Azure的说法,这些来源相互矛盾。 整个代码页说WebSearch调用在那里失败,API页面说这样的部署支持基本版本的 网上搜寻工具. 在解决矛盾之前,我们不会依赖此配置中的内置搜索。

[医]人类基础 是一个环境变量,它将所有代码请求路由到另一个地址而不是Anthropic API。 这就是来自其他开发人员的第三方网关和模型的连接方式。 对于这样的配置, MCP搜索成为搜索的唯一方法. 文档中没有直接确认。:这是结论,WebSearch是一个人工服务器工具,别人的网关不会执行它。

在旧版本的文档中,有人提到搜索仅在美国可用("仅限美国")。 在当前的公共页面上找不到它(未经原始来源确认)。

Схема на маркерной доске: ИИ-агент в центре, от него линии к нескольким MCP-серверам, от серверов — к поисковым сервисам
克劳德代码有一个内置的搜索,是不可配置的,你可以连接尽可能多的MCP服务器,只要你想:他们每个人都导致自己的搜索服务。

WebFetch实际上返回了什么?

WebFetch返回的不是页面本身,而是与您的提示一起读取页面的"小型快速模型"的响应。 该文档称该工具为"设计有损",即设计有损,并建议通过 卷曲,卷曲 (工具参考)的原始内容。

与WebSearch不同,WebFetch在您的机器上运行。 他下载页面,将HTML转换为Markdown,并将结果传输到一个小模型。 克劳德从这个模型中得到响应,而不是页面文本。 这对于大多数任务来说已经足够了,但是如果您需要确切的报价,整个表格或文档中的代码片段,复述可能会错过一些东西。

WebFetch参数默认情况下如何改变
缓存15分钟CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS
下载超时5分钟CLAUDE_CODE_WEBFETCH_DEADLINE_MS
重定向到另一台主机未执行,报克劳德不可配置
用户代理它从 克劳德-用户不可配置

用户代理是程序用来向站点显示自己的字符串。 通过使用 克劳德-用户 因此,站点可以识别来自代理的请求,例如对其进行限制。

为什么WebFetch不能在公司代理后面工作?

因为在上传之前,WebFetch将主机名发送到 api.anthropic.com 要对照安全检查表进行检查,如果该地址已关闭,则不执行下载。 只有主机名消失,没有完整的URL和页面内容;验证的主机由代码缓存五分钟。 验证在模型的任何提供者进行,包括通过第三方网关(数据使用; LLM网关).

您应该有意识地禁用验证。 它根据Anthropic维护的安全检查表检查域;没有它,WebFetch会下载任何地址,因此文档建议在这种情况下将域限制为WebFetch规则. 在传出流量通过代理的公司中,我们通常与 资讯保安服务 此主机的单独规则,而不是在所有计算机上禁用验证。

如何允许或禁止搜索和页面加载?

网站搜索只允许或禁止全部由 网络搜索 规则,而对于WebFetch,规则是按域编写的。 规则示例: WebFetch(域:*。example.com ) 自2.1.172版本以来,域掩码一直在工作。 代码将保存的批准写入 .克劳德/设置。本地的。json格式 (权限).

代码中的权限是允许和拒绝规则,代理根据该规则决定是否可以调用该工具。 他们有两个细节很重要。

  1. 禁止WebFetch不会阻止代理通过以下方式访问相同的URL 卷曲,卷曲 在Bash,如果Bash是允许的。 禁止一个工具不会完全阻止对网络的访问。
  2. MCP工具的规则使用如下名称 mcp__<服务器>__<工具>,在哪里 服务器 是MCP服务器的名称和 工具 是其工具的名称(权限).

""启用第三方搜索时,很方便删除内置 "否认"规则:["网络搜索"]. 然后Claude将通过MCP工具进行搜索,并且不会在两个搜索引擎之间进行选择。 的一个例子 设置。json格式,其中从GitHub子域和searxng服务器的所有工具下载 允许,但禁止嵌入式搜索。:

{"权限":{
    "允许":["WebFetch(域:*。github.com)","mcp__searxng"],
    "否认":["网络搜索"]}

如何将MCP服务器连接到代码?

用一个 克劳德*麦克普补充 命令、传输、作用域、环境变量和服务器地址或启动命令传递给它。 一般语法是(MCP):

claude mcp添加[--transport stdio|http|sse][--scope local|project|user][--env K=V][--header"。.."]<名称><url|--命令参数>

运是代码与服务器通信的方式。 [医]心肺 是本地服务器:代码将其本身作为进程运行,并通过标准输入和输出交换数据。 http 是位于Internet地址的远程服务器;这是推荐的传输。 SSE已被弃用,并且最好不要为新连接选择它。

双连字符 -- 将两个代码选项与服务器启动命令分开:它传递到服务器后的所有内容都保持不变。

远程和本地服务器、验证和管理的典型命令:

#远程服务器
克劳德mcp添加--传输http<名称>https://example.com/mcp --header"Authorization:Bearer<key>"
#本地stdio服务器
claude mcp key add--scope user--transport stdio--env API_KEY=xxx<name>--npx-y<package>
#检查及管理
克劳德mcp列表#状态✔/✘
克劳德mcp得到<名称>
克劳德mcp删除<名称>
#会话内部:/mcp状态和OAuth登录

/mcp 会话内部的命令显示连接了哪些服务器,并允许您通过oauth登录,oauth是一种标准授权协议,您可以在其中确认浏览器中的访问,而不是在命令中输入密钥。

我应该为MCP服务器选择哪个范围?

范围 本地 适合在一个项目中进行个人实验, 工程项目 -对于团队的一般设置, 用户 -对于您在所有项目中需要的服务器。 Scope是设置的作用域:它确定服务器存储在哪个文件中以及谁看到它(MCP; MCP快速入门).

范围它存放在哪里它在哪里运作
本地 (默认情况下)~/.克劳德json格式 (在Windows上 C:\Users \<名称>\。克劳德json格式)仅在当前项目中,私下
工程项目.mcp。json格式 在项目根目录中与存储库一起工作的每个人;下载时,代码要求确认
用户~/.克劳德json格式,mcpServers 钥匙在你所有的项目中

如果具有相同名称的服务器设置在多个位置, 本地 胜利,其次是 工程项目, 用户、插件和连接器。 claude.ai ... 要更改范围,您需要删除服务器并重新添加它:区域之间没有传输。

.mcp。json格式,替换 ${VAR}${VAR:-默认} 工作,在哪里 违约情况 是在未指定变量的情况下的值。 因此,该 key可以保存在环境变量中,而不是保存在git中的文件中. 这是具有付费搜索API的团队设置的强制性实践。: .mcp。json格式 存储在存储库中,对所有有权访问它的人都是可见的。

还有哪些其他设置会影响MCP搜索?

三:MCP工具的响应大小限制,工具搜索模式以及windows上的启动功能。 他们每个人都可以在不知不觉中打破搜索。

  • MCP工具的撤回仅限于25,000令牌,并且当提取超过10,000个令牌时,会出现警告。 MAX_MCP_OUTPUT_TOKENS变量 加薪 限制;超出限制的所有内容都保存到文件中(MCP). 对于返回页面全文的搜索服务器,可以快速实现此限制。
  • 工具搜索 是一种模式,其中代码延迟加载MCP工具的描述并根据需要加载它们,从而节省上下文。 默认情况下它是启用的,但它是 自动禁用,如果 [医]人类基础 指向第三方主机. 您可以将其返回到ENABLE_TOOL_SEARCH(MCP)变量. 如果没有搜索工具,所有连接服务器的描述会立即占用上下文中的空间。
  • 窗户。 在当前文档页面上,没有要求包装 n.npxcmd/c,版本2.1.119删除了有关此的错误警告(更新日志). 尽管如此,如果stdio服务器崩溃并出现错误"连接关闭",则 --cmd/c npx-y<包> 选项仍然经常有帮助(未得到当前文档的确认)。

在哪里可以找到MCP服务器?

在人类目录(claude.ai/directory )及在官方登记册内registry.modelcontextprotocol.io ... 代码本身指的是人类目录:已验证的连接器在那里组装,任何远程服务器都是通过 克劳德*麦克普补充 (MCP).

供应商中立的官方注册处registry.modelcontextprotocol.io ,即不依赖于单一型号供应商,于2025年9月8日以预览模式推出(MCP博客, "介绍管理局注册处"). 无法确定他是否在9月2026之前离开了预览。

在从任何目录连接服务器之前,值得查看其作者是谁以及它要求的权限。 搜索服务器将来自其他站点的文本带入代理的上下文,并且此文本可能包含模型的说明。 有关此类攻击的详细信息—提示注入和工具中毒-将在该系列的最后一篇文章中讨论。

为什么我需要一个Fetch引用服务器?

当代理需要页面的原始文本而不重述时,Fetch作为WebFetch的替代品很有用。 这是modelcontextprotocol中的七个参考服务器之一/服务器 repository;开发人员强调,参考服务器是培训实现,而不是生产解决方案(服务器). 来自同一存储库的Brave Search和Puppeteer服务器已移至存档。

获取工作没有钥匙。 它不搜索任何东西,但只给页面以块标记: 最大长度 参数设置块大小(默认为5000个字符), start_index -从哪个角色开始。 默认情况下,服务器尊重机器人。txt-一个文件,其中网站指示机器人可以上传,如果请求是由模型发起的(获取自述).

自述文件警告服务器 可以访问本地和内部IP地址. 如果代理在公司网络上工作,理论上Fetch可以读取内部服务,因此这样的服务器应该在隔离的环境中运行,例如,在网络访问受限的公司服务器上的单独容器

获取(参考)意义
查阅资料没有钥匙
做什么?加载页面并以块为单位给出标记,而不是搜索
参数最大长度, start_index
机器人。txt的坚持默认
风险它可以访问本地和内部IP地址(根据项目的自述文件)

单命令连接(您需要安装 紫外线,从中取uvx):

claude mcp add fetch--uvx mcp-server-fetch

Fetch关闭读取页面的任务,但不进行搜索。 在本系列的下一篇文章中,我们将看看哪些搜索服务提供了一个免费的API,它们每月更新什么,以及一次性发布什么。 如果您想将搜索连接到您公司的代理,考虑到权利和网络限制,我们这样做是 发展 和AI代理的实现。

我们该怎么做?

  1. 审计任务和限制

    我们找出为什么代理需要搜索,通过哪个提供商连接模型(Api,云,网关),是否可以从俄罗斯获得必要的服务,以及代理不应该在外面获取哪些数据。

    确定搜索选择的任务、限制和风险列表

  2. 搜索和工具的选择

    我们正在决定内置的WebSearch是否足够,我们是否需要云搜索API或我们自己的Searchng。 我们选择MCP服务器搜索和阅读页面,检查他们的作者和活动.

    一组一致的MCP服务器和一个连接图

  3. 在客户的轮廓中部署

    我们在公司的服务器上提升Docker中的服务器,我们将密钥存储在环境变量中,而不是存储在。mcp。json。 我们设置了代理和网络访问,包括WebFetch验证。

    搜索适用于所有开发人员,密钥不会在git中结束。

  4. 及时注射的权利和保护

    我们为WebFetch,Bash和MCP工具设置了允许和拒绝规则,限制服务器对内部网络的访问,并向团队解释为什么来自其他人网站的文本是危险的。

    代理只在允许的地方搜索,看不到内部服务。

  5. 支援服务

    我们监控配额和关税变化,更新服务器,并更换正在关闭或不再在俄罗斯运营的服务。

    代理的搜索在下一次更新后不会中断。

讨论任务

我们将把人工智能代理连接到您的数据和搜索

告诉我们模型通过哪个提供者工作以及代理需要什么工具。 让我们选择一个搜索引擎并配置具有安全权限的MCP服务器。

申请后会发生什么

  1. 我们将在一个工作日内回复。
  2. 让我们澄清任务和限制
  3. 我们将提出一个解决方案和飞行员的时间表。

在信使中更方便吗?

+79262103289员工每天从莫斯科时间9:00到23:00回复

我们将在您更方便的地方作出回应。

图表、照片或技术规格-最多10MB

我们仅使用联系人来响应请求。

常见问题

是否有可能在内置的WebSearch代码中更改搜索引擎?

非也。. 克劳德代码文档明确指出,WebSearch搜索后端不可配置。 要搜索其他服务,您需要将MCP服务器与 克劳德*麦克普补充 搜索工具;它将在内置工具旁边工作。

代码可以在一个会话中进行多少个搜索查询?

从版本2.1.212开始,每个会话最多200个WebSearch调用,包括子代理调用;该工具每次调用最多向后端发出八个请求。 用户不会知道是否达到了限制:呼叫根本找不到任何东西。 计数器复位 /清除. 您可以使用变量提高限制 CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION,但你不能禁用它。

在克劳德代码中进行网络搜索需要多少钱?

通过Claude API,内置搜索每1,000个请求加令牌花费$10,并且不收取错误请求。 对于Pro和Max订阅,使用包含在关税中;搜索没有单独的附加费,但文档中没有直接的"免费"条款(截至2026年9月)。

WebSearch是否通过Amazon Bedrock或OpenRouter在代码中工作?

基岩WebSearch在亚马逊上不起作用。 它可能无法通过第三方网关工作 [医]人类基础 (OpenRouter,DeepSeek,GLM,Kimi,本地模型)要么,因为它是一个人工服务器工具;文档中没有直接确认。 在此类配置中,您只能通过MCP服务器进行搜索。

为什么代码中的WebFetch不能在企业代理后面工作?

在每次下载之前,WebFetch将主机名发送到 api.anthropic.com 要检查对Anthropic的安全检查表,对于模型的任何提供者。 如果该地址被阻止,则不执行下载。 网络或skipWebFetchPreflight上的主机的权限:真的 设置中的参数有帮助;如果禁用验证,则应将域限制为WebFetch规则.

我怎么能不存储搜索服务的API密钥。mcp。json?

替代物 ${VAR}${VAR:-默认} 工作在 .mcp。json格式. 键放在环境变量中,文件中只指定了指向它的链接。 这样,文件就可以存储在git中,密钥不会最终存储在存储库中。

Fetch MCP服务器与嵌入式WebFetch有何不同?

WebFetch给Claude一个小模型制作的页面的复述,Fetch引用服务器将页面本身以块的形式返回给Markdown(最大长度 和start_index 参数). Fetch在没有钥匙的情况下工作,并符合机器人。txt但是自述软件可以访问本地和内部IP地址,因此应该在隔离的环境中运行。

资料来源

  1. 工具参考:WebSearch行为工具 —code.claude.com ,于2026年9月17日核实。
  2. 工具参考:会话搜索限制 —code.claude.com ,于2026年9月17日核实。
  3. 环境变量 —code.claude.com ,于2026年9月17日核实。
  4. 定价 —platform.claude.com ,于2026年9月17日核实。
  5. 费用 —code.claude.com ,于2026年9月17日核实。
  6. SearXNG+Claude代码:免费网络搜索,而不是每1,000个查询$10 —habr.com ,于2026年9月17日核实。
  7. 亚马逊基岩上的克劳德代码 —code.claude.com ,于2026年9月17日核实。
  8. 网上搜寻工具 —platform.claude.com ,于2026年9月17日核实。
  9. 工具参考:WebFetch行为工具 —code.claude.com ,于2026年9月17日核实。
  10. 数据使用:WebFetch域安全检查 —code.claude.com ,于2026年9月17日核实。
  11. LLM网关协议 —code.claude.com ,于2026年9月17日核实。
  12. 权限:WebFetch —code.claude.com ,于2026年9月17日核实。
  13. 权限 —code.claude.com ,于2026年9月17日核实。
  14. 通过MCP将代码连接到工具 —code.claude.com ,于2026年9月17日核实。
  15. MCP快速入门 —code.claude.com ,于2026年9月17日核实。
  16. MCP:配置搜索工具 —code.claude.com ,于2026年9月17日核实。
  17. 克劳德代码更新日志 —github.com ,于2026年9月17日核实。
  18. 介绍MCP注册处 —blog.modelcontextprotocol.io ,于2026年9月17日核实。
  19. modelcontextprotocol/服务器 —github.com ,于2026年9月17日核实。
  20. 获取MCP服务器,自述 —github.com ,于2026年9月17日核实。

在第一条消息中命名代码。

这样我们就能更快地找到你的问题,并了解你是从哪里来的。