Guides

Brave's MCP tool list is 25,495 tokens. Web search alone is 1,400.

On November 11, 2026 Brave's eight-tool MCP list was 25,495 tokens and brave_web_search was 1,400. On gpt-5, at 200 output tokens and 40 turns a day, 30 days cost $40.6845 and $4.542.

OpenAI logoOpenAIAnthropic logoAnthropic
Editorial policy

Key takeaways

  • Brave Search MCP 2.1.4 returned eight tools. The compact tools/list paste was 25,495 tokens. brave_web_search alone was 1,400. brave_place_search alone was 17,296, and 71,381 of its 77,365 characters are the output schema.
  • On gpt-5, with a 28-token prompt, 200 output tokens, and 40 turns a day, that eight-tool list was $0.03390375 a turn and $40.6845 over 30 days. The web-search tool alone was $0.003785 and $4.542. The 200 output tokens are $2.40 of every gpt-5 row.
  • OpenAI logoOpenAI's published web_search declaration was 8 tokens. Anthropic logoAnthropic's web_search_20260318 declaration was 17. Exa's live search-only list was 348. The call fee is still the larger line on those tools. On Brave's full list, the definition is larger than 1,200 searches at $5 per 1,000.

Updated November 11, 2026.

Brave's eight tools were 25,495 tokens. Pasted alone, brave_web_search was 1,400. I counted both on the morning of November 11, 2026, from the JSON those servers return for tools/list, using the same checkPrompt function the prompt and tool checker calls.

On gpt-5, with 200 output tokens and 40 turns a day entered, the eight-tool list was $0.03390375 a turn and $40.6845 over 30 days. brave_web_search alone was $0.003785 and $4.542. The $36.1425 difference is the rest of that list. The prompt and the output box were the same on both rows.

OpenAI's published declaration, {"type":"web_search"}, was 8 tokens. Anthropic's web_search_20260318 example was 17. Exa's live search-only list was 348. If you search on every turn, those three are cheap to keep loaded and the per-search fee is the bill. Brave's default list is the other way around.

What went into the checker

The prompt on every row was:

You are a research agent. Use a web search tool when the question needs a current page. Do not invent a URL or a quote.

That sentence was 28 tokens. Output tokens were entered as 200. Turns per day were entered as 40, so the 30-day column is the per-turn price times 1,200. gpt-5 is a tiktoken o200k_base count of the pasted text. Claude Sonnet 5.5 reuses that count and the checker labels it an estimate. Message framing is not included. The paste was JSON.stringify of the tools array, compact, key order unchanged.

Exa and Firecrawl answered a live tools/list at 07:17:59 UTC. The handshake asked for protocol version 2025-06-18. No Authorization header.

Tavily's hosted URL, https://mcp.tavily.com/mcp, returned HTTP 401 with an empty body. The official repository at commit ff166aa (package 0.2.23, committed November 5, 2026) started on stdio without TAVILY_API_KEY, printed that it was in keyless mode, and returned six tools. That is the list below. npm's latest tarball that morning was 0.2.22, so this is the repository, not that tarball.

Brave's CLI exited 1 without a key. The message was: "A Brave API key is required via --brave-api-key, BRAVE_API_KEY, --brave-api-key-file, or BRAVE_API_KEY_FILE." I did not invent a key and I did not call the search API. The tool JSON is createMcpServer() from the published package @brave/brave-search-mcp-server 2.1.4, tag v2.1.4, commit 8bcb302, released September 17, 2026, listed over the SDK's in-memory transport. That is the same registerTool path the CLI uses after the key check.

The hosted declarations are the objects the vendor docs tell you to send. OpenAI's web-search guide says new Responses integrations send { "type": "web_search" }. Anthropic's tool page uses { "type": "web_search_20260318", "name": "web_search" } for the current agentic version. Neither page publishes the schema the model sees internally. This count is the declaration, not a guessed hidden prompt.

Download CSV

