Skip to main content
Meerkat is a library-first agent platform built in Rust. It provides the agent loop, typed events, provider adapters, tools, persistence, runtime control, and multi-agent orchestration needed to build an agent product without adopting a fixed user experience. The same runtime contracts power embedded Rust applications, command-line workflows, HTTP services, SDK clients, and browser/WASM delivery.

What Meerkat Owns

  • Agent execution. Streaming model calls, tool batches, retries, budgets, structured output, compaction, and explicit terminal outcomes.
  • Realm-scoped state. Sessions, config, auth bindings, runtime state, schedules, WorkGraph, jobs, blobs, artifacts, and mob state share one isolation boundary.
  • Provider resolution. Anthropic, OpenAI, Gemini, Azure and cloud-hosted variants, plus configured OpenAI-compatible self-hosted models.
  • Runtime authority. Generated state-machine integration coordinates session lifecycle, scheduling, recovery, auth leases, and other transitions before stores commit the corresponding physical facts.
  • Tools and policy. Builtins, MCP, shell policy, hooks, skills, live tool updates, provider-native tools, and application-defined dispatchers.
  • Multi-agent systems. Session-backed mob members, signed peer communication, profiles, flows, durable schedules, and WorkGraph commitments.
Meerkat keeps provider-specific capability differences explicit. Changing the model can change the effective tool, multimodal, reasoning, or realtime surface, and unsupported combinations fail with typed errors instead of being silently approximated.

Library-First, Runtime-Backed

There are two useful construction profiles:
  • The public meerkat::AgentBuilder routes through AgentFactory but defaults to StandaloneEphemeral, a convenient profile for one embedded component.
  • SessionService plus FactoryAgentBuilder is the normal path for durable, runtime-backed products. It adds realm config, credential leases, recovery, scheduling, live coordination, and shared surface behavior.
The lower-level meerkat_core::AgentBuilder is an internal/test escape hatch, not a second public composition pipeline. The CLI and service binaries use the runtime-backed profile. A session created through one surface can be resumed through another when both use the same realm and persistence location.

Use It From Anywhere

Rust SDK

Embed agents and runtime services in a Rust application.

Python SDK

Drive the JSON-RPC runtime from Python.

TypeScript SDK

Drive the JSON-RPC runtime from Node.js.

Web SDK

Run sessions and mobs in browser/WASM applications with @rkat/web.

CLI

Run agents, manage realms, and automate shell workflows.

REST API

Integrate through HTTP and streaming responses.

JSON-RPC

Use the stateful stdio or TCP surface behind the SDKs.

MCP Server

Expose Meerkat capabilities as tools to another MCP client.

Build The Product Layer With MobKit

MobKit is Meerkat’s companion application layer for operated multi-agent products. It adds durable identities, routing, approval gates, memory, flows, and an operator console while using the Meerkat runtime underneath.

Explore MobKit

Build and operate coordinated groups of Meerkat agents.

Get Started

Quickstart

Install Meerkat and complete a first run.

Concepts

Learn realms, sessions, config, providers, and orchestration.

Examples Gallery

Choose a maintained example by language or workflow.

Auth Setup

Move from environment variables to scoped bindings and OAuth.

Self-Hosted Models

Register an OpenAI-compatible model server.

Architecture

Understand crate ownership and runtime authority.