Browse documentation
similar
More-like-this: given a passage id from a web_search hit, return its semantic neighbours.
Behaviour
Use it when a result is nearly what you wanted — it searches by meaning from that passage rather than from words you have to guess.
Arguments
inputSchema
| Name | Type | Description |
|---|---|---|
idrequired | string | Seed passage id |
limit | integer | — |
Returns
A JSON payload in the text content block, and the same payload as
structuredContent for clients that support it.
outputSchema
| Name | Type | Description |
|---|---|---|
facets | object | Present only when facets=true |
moderequired | "keyword" | "semantic" | "hybrid" | The mode actually used |
partial | boolean | true when at least one shard failed or timed out — the answer is short because a slice of the corpus was unreachable, NOT because that is all there is. Never treat a partial result as complete. |
resultsrequired | object[] | — |
routedrequired | boolean | true when the router chose the vertical, false when you named it |
totalrequired | integer | — |
vertical | string | null | The vertical actually queried |
Calling it
Over Streamable HTTP, with the required arguments filled in:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "similar",
"arguments": {
"id": "<id>"
}
}
} Most clients do this for you — see Connect a client. To drive it by hand, complete the startup lifecycle first.