Skip to main content
Every method after initialize is gated by a capability the server advertised. Clients check supports(...) before calling — failures surface client-side as CapabilityMissing (-32003) before any I/O.
retrieve is the workhorse: a single call can drive query transform, hybrid recall, rerank, MMR diversification, recency weighting, metadata filtering, and citation assembly — whatever the engine advertises.

Naming conventions

  • Method names are <verb> or <verb>/<sub>retrieve, index/add.
  • The notifications/ prefix is reserved for protocol notifications (no id).
  • The x-<vendor>/<name> space is for vendor extensions.

Always-available methods

Four methods need no capability and (except where noted) work at any time:

initialize / info

Handshake and stateless identity. info and ping answer even before initialize.

ping

Liveness and round-trip timing; echoes a nonce.

shutdown

Graceful close; EOF on stdin is equivalent.

notifications/cancel

Abandon an in-flight request; best-effort, no response.