Toolin.ai

Doubao Search MCP: Wire Domestic Web Search into Claude Code with One Command

Published · toolin小编

ByteDance's Doubao Search is Volcano Engine's externally available, RMB-billed agent web-search API. This tutorial plugs it into Claude Code with one command via an open-source MCP, fixing the hallucinations that follow a switch to domestic models.

Doubao Search MCP: Wire Domestic Web Search into Claude Code with One Command

Swapping Claude Code's model endpoint for a domestic Chinese model (Doubao, Kimi, GLM, DeepSeek) is a money-saving move many people make. But you'll most likely hit the same pitfall: sub-agents suddenly lose web access and start fabricating with a completely straight face.

The cause is simple—Claude Code's built-in WebSearch tool is bound to Anthropic's model service. Once you switch away, the tool stops working with it. With no eyes, the agent can only hallucinate from the stale knowledge in its parameters.

This post fixes that. The protagonist is Doubao Search: ByteDance Volcano Engine's externally available, RMB-billed agent search API. Layer on one community-built open-source MCP, and you can restore web access to Claude Code within 1 minute.

A distinction first: this has nothing to do with SearchOS from this batch (the Renmin University + Ant open research framework). SearchOS is a research-oriented multi-agent framework; this post is about ByteDance's commercial search API + an open-source MCP that plugs it into Claude Code. Also don't confuse it with ByteDance's TRAE Work workbench.

