unlob Docs
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

NameTypeDescription
idrequiredstringSeed passage id
limitinteger

Returns

A JSON payload in the text content block, and the same payload as structuredContent for clients that support it.

outputSchema

NameTypeDescription
facetsobjectPresent only when facets=true
moderequired"keyword" | "semantic" | "hybrid"The mode actually used
partialbooleantrue 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.
resultsrequiredobject[]
routedrequiredbooleantrue when the router chose the vertical, false when you named it
totalrequiredinteger
verticalstring | nullThe 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.