Skip to content
@jamjet-labs

JamJet

Agents that don't lose control. Safety layer for AI agents: policy, audit, approval, recovery, cost, memory. Works with any framework via MCP/A2A.
JamJet

JamJet

Agents that don't lose control.

The safety layer behind your AI agents: policy, audit, approval, recovery, cost, and memory. Open source. Apache 2.0.

PyPI Maven Central Docker License Discord

jamjet.dev · docs · compare · showcase · blog


Not another agent framework

Keep your stack. Slot JamJet under it.

┌──────────────────────────────────────────────────────────┐
│  your agent framework                                    │
│  LangGraph · CrewAI · ADK · OpenAI Agents · Spring AI    │
└──────────────────────────────────────────────────────────┘
                            │
┌──────────────────────────────────────────────────────────┐
│  JamJet safety layer                                     │
│  policy · audit · approval · recovery · cost · memory    │
└──────────────────────────────────────────────────────────┘
                            │
┌──────────────────────────────────────────────────────────┐
│  models · tools · MCP · A2A                              │
│  Claude · OpenAI · Gemini · Postgres · your APIs         │
└──────────────────────────────────────────────────────────┘

The runtime sits between your agent and everything it touches. Every interaction passes through a layer that can block, wait, replay, and record. You don't have to leave LangGraph or CrewAI or whatever's already working. JamJet wraps what's there.


Six failure modes. Six gates.

# Failure mode What JamJet does
01 Lost progress: a worker dies mid-run Replays the event log, resumes at the failed node
02 Unsafe tool: an agent reaches for a tool it shouldn't 4-level policy hierarchy blocks the call before execution
03 Skipped approval: a high-risk action with no human gate Run pauses, survives restarts, decision lands in audit
04 Runaway cost: a reflection loop that won't stop Halts before crossing the cap
05 Missing audit: compliance asks what happened Signed, exportable evidence package per run
06 Forgotten context: agent loses memory across sessions Engram surfaces durable facts, not raw chat history

The repos

Core runtime

  • jamjet: Rust runtime core + Python SDK. Workflow IR, durable executor, MCP client, A2A server, eval harness, CLI.

JVM

  • jamjet-runtime-java: Pure-Java agent runtime. Durable execution, crash recovery, MCP native. No sidecar.
  • jamjet-spring: Spring Boot starter. Drop into a Spring AI app and get crash recovery, audit, replay testing, and HITL gates.
  • java-ai-memory: Neutral comparison of agent memory libraries for the JVM.

Memory

  • engram-mcp-server: Durable memory MCP server. Temporal knowledge graph, hybrid retrieval, SQLite or PostgreSQL. Ships with the SDK; runs standalone.

Protocols

  • jamjet-a2a: Standalone Rust SDK for the A2A v1.0 protocol. Client, server, coordinator, MCP bridge.

Resources


Recently shipped


Get started

Python

pip install jamjet
jamjet init my-agent --template hello-agent
cd my-agent && jamjet dev

Java / Spring

<dependency>
  <groupId>dev.jamjet</groupId>
  <artifactId>jamjet-spring-boot-starter</artifactId>
</dependency>

→ Quickstart (60s) · Compare frameworks · Why JamJet


Open source · Apache 2.0 · jamjet.dev · Discord · @jamjetdev

Pinned Loading

  1. jamjet-examples jamjet-examples Public

    Ready-to-run JamJet workflow examples

    Python 1

  2. jamjet-benchmarks jamjet-benchmarks Public

    JamJet benchmarks, migration guides, and feature comparisons vs LangGraph, CrewAI, and others

    Python

  3. jamjet jamjet Public

    The open-source safety layer for AI agents — block unsafe tool calls, gate destructive ops, enforce budgets, keep audit trails, replay failed runs.

    Rust 10 4

Repositories

Showing 10 of 12 repositories

Top languages

Loading…

Most used topics

Loading…