Types
Typed Clients
Use origin-types when a Rust tool needs to call the local daemon without relying on untyped JSON shapes.
At a glance
01
origin-types is the shared Rust wire-format crate for the daemon, MCP server, CLI, and downstream local clients.
02
Use it for local Rust integrations that need shape checking; use MCP or the CLI for normal agent workflows.
01
What origin-types is
origin-types defines shared request and response shapes plus core enums used across the local Origin runtime.
The point is to make shape drift visible. A typed integration should fail loudly when a payload changes instead of silently passing mismatched JSON.
Shared surfaces
origin-server HTTP backend daemon
origin-mcp MCP server wrapper for AI tools
origin CLI setup, doctor, recall, search, store
local clients Rust tools that call the daemon directly02
When to use it
Use origin-types when you are writing a Rust local tool that calls origin-server directly or when you are contributing to the daemon, MCP connector, or CLI.
Do not reach for it for ordinary daily work. Claude Code slash commands, MCP tools, and the CLI are the supported product surfaces for most users.
Rust dependency
cargo add origin-types
# then use the shared request/response structs
# instead of passing untyped JSON through your tool03
Stability expectations
Origin is pre-1.0. Minor version bumps can include breaking wire-type changes under Rust 0.x conventions.
Types marked doc(hidden) are not part of the public stability contract. Treat them as implementation details even if they appear in generated docs.
04
Boundary still matters
origin-types does not mean clients should write the database directly. The daemon remains the owner of storage, search, pages, graph context, review state, and distill cycles.
If your tool only needs to capture, recall, or load context, prefer MCP or CLI automation before building direct HTTP plumbing.
05
Where to find it
The crate is published as origin-types and lives in the public Origin repository with the rest of the daemon workspace.
Package names matter here: origin-types is the shared type crate, origin-mcp is the MCP connector, and @7xuanlu/origin is the setup and Claude Code plugin package.
Next
Spaces
Separate work, personal, client, and project memory, and understand how Origin resolves the active space.
Read next