Skip to content
nerva docs v0.2.1

Nerva — Composable Agent Primitives

The infrastructure every agent system needs — without owning your system.

Every agent framework wants to own your stack. Nerva doesn’t. It gives you 8 composable primitives — routing, runtime, tools, memory, policy, and more — that drop into the web framework you already use. No lock-in, no opinions about your HTTP layer, no hidden abstractions. Build your agent system, not the plumbing around it.

Getting Started

Pick your language and build your first agent in 5 minutes.

The 8 Primitives

Everything you need, nothing you don’t. Each primitive is independent, composable, and replaceable.

How It Works

Architecture flow diagram
FastAPI / NestJS / Express (HTTP, auth, sessions, swagger)
└── Nerva (routing, runtime, tools, memory, policy)
└── LLM providers, MCP servers, subprocess agents

What’s in the Box

Each primitive ships with multiple built-in strategies. Pick the one that fits, or write your own.

4 Router Strategies

Embedding similarity, LLM classification, rule-based pattern matching, and hybrid (combine any).

3 Runtime Modes

In-process, subprocess isolation, and container sandboxing — with circuit breakers on all three.

3 Tool Managers

MCP server pools, plain function registries, and composite tool chains.

3 Memory Tiers

Hot (session state), warm (episodes and extracted facts), cold (vector search over history).

3 Responder Types

Plain text, structured JSON, and streaming — each with channel-aware formatting.

3 Registry Backends

In-memory, file-based, and remote (HTTP/gRPC) — all behind the same interface.

3 Policy Engines

Static rules, OPA integration, and LLM-as-judge — stack them for defense in depth.

Next Steps