Paste Version Tools Tool tokens
Brave default list 2.1.4 8 25,495
Brave, name, description, and inputSchema only 2.1.4 8 8,284
Firecrawl keyless list 3.39.0 3 5,887
Tavily keyless list 0.2.23 6 3,184
Exa default list 3.5.0 2 549
OpenAI {"type":"web_search"} guide, read Nov 11 1 8
Anthropic web_search_20260318 tool page, read Nov 11 1 17

Source: aiagentsinfo.com, Brave's MCP tool list is 25,495 tokens. Web search alone is 1,400., updated . How to cite: Brave's MCP tool list is 25,495 tokens. Web search alone is 1,400.. AI Agents Info (aiagentsinfo.com). https://www.aiagentsinfo.com/blog/web-search-tool-definition-tokens. Updated November 11, 2026.

Exa's two tools were web_search_exa and web_fetch_exa. Firecrawl's keyless three were firecrawl_scrape, firecrawl_search, and firecrawl_parse. Tavily's six were tavily_search, tavily_extract, tavily_crawl, tavily_map, tavily_research, and tavily_feedback. Brave's eight were brave_web_search, brave_local_search, brave_video_search, brave_image_search, brave_news_search, brave_summarizer, brave_llm_context, and brave_place_search.

initialize also returned an instructions string. Counted alone, with the same encoding, Exa was 98 tokens, Firecrawl 402, Tavily 92, and Brave 18. Those tokens are not in the table. A client that copies instructions into the system prompt pays them on top.

Where Brave's 25,495 tokens sit

brave_place_search, pasted as its own one-tool array, was 17,296 tokens. The object is 77,365 of the 110,719 characters in the eight-tool list. Of that object, 71,381 characters are outputSchema. The name, the description, and inputSchema for that one tool were 1,527 tokens.

The eight tools with only name, description, and inputSchema were 8,284 tokens. Dropping every outputSchema cuts the list from 25,495 to 8,284. The model does not need the output schema to decide whether to call the tool. A harness that forwards the raw tools/list body pays for it anyway.

brave_web_search does not carry an output schema. Pasted alone it was 1,400 tokens, and the input-schema slice was 1,369. The expensive object is place search, not web search.

What the schema check said

Every MCP paste was accepted on auto-detect and on the MCP target. The same paste was one error per tool on the OpenAI target and one error per tool on the Anthropic target. The OpenAI error says a function tool uses type: "function" and a parameters schema. The Anthropic error says a user-defined tool uses input_schema. Tavily's tavily_feedback also drew one warning: anyOf is present, and this checker does not test those branches.

OpenAI's { "type": "web_search" } was accepted on auto-detect and on the OpenAI target, with one warning that a built-in tool is not a function schema and that its separate fee is not in the price. The Anthropic and MCP targets rejected it.

Anthropic's web_search_20260318 object was accepted on auto-detect and on the Anthropic target, with one warning that a dated server tool is not a user-defined input_schema and that its extra fee is not in the price. The OpenAI and MCP targets rejected it. On Claude Sonnet 5.5, those two accepting targets added 286 input tokens from Anthropic's published tool-use system prompt. gpt-5 does not get that add, and the MCP rows do not get it either, because the JSON is not Anthropic's shape.

What gpt-5 and Sonnet 5.5 priced

gpt-5's standard price, read November 11, 2026, is $1.25 per million input tokens and $10 per million output tokens. Claude Sonnet 5.5 is $2 and $10. Cached, batch, and fast prices are not in either row.

The 200 output tokens are $2.40 of every gpt-5 row and every Sonnet row: 200 × $10 / 1,000,000 × 1,200. The 28-token prompt is $0.042 on gpt-5 and $0.0672 on Sonnet. Subtract those two pieces from a 30-day figure and what remains is the tool text.

Download CSV

Paste gpt-5 per turn gpt-5, 30 days Sonnet 5.5, 30 days
Brave, eight tools $0.03390375 $40.6845 $63.6552
Brave, input schemas only $0.01239 $14.868 $22.3488
Firecrawl, three tools $0.00939375 $11.2725 $16.596
Tavily, six tools $0.006015 $7.218 $10.1088
Exa, two tools $0.00272125 $3.2655 $3.7848
OpenAI web_search $0.002045 $2.454 $2.4864
Anthropic web_search_20260318 $0.00205625 $2.4675 $3.1944

