An agent engine you control

Claude Code and Codex CLI are brilliant for interactive software development. But agents do more than write code — they research, orchestrate, automate, and run unattended. Meerkat takes a different approach: SDK-first, stable APIs, modular Rust architecture designed for control, performance, and reliability.

Meet Meerkat
CLI
$ rkat run "Analyze this dataset" \
    --model gemini-3-pro --stream
Session: sid_7kf2a
Tools: shell, 2 MCP servers
✓ Streaming response...
Python SDK
from meerkat import MeerkatClient
client = MeerkatClient()
async with client.stream(
  "Summarize quarterly reports"
) as stream:
  async for event in stream: ...
Rust SDK
let factory = AgentFactory::new()
  .builtins(true).memory(true);
let mut agent = factory
  .build_agent(config).await?;
let result = agent
  .run("Deploy to staging").await?;
Mobs
# mob.toml
[profiles.analyst]
model = "claude-sonnet-4-5"
tools = { shell = true }
[profiles.writer]
model = "gpt-5.2"
$ rkat mob deploy mob.toml
✓ 2 agents wired, running

Library-first. Modular by design. Multi-provider LLMs, persistent sessions, tool dispatch with MCP, semantic memory, skills, hooks — pick the modules you need, skip the ones you don't. Orchestrate agent teams with mobs, package them as portable mobpacks, and deploy anywhere: CLI, REST, cloud, or browser via WASM.

Works with Anthropic OpenAI Gemini Python TypeScript Rust MCP WASM

Try it in your browser

Autonomous agent teams running entirely in your browser. No backend, no containers — just WebAssembly and live LLM calls.

WebCM demo WASM + WebCM

Browser Coding Agent

A 4-agent coding mob (orchestrator, planner, coder, reviewer) with access to a sandboxed Alpine Linux VM running entirely in WebAssembly. Give it a task and watch the team build software.

4 agents · Linux VM · multi-provider · real shell access
The Office demo WASM + Mobs

The Office

10 autonomous agents in a pixel-art office. Mail arrives, gets triaged, routed to departments, escalated through approval gates, and archived as structured knowledge — all through peer-to-peer comms.

10 agents · event routing · approval gates · knowledge graph
Diplomacy demo WASM + Mobs

Mini Diplomacy Arena

Three European powers contest 12 territories. Each faction deploys 3 autonomous agents (planner, operator, ambassador) that strategize, negotiate, and betray through real-time comms.

9 agents · 4 mobs · cross-mob comms · structured output
What the agents say...

"Define a team in TOML, deploy it with one command. No YAML pipelines, no container orchestrators."

— Claude

"One .mobpack runs everywhere — native binary, browser, cloud. Same checkpoint format."

— Codex

"Full agent stack in the browser at 1MB. Start a mob in Chrome, resume it on a server."

— Gemini

Batteries included, assembly optional

Meerkat ships with state-of-the-art agent capabilities out of the box. Every feature is a module — use them together for a full-stack agent platform, or cherry-pick the pieces that fit your architecture.

Multi-provider LLMs

Anthropic, OpenAI, and Gemini through a single AgentLlmClient trait. Switch models by changing one config line. Streaming built in for all providers.

Persistent sessions

Create, turn, resume, archive. Sessions survive restarts. Context compaction keeps them within budget. Full lifecycle management across every surface.

Tool dispatch & MCP

Built-in tools, shell execution, and native MCP router for connecting external servers. Add tools with rkat mcp add and they're available instantly.

Skills injection

Domain knowledge from filesystem, git, HTTP, or embedded sources. Agents load skills on demand via /skill-ref syntax. No prompt bloat — inject what you need.

Semantic memory

HNSW vector indexing backed by redb. Cross-session knowledge retrieval. Agents remember what they learned without re-reading everything.

Sub-agents & comms

Spawn, fork, and coordinate child agents. Budget-isolated execution with encrypted peer-to-peer messaging. Hierarchical agent trees from a single entry point.

Mobs

Multi-agent orchestration with profiles, wiring graphs, and DAG-based flows. Ed25519-signed peer messaging. Define a team in TOML, deploy with one command.

Mobpacks

Portable deployment artifacts. A compiler pipeline: definition → .mobpack → interpret, embed, compile, or target WASM. Signed, verified, deterministic.

WASM runtime

Full agent stack compiled to wasm32 for the browser. Same engine, same mobs, same checkpoint format. Start in the browser, resume natively.

Seven surfaces, one engine

One agent pipeline powers every surface. Embed Meerkat in your Rust binary, call it from Python or TypeScript, drive it over REST, or wire it into your IDE. Adding a new surface is just another adapter.

Rust crate

Direct library API. AgentFactory::build_agent(). Zero overhead, full control.

CLI

Shell commands for developer workflows and scripting. rkat run, rkat resume.

REST API

HTTP/JSON for web services and microservices. Full streaming via SSE.

JSON-RPC

Stdio server for IDE integration. Stateful sessions with zero reconstruction overhead.

MCP Server

Expose Meerkat as tools for other LLMs. meerkat_run and meerkat_resume.

Python SDK

Async Python over RPC. pip install meerkat-sdk. Full streaming support.

TypeScript SDK

Node.js and TypeScript over RPC. npm install @meerkat/sdk.

Get started in seconds
# Install
$ cargo install rkat
# Run an agent
$ rkat run "Build a todo CLI" --stream
# Resume a session
$ rkat resume sid_a8f3k2 "Add error handling"
# Add an MCP server
$ rkat mcp add github -- npx @github/mcp
# Deploy a mob
$ rkat mob deploy research-team.mobpack
# Build for the browser
$ rkat mob web build release-triage.mobpack