#1194·big-AGI

Add support for web_search and web_fetch OpenRouter server tools

Author: Slava-256Created Sep 6, 2026Updated Sep 16, 2026
Labelstarget_MAIN

What's happening?

I am attaching documentation for web_search and web_fetch OpenRouter server tools (OpenRouter_web_search.md and OpenRouter_web_fetch.md).

OpenRouter_web_search.md OpenRouter_web_fetch.md

You can also find the documentation at https://openrouter.ai/docs/guides/features/server-tools/web-search and https://openrouter.ai/docs/guides/features/server-tools/web-fetch

Currently in individual model preferences dialog for OpenRouter models you can configure Web Search On/Off.

It would be great to update it to offer two configuration sections, one for Web Search and one for Web Fetch:

Web Search (engine parameter): off (when "openrouter:web_search" tool is not specified), auto, native, exa, firecrawl, parallel, perplexity

  • Mode (mode parameter): For exa engine: instant, fast, auto, deep-lite, deep, deep-reasoning. For parallel engine: turbo, fast, basic, advanced.
  • Max results per search call (max_results parameter): (1–25; 1–20 for Perplexity). Applies to Exa, Firecrawl, Parallel, and Perplexity engines; ignored with native provider search
  • Max uses (max_uses parameter): Maximum number of searches the model may perform in a single request.
  • Max total results (max_total_results parameter): Maximum total results across all search calls in a single request.
  • Context to retrieve (search_context_size parameter): How much context to retrieve: low, medium, or high. For Exa, pins a fixed per-result character cap (5K/15K/30K); when omitted, Exa picks adaptively (~2-4K per result). For Parallel, controls total characters across all results (defaults to medium). For Perplexity, maps directly to the Search API’s native search_context_size parameter. Ignored with native provider search and Firecrawl. Overridden by max_characters when both are set
  • Max characters of context per result (max_characters parameter): Exact maximum characters of content per result (1–100,000). Applies to Exa, Parallel, and Perplexity engines; ignored with native provider search and Firecrawl. For Exa, caps highlight content per result. For Parallel, caps excerpt content per result (default 1,500 when omitted). For Perplexity, converted to a token budget via max_tokens_per_page and trimmed to the exact character cap. When both max_characters and search_context_size are set, max_characters takes precedence

Web Fetch (engine parameter): off (when "openrouter:web_fetch" tool is not specified), auto, native, exa, openrouter, firecrawl, parallel

  • Max uses (max_uses parameter): Maximum fetches per request.
  • Max content length in tokens (max_content_tokens parameter): Maximum content length in approximate tokens.

There is also a global tool call limit on Open Router that defaults to 30, and that may need to be configurable. The parameter name is max_tool_calls and it is documented at https://openrouter.ai/docs/guides/features/server-tools. I think it may be more clear to the user if "Max tool calls" is configured on per-model settings page as well, since it can affect maximum number of searches and fetches that will be allowed to complete.

Where does this happen?

Big-AGI Pro (big-agi.com)

Impact on your workflow

None - Just a question/suggestion

Environment (if applicable)

No response

Additional context

No response