Source: aiagentsinfo.com, Brave's MCP tool list is 25,495 tokens. Web search alone is 1,400., updated .

Sonnet's Claude row is the one that includes the 286-token tool-use prompt. Without it, that row's input is 45 tokens and the 30-day figure is $2.508, which is what the MCP target priced. The other Sonnet rows do not add 286. The checker page rounds a total of at least $1 to the cent. The eight-tool Brave row shows as $40.68 on gpt-5 and $63.66 on Sonnet. The web-search-only row below shows as $4.54 and $5.83.

The search tool, without the rest of the server

Exa's ?tools=web_search_exa is a second tools/list. It returned one tool and 348 tokens. The other search rows are slices of the lists above. I did not get a second handshake that contained only that tool.

Download CSV

Search paste How it was taken Tool tokens gpt-5, 30 days Sonnet 5.5, 30 days
Exa web_search_exa tools/list with ?tools=web_search_exa 348 $2.964 $3.3024
Tavily tavily_search sliced from the six-tool list 862 $3.735 $4.536
Brave brave_web_search sliced from the eight-tool list 1,400 $4.542 $5.8272
Firecrawl firecrawl_search, full object sliced from the keyless list 2,455 $6.1245 $8.3592
Firecrawl search, input schema only same object, three fields 2,109 $5.6055 $7.5288
Brave brave_place_search, full object sliced from the eight-tool list 17,296 $28.386 $43.9776
Brave place search, input schema only same object, three fields 1,527 $4.7325 $6.132

Source: aiagentsinfo.com, Brave's MCP tool list is 25,495 tokens. Web search alone is 1,400., updated .

Tavily's search schema defaults search_depth to basic. Firecrawl's scrapeOptions says to leave it unset unless you need the full page, and that each fetched result is billed as a scrape. The limit field has a minimum of 1 and a maximum of 100 and no default. Exa 3.5.0's search schema has query, numResults, and a required objective. It does not name a search type.

Add the per-search fee

The token table is the cost of keeping the definition loaded. The November 11 price card is the cost of the call. One search on each of the 1,200 turns is 1,200 searches.

Brave's Search plan is $5 per 1,000, so 1,200 web searches are $6. Tavily basic pay-as-you-go is $8 per 1,000, so $9.60. Claude's web search tool and OpenAI's web_search tool are $10 per 1,000, so $12. Those three mappings come from the tool's own schema or from the declaration the docs name. Exa's 3.5.0 schema does not say lite or auto, so this page does not add the price card's $4 or $7. Firecrawl's schema does not fix the result count, so this page does not add the Hobby or Standard figure.

Download CSV

Path, gpt-5, except the Claude row Definition, 30 days 1,200 searches Together
Brave's eight tools, and one web search a turn $40.6845 $6 $46.6845
brave_web_search only $4.542 $6 $10.542
Tavily's six tools, basic depth $7.218 $9.60 $16.818
tavily_search only $3.735 $9.60 $13.335
OpenAI { "type": "web_search" } $2.454 $12 $14.454
Claude web_search_20260318 on Sonnet 5.5 $3.1944 $12 $15.1944

Source: aiagentsinfo.com, Brave's MCP tool list is 25,495 tokens. Web search alone is 1,400., updated .

The together column still leaves out the text the search puts back into the window. On OpenAI and Claude that text is billed as input tokens, and for gpt-4o-mini and gpt-4.1-mini the price card records a fixed 8,000-token block. Do not copy the $12 onto a turn that also reads the pages. The $12 is the tool fee for 1,200 calls.

At this workload, Brave's tool text is $38.2425 of the $40.6845. Twelve hundred Brave searches are $6. The definition is the larger line, and most of that line is an output schema on a tool the turn did not call. Tavily flips it. Six tools of schema are $4.776 of tool text. Twelve hundred basic searches are $9.60. OpenAI's declaration is $0.012 of tool text. The $12 fee is the line that matters, and then the pages.

