> ## Documentation Index
> Fetch the complete documentation index at: https://openrouter.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ServerTool

## Fields

| Field | Type | Required | Description | Example |
| - | - | - | - | - |
| `Aliases` | \[][components.ServerToolInputName](../../models/components/servertoolinputname.mdx) | :heavy\_check\_mark: | Every spelling accepted in `tools[].type` for this tool, including the canonical `id`, and what the call surfaces as under each | |
| `DefaultEngine` | `*string` | :heavy\_check\_mark: | The engine a request without `parameters.engine` (or with `engine: "auto"`) runs on; `native` applies where the endpoint runs the tool itself, otherwise `fallback_engine`. A request pinned to a data region skips either engine when its `data_regions` does not list that region. Null for a tool without an engine parameter | native |
| `DocsURL` | `string` | :heavy\_check\_mark: | N/A | |
| `Engines` | \[][components.ServerToolEngine](../../models/components/servertoolengine.mdx) | :heavy\_check\_mark: | N/A | |
| `FallbackEngine` | `*string` | :heavy\_check\_mark: | The engine an unpinned request runs on when `default_engine` is `native` and the endpoint does not run the tool itself; null when there is no fallback | exa |
| `ID` | `string` | :heavy\_check\_mark: | Canonical `openrouter:*` name; the stable `tools[].type` on every API format in `supported_api_formats` | openrouter:web\_search |
| `InputSchema` | map\[string]`any` | :heavy\_check\_mark: | JSON Schema of the arguments the model emits when calling the tool | \{<br />"properties": \{},<br />"type": "object"<br />} |
| `Name` | `string` | :heavy\_check\_mark: | N/A | Web search |
| `NativeSupport` | [components.ServerToolNativeSupport](../../models/components/servertoolnativesupport.mdx) | :heavy\_check\_mark: | Endpoints whose provider runs this tool itself during inference. Zero for tools no provider runs natively. | \{<br />"endpoint\_count": 18,<br />"model\_count": 12<br />} |
| `OutputSchema` | map\[string]`any` | :heavy\_check\_mark: | JSON Schema of the result returned to the model; null when undeclared | \{<br />"properties": \{},<br />"type": "object"<br />} |
| `ParametersSchema` | map\[string]`any` | :heavy\_check\_mark: | JSON Schema for the caller-side `tools[].parameters` object | \{<br />"properties": \{},<br />"type": "object"<br />} |
| `Status` | [components.ServerToolStatus](../../models/components/servertoolstatus.mdx) | :heavy\_check\_mark: | N/A | active |
| `Summary` | `string` | :heavy\_check\_mark: | One sentence for cards and search results; never sent to a model | |
| `SupportedAPIFormats` | \[][components.ServerToolSupportedAPIFormat](../../models/components/servertoolsupportedapiformat.mdx) | :heavy\_check\_mark: | N/A | |
| `ToolDescription` | `string` | :heavy\_check\_mark: | The description sent upstream as the function tool description | |
