Server-side tools are tools the provider runs for you — Anthropic’sDocumentation Index
Fetch the complete documentation index at: https://docs.opper.ai/llms.txt
Use this file to discover all available pages before exploring further.
web_search, OpenAI’s code_interpreter, Google’s googleSearch, and so on. Unlike function tools, there’s no round-trip: the model invokes the tool, the provider runs it, and the result comes back in the same response.
Opper forwards these tools verbatim to each provider on that provider’s native endpoint. Surcharges (e.g. $10 / 1k web searches) bill as the provider reports them.
Where each tool lives
Server-side tools are endpoint-specific — each provider only accepts its own tools on its own compatibility endpoint. Send them anywhere else and you get a 400 with a hint pointing at the right endpoint.| Provider | Endpoint | Tools |
|---|---|---|
| Anthropic | POST /v3/compat/v1/messages | web_search_*, web_fetch_*, bash_*, computer_*, memory_*, text_editor_*, mcp_toolset, advisor_* |
| OpenAI | POST /v3/compat/responses | web_search, file_search, code_interpreter, image_generation |
POST /v3/compat/v1beta/models/{model}:generateContent | googleSearch, codeExecution, urlContext, googleSearchRetrieval |
{type:"function",...} definitions) work on every endpoint — the restriction is just for provider-native server tools.
Examples
Responses
Each provider’s native response shape comes back verbatim, so the official Anthropic / OpenAI / Google SDKs parse it without changes:- Anthropic —
content[]containsserver_tool_use,web_search_tool_result(with the result URLs + encrypted content), andtextblocks whosecitations[]reference the sources the model actually grounded on. - OpenAI Responses —
output[]containsweb_search_callitems (with the search queries) andmessage.content[].output_text.annotations[]url_citationentries. - Google —
candidates[0].groundingMetadatacarrieswebSearchQueries,groundingChunks[].web(URI + title),groundingSupports, andsearchEntryPoint.
Compact responses
Server-tool payloads can get heavy (Anthropicweb_search results carry full snippets + per-result encrypted_content). Send X-Opper-Compact-Response: true to strip the bandwidth-heavy fields while preserving citation URLs and titles. Tradeoff: a compact response can’t be replayed to extend a cited multi-turn conversation, because Anthropic citation continuity needs the encrypted_index / encrypted_content that compact mode drops.
Routing through Bedrock and Vertex
When you route Claude through a cloud platform (bedrock/claude-*, vertexai/claude-*), the supported subset shrinks. Opper rejects with a clear 400 when you ask for something the cloud doesn’t carry.
| Tool | Direct Anthropic | Vertex AI Claude | Bedrock Claude |
|---|---|---|---|
web_search_* | ✓ | ✓ | ✗ |
web_fetch_* | ✓ | ✗ | ✗ |
bash_* / computer_* / memory_* / text_editor_* | ✓ | ✓ | ✓ |
code_execution_* | ✓ | ✗ | ✗ |
mcp_toolset / advisor_* | ✓ | ✗ | ✗ |
Provider docs
For the full parameter set on each tool (filters, citation options, region settings, etc.), consult the provider’s own reference:See also
- server-tools-compare — runnable cookbook example: fans the same question out to all three providers in parallel and shows queries, citations, cost, and the compact-mode size delta side by side.