面向 AI Agent / MCP / 个人开发者,全文基于官方文档与实测整理(2026-08)。 目标:零成本为 AI 助手接入实时联网搜索、内容提取、爬虫与深度研究能力。


目录


一、为什么需要搜索 MCP?

LLM 有知识截止时间,无法访问实时信息。Tavily 与 AnySearch 都是专为 AI Agent 设计的搜索基础设施

Agent 联网搜索为什么费 Token? 普通人搜索会自己扫标题/摘要过滤噪音,但 Agent 搜索往往要打开网页读取正文——导航栏、广告、评论区、过期内容全部进上下文。搜索轮次一多,额度消耗非常夸张。传统方案的三大痛点 [12]:

  1. 网页正文太长:真正有用的可能就几句话,Agent 却读进几千上万字
  2. 无关信息太多:广告、侧边栏、推荐、FAQ 都占 Token
  3. 搜索轮次太多:一次搜不到就反复换关键词、反复开网页

Tavily / AnySearch 把"搜索 → 筛选 → 去重 → 整理"前置到搜索层,直接返回结构化、LLM 友好的结果:

特性传统搜索 APITavily / AnySearch
结果形态原始链接列表结构化、去噪、带摘要的结果
内容提取需自己抓取解析一步返回正文 Markdown
Agent 集成手写 HTTP 封装原生 MCP / Skill / SDK 即插即用
Token 消耗高(含大量噪音)低(官方宣传可接近减半)

两者都提供 MCP(Model Context Protocol) 接入方式,可让 Claude Code、OpenCode、Cursor、Claude Desktop 等客户端直接调用搜索工具 [8]。


二、快速上手(TL;DR)