Keep the search tool. Leave the rest unloaded until the turn needs it.

On Brave, pass --enabled-tools brave_web_search. The package reads that flag. The default eight-tool list is a $40.6845 definition on this gpt-5 workload. The web-search tool is $4.542, and $2.40 of that is the output box I typed. Place search is the object to refuse unless the agent is looking up a business.

On Exa, set ?tools=web_search_exa when you do not need web_fetch_exa on every turn. That list was 348 tokens and $2.964 over 30 days, against 549 tokens and $3.2655 for the default pair. The gap is small. The reason to trim it is the result text, not the schema. I did not price Exa's call, because server 3.5.0 does not name the type.

On Tavily, the keyless process still listed crawl, map, research, and feedback. Pasted alone, tavily_search was 862 tokens. The six-tool list was 3,184. Paste the search tool when the turn only searches. The hosted endpoint still wants a key before it will list anything. I did not measure that hosted list.

On Firecrawl's keyless server, scrape and parse sit beside search. The three-tool list was 5,887 tokens. The search object was 2,455 tokens, and the same object kept to name, description, and inputSchema was 2,109. Leave scrapeOptions unset unless you mean to buy the scrape. The price card's Hobby and Standard figures are for a search of up to 10 results with no scrape. This schema does not set that limit for you.

On OpenAI and Claude, send the short declaration and budget the $10 per 1,000, then budget the pages. Do not budget a 25,000-token schema for a hosted tool. The vendors do not publish one. Eight tokens and 17 tokens are what the request sends.

Serper's $1 per 1,000 pack is still the cheap Google result page on the price card, and that page found no official MCP server for it. The consumer products are Best AI agent for web search. A documentation-server count from the day before, Context7 and DeepWiki, is a different list: Context7 and DeepWiki MCP tool definitions.

The checker does not store the paste. These counts were produced from the public tool JSON and the two published declarations, then discarded with the process.

Sources

  1. 1EExa hosted MCP, tools/list (server 3.5.0, 07:17:59 UTC, November 11, 2026)
  2. 2EExa hosted MCP, tools/list with tools=web_search_exa (server 3.5.0, same request window)
  3. 3GitHub logoTavily MCP, repository main, commit ff166aa, package 0.2.23 (committed November 5, 2026)
  4. 4FFirecrawl hosted MCP, keyless tools/list (firecrawl-fastmcp 3.39.0, 07:17:59 UTC, November 11, 2026)
  5. 5GitHub logoBrave Search MCP server 2.1.4, tag v2.1.4, commit 8bcb302 (published September 17, 2026)
  6. 6OpenAI logoOpenAI, Web search guide, the {type: web_search} declaration (read November 11, 2026)
  7. 7Anthropic logoAnthropic, Web search tool, the web_search_20260318 example (read November 11, 2026)
  8. 8OpenAI logoOpenAI API pricing (gpt-5 standard row, read November 11, 2026)
  9. 9Anthropic logoAnthropic API pricing (Claude Sonnet 5.5 row, read November 11, 2026)
  10. 10AAI Agents Info, web search API prices (read November 11, 2026)
  11. 11AAI Agents Info, Free agent prompt and tool checker

Guides

Claude Fable 5.2 vs GPT-6 Astra for Coding Agents

Claude Fable 5.2 leads Anthropic’s November 9, 2026 coding-agent table: 49.1% on FrontierCode 2.0 at Xhigh effort and 69.9% on FrontierSWE v2, ahead of GPT-6 Astra and Claude Opus 5.5. Opus 5.5 costs half as much per token, and Anthropic still says to start most coding there. Gemini 4 Carbon leads AutomationBench and has no id on the Gemini API model list read November 10.

November 10, 2026 · 20 min read

Guides

How to Use Claude Fable 5.2 in an Agent Harness

Point the harness at claude-fable-5-2. The Messages API defaults to high effort; Claude Code defaults Fable 5.2 to medium until you set it, and the model needs Claude Code v2.1.321 or later. A turn of 50,000 input tokens and 15,000 output tokens is $1.00 at the $8 and $40 rates.

November 10, 2026 · 21 min read