One line: the search engine inside the Doubao app, extracted into an interface agents can call. It is offered on Volcano Engine as "search as a service," positioned as an RMB-billed alternative to Tavily, tuned specifically for agent calls—not a search engine built for human browsing.

  • Official console (to activate the service and get an API key): console.volcengine.com/search-infinity/web-search-exp
  • Official integration forms: API / MCP / Skill (confirmed in Volcano Engine's official announcement idx22)
  • Output format: agent-friendly Markdown + structured data; understands natural-language task intent and adjusts retrieval strategy automatically (targeted queries / broad semantic rewrites / multi-round retrieval); authority grading by site + creator, fusing the open web + industry knowledge + ByteDance-exclusive content

4 Differentiators Designed for Agents

An ordinary search API hands you "ten blue links," and the agent still has to crawl the pages and clean the body text itself. Doubao Search does those steps for you:

  1. Cleaned body text: every result returns the cleaned main text, about 1,100 Chinese characters per result for trending topics. The agent doesn't need to crawl again.
  2. Timestamps precise to the second: every result carries a publish timestamp + source link. The agent can tell "is this from last year or from today"—critical for tracking model versions and news-type tasks.
  3. ContentTokenCount: every result includes a token count. The agent can budget its context and avoid stuffing the window in one go.
  4. Structured "Ruyi" cards: stocks, gold, FX, flights, trains, shows—returned as structured fields instead of being pried out of a paragraph of prose.

Two Versions, One API Key

VersionPositioningBody lengthFeatures
GlobalWorks out of the box~1,100 chars/resultIncludes token counts
CustomEnterprise, rules-based~3,700 chars/resultFaster, with 4-level authority grading

Both versions share a free quota of 500 calls per month (confirmed by both the WeChat article and Volcano Engine's official post). Beyond that, it's pay-per-use, and a monthly pass is also available (the pass is tied to the Volcano Engine Agent Plan). Exact unit and pass prices defer to the console in real time—this article won't invent numbers.

Before You Start

  • Node.js: must be able to run npx (Node 18+ recommended)
  • Claude Code: installed, with the claude command runnable in the terminal
  • Doubao Search API key: activate "Search Infinity" at the Volcano Engine console and obtain DOUBAO_SEARCH_API_KEY
  • Optional ARK_API_KEY: a Volcano Engine Ark key; when set, it enables AI enhancement (result compression, cross-source verification)
  • Budget: 500 free calls per month is enough to get through testing and small projects; check the overage unit price in the console before heavy use

Step 1: Plug It into Claude Code via MCP, One Command

The protagonist is the open-source MCP by community author Hua Shu (alchaincyf): github.com/alchaincyf/huashu-doubao-search (MIT license). His motivation for building it was blunt: his own "Nuwa" skill (an open-source skill that uses 6 sub-agents to research a person's thinking style) lost web access in its sub-agents after users switched to domestic models, which began fabricating research content. So he wrapped Doubao Search as an MCP for his own skills to use.

Execute this in the terminal:

claude mcp add huashu-doubao-search \
  -e DOUBAO_SEARCH_API_KEY=your-key \
  -- npx -y github:alchaincyf/huashu-doubao-search

Parameter notes:

  • -e DOUBAO_SEARCH_API_KEY=...: required, obtained after activating the service in the Volcano Engine console
  • Optionally append -e ARK_API_KEY=...: enables AI enhancement (result compression, cross-source verification)
  • npx -y github:alchaincyf/huashu-doubao-search: pulls the latest version from GitHub on every start

This MCP does exactly one thing: receive Claude Code's search request → call the Doubao Search API → format the result into an agent-friendly structure (body text + timestamp + token count) and return it.

💡 Tip: if you already have other MCP configurations, this command adds incrementally with no conflicts. After installing, just say "search for xxx" in Claude Code and it will invoke this MCP automatically.

Step 2: Multi-Source Cross-Checking with cross_check

Hua Shu additionally built a cross_check mode: it fires searches from multiple angles in parallel, then compares the results for consensus/divergence (he uses Doubao-Seed-Evolving as the comparison model). Good for verifying the reliability of a claim when writing research reports or doing due diligence.

You invoke it by having Claude Code pass the cross_check parameter on the MCP call (check the repo's latest README for the exact parameter name). It produces a report of "which sources reached consensus / which sources diverge," saving you from manually juggling 5 tabs to compare.

Step 3 (Alternative): Call the API Directly, or Install the Official Skill

If you don't use Claude Code, or want to call it from your own code, there are two alternative paths.

A. Call the API directly: activate in the console, get a key, and send HTTP requests per the official docs. For developers who want to write their own agents without depending on a third-party MCP. Response fields include the body text, timestamps, ContentTokenCount, and structured cards described earlier.

B. Official Skill integration (provided by Volcano Engine):

npx skills add https://skills.volces.com/skills/bytedance/agentkit-samples -s byted-web-search

For teams already in the Volcano Engine agent ecosystem who want an "officially maintained" integration path. This post's protagonist is the community MCP (lighter, built specifically for Claude Code); the Skill is a parallel option.

Who Should Use It, and How to Choose vs. Tavily

Who it's for:

  • Anyone who swapped the model in Claude Code / Cline / other agent clients to a domestic Chinese model and needs web access restored
  • Developers building agents in China where Tavily is unstable and requires an overseas credit card
  • Deep research, due diligence, model-version tracking—tasks sensitive to information freshness and accuracy (timestamps and cleaned body text pay off the most here)

Comparison with Tavily (Hua Shu's testing, information density per result):

DimensionDoubao Search (Global)Tavily basic
Body text per result~1,100 chars~700 chars
Publish timestampYes, precise to the secondNo
Token countYesNo
Availability in ChinaStableUnstable
BillingRMBOverseas credit card
Free tier500 calls/monthYes, but defer to the official site for the quota

The conclusion is simple: in China, with an agent that needs reliable web access, pick Doubao; for a purely overseas project where Tavily already works for you, there's no need to switch.

An Honest Note on the Official Evaluations

The evaluation figures published by Volcano Engine/QbitAI (Seed model as the base, official scorer): SimpleQA +70% over baseline, leading ranks on FreshQA / BrowseComp-ZH / Xbench-2505.

These are vendor/media-published evaluations, not independent retests—please treat them with that nature in mind.

Volcano Engine's official materials also advertise "the information engine behind 90% of China's TOP phone makers' smart assistants"—this is a vendor's own claim, not independently verified, and is not a basis for the recommendation in this article.

FAQ

  • Q: Installed the MCP, but Claude Code still doesn't search the web? A: First confirm claude mcp list shows huashu-doubao-search; then confirm the DOUBAO_SEARCH_API_KEY environment variable isn't filled in wrong; finally check whether "Search Infinity" was actually activated in the console—having a Volcano account alone doesn't count.

  • Q: Will it auto-charge when the free quota runs out? A: Defer to the console's actual billing policy. When activating, be sure to confirm yourself whether you need to opt into a paid tier—don't leave it on by default.

  • Q: Does cross_check mode burn more quota? A: Yes. It queries from multiple angles in parallel, and every query counts as a call. Within the 500 free calls, get single searches working first, then consider cross-checking.

  • Q: Global or Custom? A: For personal development and prototype validation, Global is enough; consider Custom when you need long body text, rules-based retrieval, or enterprise-grade SLA.

Resources