只花 3 分钟,让 AI 助手具备联网搜索能力:

  1. 选一个工具:日常高频 + 中文 → AnySearch;深度研究 + 爬虫 → Tavily(也可两个都装,见选型对比
  2. 拿免费 Key
  3. 复制配置到 opencode.jsonc → 重启 OpenCode → 在会话里直接问"搜索一下 xxx"即可。

最快的路径:AnySearch 匿名 + Tavily Keyless,全程零注册零成本


三、Tavily 免费方案

3.1 免费额度一览(官方)[1]

方案额度是否需要信用卡说明
Keyless(免Key)共享限流无需注册,仅支持 search + extract
Free 计划1,000 Credits/月注册即得,全功能
Researcher4,000 Credits/月$30/月
Startup更高额度$100/月

Credit 消耗规则:

  • Search:basic 深度 = 1 credit,advanced = 2 credits
  • Extract:每 5 次成功提取 = 1 credit(basic)/ 2 credits(advanced)
  • Map:每返回 10 个页面 = 1 credit
  • 失败请求不扣费

3.2 获取 API Key(推荐)

  1. 打开 tavily.com 注册账号(免费计划即可)
  2. 进入 Dashboard 获取 API Key,格式:tvly-dev-xxxxxx
  3. 验证 Key 有效(PowerShell 注意用 curl.exe):
1
curl.exe -X POST "https://api.tavily.com/search" -H "Content-Type: application/json" -d '{"api_key":"tvly-xxx","query":"test","max_results":1}'

返回 JSON 即有效。

3.3 Keyless 免注册(零门槛)[1][3]

无需账号、无需 Key,只需加一个请求头 X-Tavily-Access-Mode: keyless

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 搜索
curl -X POST https://api.tavily.com/search \
  -H "Content-Type: application/json" \
  -H "X-Tavily-Access-Mode: keyless" \
  -d '{"query": "latest AI news", "max_results": 3}'

# 提取
curl -X POST https://api.tavily.com/extract \
  -H "Content-Type: application/json" \
  -H "X-Tavily-Access-Mode: keyless" \
  -d '{"urls": ["https://www.tavily.com"]}'

响应格式与带 Key 完全一致,只是限流更低。适合先体验、后升级,切 Key 时无需改代码 [3]。

3.4 接入 OpenCode(远程 MCP)[8]

在全局配置 opencode.jsoncmcp 节点加入:

1
2
3
4
5
6
7
8
9
{
  "mcp": {
    "tavily": {
      "type": "remote",
      "url": "https://mcp.tavily.com/mcp/?tavilyApiKey=tvly-dev-xxxxxxxx",
      "enabled": true
    }
  }
}

Keyless 版(无需 Key):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
{
  "mcp": {
    "tavily": {
      "type": "remote",
      "url": "https://mcp.tavily.com/mcp/",
      "headers": { "X-Tavily-Access-Mode": "keyless" },
      "enabled": true
    }
  }
}

重启后出现 5 个工具 [2]:

工具功能
tavily_search实时网页搜索(支持深度/时间/域名过滤)
tavily_extract提取 URL 全文为 Markdown(一次最多 20 个 URL)
tavily_crawl站点爬取(可控深度/广度/路径)
tavily_map站点 URL 地图
tavily_researchAI 深度研究(多源综合 + 引用)

3.5 接入 Claude Code / Cursor [2][9]

1
2
3
4
# Claude Code(URL 带 Key)
claude mcp add --transport http tavily "https://mcp.tavily.com/mcp/?tavilyApiKey=tvly-xxx"
# Keyless
claude mcp add --transport http tavily "https://mcp.tavily.com/mcp/" --header "X-Tavily-Access-Mode: keyless"

Cursor:点击官方 Add to Cursor 按钮自动写入 mcp.json,再填入 Key 即可。

3.6 Tavily CLI(可选,Windows 注意)[3]

官方安装脚本是 bash,Windows 需用 pip:

1
2
3
4
python -m pip install -U tavily-cli
# 登录(CLI 路径一般在 Python Scripts 目录)
& "C:\Users\xxx\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.12_xxx\LocalCache\local-packages\Python312\Scripts\tvly.exe" login --api-key "tvly-xxx"
& "...\tvly.exe" search "测试搜索" --max-results 3

3.7 Python SDK 极简用法 [3]

1
2
3
4
5
6
7
8
from tavily import TavilyClient

# Keyless:不传 key,仅支持 search + extract
client = TavilyClient()
print(client.search("Who is Leo Messi?"))

# 带 Key:全功能(含 crawl / map / research)
client = TavilyClient(api_key="tvly-YOUR_API_KEY")

Keyless 限流异常处理:

1
2
3
4
5
6
7
8
from tavily import TavilyClient, TavilyKeylessLimitError

client = TavilyClient()  # keyless 模式
try:
    resp = client.search("Who is Leo Messi?")
    print(resp)
except TavilyKeylessLimitError as e:
    print("retry after:", e.retry_after_seconds, "seconds")

3.8 常见问题排查(Tavily)

现象原因解决
提示需要 API Keykeyless 头丢失X-Tavily-Access-Mode: keyless
返回 TavilyKeylessLimitError达到共享限流retry_after_seconds 再试,或升级为 Free Key
工具没加载配置 JSON 非法或未重启检查 enabled: true,重启 OpenCode
提示 per-minute rate limit免费额度限流稍等重试;高频场景升级付费

四、AnySearch 免费方案

4.1 免费额度一览(官方)[4]

方案额度说明
匿名访问(免Key)低限流无需注册,功能全
Free 免费版1,000 次请求/天,20 QPS无需信用卡
学生与开发者计划2,000 次搜索/天面向学生/开发者/开源贡献者,需认证
Search Pro更高额度即将推出
Enterprise定制联系销售

AnySearch 免费额度按计(Tavily 按月),个人开发/原型测试非常够用。

4.2 获取 API Key(两种方式)[5][6]

方式 A:控制台注册 访问 anysearch.com/console/api-keys 注册获取,Key 格式:as_sk_xxxxxx

方式 B:一键 API 注册(推荐,AI 可自动完成) 只需一个真实邮箱,系统自动生成随机密码并发至邮箱,无验证码

1
2
3
curl -s -X POST "https://api.anysearch.com/v1/auth/email/register" \
  -H "Content-Type: application/json" \
  -d '{"email": "you@example.com"}'

成功返回(code: 0)即包含一次性明文 API Key:

1
2
3
4
5
6
7
8
{
  "code": 0,
  "data": {
    "email": "you@example.com",
    "login_url": "https://www.anysearch.com/login",
    "api_key": { "key": "as_sk_xxxxxx", "rate_limit": 100 }
  }
}

注意:密码发送到该邮箱,需查收垃圾箱并标记"非垃圾邮件"。

4.3 核心能力 [10][11]

  • 通用搜索:开放式自然语言查询
  • 垂直搜索:23 个领域(finance / academic / code / legal / health / security 等)
  • 并行批搜:一次调用并行执行 2~5 个独立查询
  • URL 提取:整页内容转 Markdown(上限 50,000 字符)
  • 中文优化:支持 zone: cnlanguage: zh-CN

4.4 接入 OpenCode(远程 MCP 直连)[8][10]

AnySearch 官方 MCP 是 streamable HTTP 协议(https://api.anysearch.com/mcp,MCP spec 2025-03-26),OpenCode 支持远程 MCP,可直接连接,无需自建任何服务。

① 设置用户级环境变量(密钥不落盘):

1
2
[System.Environment]::SetEnvironmentVariable('Anysearch_Token', '你的token', 'User')
# 设置后需重开终端/重启 OpenCode

② 写入 opencode.jsonc

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
{
  "mcp": {
    "anysearch": {
      "type": "remote",
      "url": "https://api.anysearch.com/mcp",
      "headers": { "Authorization": "Bearer {env:Anysearch_Token}" },
      "enabled": true
    }
  }
}

匿名访问(免 Key):没有 Key 时直接省略 headers 字段即可,服务器自动切到匿名模式,功能完整只是限流更低:

1
2
3
4
5
6
7
8
9
{
  "mcp": {
    "anysearch": {
      "type": "remote",
      "url": "https://api.anysearch.com/mcp",
      "enabled": true
    }
  }
}

③ 重启后出现 4 个工具 [5]:

工具功能
search通用/垂直领域网络搜索
batch_search2~5 条查询并行搜索(单条失败不阻塞整体)
extract提取 URL 全文转 Markdown(上限 50,000 字符)
get_sub_domains查询垂直领域子域目录

Key 优先级(从高到低):CLI flag / Authorization 头 > 环境变量 ANYSEARCH_API_KEY > .env 文件 > 匿名访问 [5]。

4.5 接入 Claude Desktop

Claude Desktop 2025.6+ 原生支持 streamable HTTP(claude_desktop_config.json)[5]:

1
2
3
4
5
6
7
8
9
{
  "mcpServers": {
    "anysearch": {
      "type": "streamable-http",
      "url": "https://api.anysearch.com/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}

无 Key 时省略 headers 即可匿名访问。

4.6 旧客户端:stdio 代理(VS Code Copilot / Cline / 旧版 Claude Desktop)[5]

仅支持 stdio 的客户端用 mcp-remote(自动检测协议,比 supergateway 更省事):

1
2
3
4
5
6
7
8
{
  "mcpServers": {
    "anysearch": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://api.anysearch.com/mcp", "--header", "Authorization: Bearer YOUR_API_KEY"]
    }
  }
}

4.7 典型用法 [5][10]

  • 通用搜索:直接 search,无需 domain
  • 垂直搜索:先 get_sub_domains(domains=[...]) 拿到合法 sub_domain 与参数,再带 domain/sub_domain/sub_domain_params 搜索
  • 交叉领域:一个主题跨多个领域时,用 batch_search 对同一问题按各领域视角并行提问
  • 查证细节:搜索摘要不够时,用 extract 抓取原文

注意:get_sub_domains(required) 参数若不适合当前查询,必须传空字符串 "",不要省略,否则校验报错。


五、实测效果:搜索结果长什么样

纸上谈兵不如看真实返回。下面两条是本文整理时实测的返回(2026-08)。

5.1 Tavily 实测返回(结构化 JSON)

query: "OpenAI latest model 2026" 为例,Tavily 返回清洗过的结构化 JSON,每条结果自带相关度评分 score

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
{
  "query": "OpenAI latest model 2026",
  "results": [
    {
      "title": "OpenAI Research | Release",
      "url": "https://openai.com/research/index/release",
      "content": "Jun 26, 2026 — Previewing GPT-5.6 Sol: a next-generation model with stronger capabilities in coding, science, and cybersecurity...",
      "score": 0.847
    },
    {
      "title": "Model Release Notes | OpenAI Help Center",
      "url": "https://help.openai.com/en/articles/9624314-model-release-notes",
      "content": "OpenAI o3 will be retired from ChatGPT on August 26, 2026 following a 90-day sunset period...",
      "score": 0.840
    }
  ],
  "response_time": 0.77,
  "request_id": "7aef122c-...",
  "auth_mode": "keyed"
}

亮点:content已去噪的正文摘要,Agent 可直接消费,无需自己抓网页清洗;score 帮模型判断结果可信度 [1][3]。

5.2 AnySearch 实测返回(结构化结果)

query: "Rust async programming best practices" 为例,AnySearch 返回已过滤、去重、结构化的搜索结果,命中微软官方 async-book 与 Rust 官方文档,直接给出正文要点:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
1. "12. Common Pitfalls - Async Rust: From Futures to Production"
   URL: https://microsoft.github.io/RustTraining/async-book/ch12-common-pitfalls.html
   content: 9 common async Rust bugs and how to fix each one...
   - Blocking the executor is the #1 mistake; 用 spawn_blocking 修复
   - Cancellation hazards: future 被 drop 时会发生什么
   - Debugging: tokio-console / tracing / #[instrument]

2. "Structured concurrency - Asynchronous Programming in Rust"
   URL: https://rust-lang.github.io/async-book/part-reference/structured.html
   content: 结构化并发(structured concurrency)的核心思想...

亮点:垂直路由自动命中官方高质量源(微软/Rust 官方),省去手动挑选,且正文已结构化,Token 消耗显著低于"自己抓取+清洗"流程 [10][11]。

5.3 接入前后对比

维度不接搜索 MCP接入后
实时性知识截止时间之后的信息全盲实时可查
一条查询的 Token 开销打开 3-5 个网页全文进上下文(可能数万 token)只读已清洗摘要(几百 token)
信息可信度网页质量参差,易被 SEO 噪音带偏多源交叉、带评分/官方源优先
人工成本手写 HTTP + 解析 HTML配置一次,Agent 自动调用

六、Tavily vs AnySearch 选型对比 [7][11]

维度TavilyAnySearch
免费额度1,000 credits/月1,000 次/天(学生计划 2,000/天)
免Key访问✅ Keyless(search+extract)✅ 匿名访问
垂直领域有限23 个垂直领域
并行批搜❌ 无batch_search
深度研究research
中文支持一般✅ 优(zone: cn)
隐私企业级零追踪、零遥测、零留存
计费按 Credit 消耗按请求次数
适合场景深度研究/爬虫/生产级高频日常搜索/中文/垂直领域

选型建议:

  • 需要深度研究、站点爬取、生产级稳定 → Tavily
  • 需要中文搜索、垂直领域(代码/法律/金融)、并行批搜、隐私敏感 → AnySearch
  • 两者可同时接入:Tavily 负责深研究,AnySearch 负责高频日常检索,互补使用 [7]

6.1 决策速查表(一句话场景 → 直接抄作业)

你的场景选谁用哪个工具
日常查资料/新闻,追求快AnySearchsearch
要中文内容(知乎/公众号/国内源)AnySearchsearch + zone: cn
查代码/开源项目用法AnySearchsearch(code 领域)或 get_sub_domains
查法律判例/金融行情/学术论文AnySearchget_sub_domains + 垂直 search
一个主题想多角度并行查AnySearchbatch_search
已有一批 URL 要提取正文Tavily / AnySearchextract
要整站爬取文档Tavilycrawl / map
要 AI 综合多源深度研究报告Tavilyresearch
完全不想注册/拿 Key两者都行Tavily Keyless / AnySearch 匿名
只想要带评分、可过滤的高质量结果Tavilysearch(score 字段)

七、省钱 / 配额优化技巧 [1][4]

  1. 搜索深度用 basic:日常查询 1 credit,advanced 贵一倍
  2. max_results 设小:默认 5 足够,除非真要调研
  3. 合理用 Keyless / 匿名层:测试阶段先免 Key,确认需求再注册
  4. AnySearch 用好批搜:2~5 条查询一次调用,等效多请求省配额
  5. AnySearch 申请学生/开发者计划:额度翻倍到 2,000 次/天
  6. 关注落地场景:免费额度用于开发/测试即可,生产/高频再升级付费
  7. 安全:API Key 放环境变量(如 {env:xxx}),切勿写进会进版本库的配置文件

八、快速验证清单

1
2
3
4
5
6
7
8
# Tavily - 带 Key 搜索
curl.exe -X POST "https://api.tavily.com/search" -H "Content-Type: application/json" -d '{"api_key":"tvly-xxx","query":"AI","max_results":1}'

# Tavily - Keyless 搜索
curl.exe -X POST "https://api.tavily.com/search" -H "Content-Type: application/json" -H "X-Tavily-Access-Mode: keyless" -d '{"query":"AI","max_results":1}'

# AnySearch - 一键注册拿 Key
curl.exe -s -X POST "https://api.anysearch.com/v1/auth/email/register" -H "Content-Type: application/json" -d '{"email":"you@example.com"}'

接入 OpenCode 后,在会话里直接问"搜索一下 xxx"即可触发对应搜索工具,无需手动调 API。


九、常见问题排查

共同问题:工具没加载 → 先检查配置文件 JSON 是否合法、enabled: true,再重启 OpenCode 使配置生效 [8]。

Tavily

现象原因解决
提示需要 API Keykeyless 头丢失X-Tavily-Access-Mode: keyless
返回 TavilyKeylessLimitError达到共享限流retry_after_seconds 再试,或升级为 Free Key
提示 per-minute rate limit免费额度限流稍等重试;高频场景升级付费

AnySearch

现象原因解决
搜索返回 code: -1 提示 Invalid email address注册邮箱格式不对换真实邮箱重试
提示 email_already_registered邮箱已注册login_url 登录,不要重试
提示 Rate limited, retry after X seconds触发限流等待 X 秒再试
匿名限流太紧无 Key 共享限流注册拿 Key,额度提到 1,000 次/天

参考引用文章

官方文档与仓库

  1. Tavily 官方文档 — Keyless、MCP、Pricing、API Reference
    https://docs.tavily.com/documentation/keyless · https://docs.tavily.com/documentation/mcp · https://docs.tavily.com/documentation/api-credits

  2. Tavily MCP Server(GitHub)— search / extract / map / crawl / research 工具定义与远程 MCP 接入
    https://github.com/tavily-ai/tavily-mcp

  3. Tavily Python SDK(GitHub)— Keyless 模式与 TavilyKeylessLimitError 处理
    https://github.com/tavily-ai/tavily-python

  4. AnySearch 官网 — Pricing(免费 1,000 次/天、学生计划 2,000 次/天)、Docs
    https://anysearch.com/pricing · https://www.anysearch.com/docs

  5. AnySearch MCP Server(GitHub)— Streamable HTTP 原生支持、Key 优先级、匿名访问、工具说明
    https://github.com/anysearch-ai/anysearch-mcp-server

  6. AnySearch Skill(GitHub)— Skill 方式安装与一键注册 API Key 流程
    https://github.com/anysearch-ai/anysearch-skill

参考教程

  1. Tavily MCP Server: Complete Setup Guide for AI Agents — MCP vs REST API 选型、完整配置步骤
    https://www.mcpforge.tech/blog/tavily-mcp-server-complete-setup-guide

  2. MCP Servers | OpenCode 官方文档 — 本地与远程 MCP 的接入规范
    https://opencode.ai/docs/mcp-servers/

  3. How to integrate Tavily MCP with OpenCode(Composio)— OpenCode 中接入 Tavily 的实操
    https://composio.dev/toolkits/tavily/framework/opencode

  4. AnySearch MCP Server for AI Agents: Real-Time Web Search — 四工具能力、匿名访问、多客户端配置模板
    https://runany.dev/blog/anysearch-mcp-server-unified-search/

  5. AnySearch:把"搜索"做成给 Agent 用的基础设施(Toolin AI)— 产品定位、三种接入方式、Token 节省逻辑
    https://toolin.ai/blog/anysearch-agent-search-infrastructure

  6. Codex Skill 保姆级教程:AnySearch — Agent 联网搜索省 Token 的原理与 Skill 用法
    https://jishuzhan.net/article/2062522578308247553