Skip to content

Types

Typed Clients

Use origin-types when a Rust tool needs to call the local daemon without relying on untyped JSON shapes.

Qi-Xuan LuUpdated 4 min read

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 directly

02

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 tool

03

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.

Read HTTP API overview

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.

Read package names

Next

Spaces

Separate work, personal, client, and project memory, and understand how Origin resolves the active space.

Read next