Protocol
Rift publishes one generated contract through these definitions:
- Core model - source discovery, identities, and provider facts shared by protocol surfaces
- MCP reference - tool arguments, resource responses, and failure behavior
For an introduction through an agent's workflow, start with the MCP guide.
The Rust models in crates/rift-protocol are the source of truth. The served tool surface is
exported as JSON Schema at mcp.json, and the
reference explains it.
How a request finds its target
An agent's rift mcp reads the workspace's
ServerLock - or starts the server that writes
it - and forwards MCP requests to the endpoint it names. Each request carries its own arguments. Search and exact reads return an immutable view
with an expiry. A later request can name that view; expiry refuses the read instead of selecting
latest implicitly. Search uses page_index; get_symbol uses declaration_cursor for remaining
declarations of one logical symbol in the same view.
Versioning
Rift uses MCP's protocol versioning without adding another version field. The MCP client carries standard MCP version metadata; Rift tool arguments contain only arguments declared by each tool's input schema.
The server advertises its current tool and resource schemas through MCP. A release freezes its exported contract for implementers and generated clients; callers do not select a snapshot on each request.