kagent

Build, secure, and manage agents at scale on Agent Substrate!

A CNCF Sandbox Project

kagent gives platform teams one place to deploy, manage and govern AI agents on Kubernetes. Orchestrated by kagent, Agent Substrate runs each one in its own sandbox, puts it to sleep while it waits, and wakes it in as little as 150ms.

kagent

Agents

Overview

An agent consists of one template (describing what it does), plus one harness (describing where and how it runs).

Each chat you start belongs to that agent.

These map to Agent Substrate concepts. A harness draws on a pool of workers, and each session runs as an actor scheduled onto one of them.

15 of 15 agents
assistantClick here to chatGeneral-purpose assistant (low priority).kagentInlinelowReady1 conversation
assistant-highGeneral-purpose assistant (high priority).kagentInlinehighReady2 conversations
assistant-mediumGeneral-purpose assistant (medium priority).kagentInlinemediumReady0 conversations
billing-opsInvestigates failed payments and refund requests. Every write needs a human approval.kagentbilling-opssecureReady2 conversations
cve-watchWatches upstream advisories and opens tracking issues for affected repos.kagentcve-watchlowReady1 conversation
design-to-codeTurns Figma frames into React components and opens the pull request.kagentdesign-to-codeclaude-codeReady1 conversation
docs-librarianAnswers questions from internal Notion pages, public repo wikis and live library docs, with citations.kagentdocs-librarianlong-contextReady1 conversation
jira-triageSorts new Jira issues, links duplicates, finds the owning repo and suggests a priority.kagentjira-triagelowReady1 conversation
k8s-cost-optimizerFinds idle and over-provisioned workloads and proposes right-sizing PRs.kagentk8s-cost-optimizermediumReady1 conversation
local-llm-assistantA private assistant on a local Ollama model, so no data leaves the cluster.kagentlocal-llm-assistantlowReady1 conversation
model-scoutFinds and compares open models and datasets on Hugging Face for a given task.kagentmodel-scoutlowReady1 conversation
platform-orchestratorRoutes platform requests to the right specialist agent and stitches the answers together.kagentplatform-orchestratorhighReady1 conversation
pr-reviewerReviews pull requests against the team rubric and checks API usage against current library docs.kagentpr-reviewermediumReady2 conversations
release-notes-writerDrafts release notes from merged PRs and Linear issues and posts them to Slack.kagentrelease-notes-writerlowReady1 conversation
sre-incident-commanderTriages alerts, correlates metrics and errors, and drafts the mitigation for an on-call human to approve.kagentsre-incident-commandersecureReady2 conversations

Click any agent to chat with it.

This is a live demo. Click around.

This is the kagent UI, and you can click around in it. Open an agent to chat, approve or reject its actions, or leave it idle and watch it suspend.

Powered by

Agent Substrate

The open-source runtime under every kagent agent: sandboxed, suspended when idle, resumed on the next message.

Sub-second resume

Agent Substrate restores a suspended actor onto a warm worker. The scheduler never sees it.

Calculate your wake-up time →
Isolated sandbox by default

Agent Substrate gives every actor and every harness its own sandbox. Egress starts closed.

10×

higher agent density on Agent Substrate than on standard container runtimes.

Size your agents

See how long your agents take to wake up on Agent Substrate, and the CPU, memory and storage they need.

Open the calculator

Run thousands of agents on a few pods

Agents aren't microservices or batch jobs. They hold state, wait most of the time, and run code you didn't write. A pod per agent pays for every idle minute. Agent Substrate packs them onto a few warm workers and puts the idle ones to sleep.

Asleep when idle, back in milliseconds

When an agent waits on a person or a model, Agent Substrate snapshots it to storage and frees its worker. The next request goes through the atenet router, and the agent resumes on whichever warm worker has room.

Here, every agent in the grid shares the same four warm pods.

Click any dim square to send that agent a request.

ACTORS144 agents · 4 running · 140 asleep
hover an actor, click to wake it
⇄atenet router
WARM WORKER PODS4 pods · 1 active actor each
worker-1
actor/adk-195
running in sandbox
worker-2
actor/browser-128
running in sandbox
worker-3
actor/docs-61
running in sandbox
worker-4
actor/agent-57
running in sandbox
running resuming suspending suspended

Sandboxed by default

Every conversation runs in its own gVisor sandbox or microVM. No ambient credentials, no network unless an EgressPolicy allows it.

gVisor sandboxessandbox-1sandbox-2sandbox-3egress gatewayapi.anthropic.commcp.atlassian.com✕169.254.169.254✕pastebin.com

Uses the tools you already have

Connect any MCP server: GitHub, Atlassian, Figma, Slack, Notion, Linear, Sentry, Stripe, Hugging Face and more.

GitHubJiraFigmaSlackNotionLinearSentryStripeGrafanaHugging FaceRemoteMCPServers · tools discovered automatically

Agents that work together

Give one agent others as subagent tools. It hands off the work, each subagent runs in its own sandbox, and the answers come back stitched together.

Cost OptimizerIncident CommanderDocs Librarianplatform-orchestrator
Asking Cost Optimizer…
How it works

kagent decides what.
Agent Substrate decides where.

Three resources, applied with kubectl or GitOps. kagent compiles them; Agent Substrate runs them, with the Kubernetes API off the request path.

Read the core concepts →
what

AgentTemplate

The model, the prompt, the MCP tools, skills and plugins. What the agent does, owned by kagent.

claude-sonnetmodel
MCP tools
Agent templates →
where

Harness

The runtime, the warm WorkerPool and where snapshots go. How and where the agent runs, handed to Agent Substrate.

WorkerPool · kagent-high● warm
pod-0
pod-1
pod-2
gVisor sandboxsnapshots
Harnesses →
pair

Agent

Joins one template to one harness. Callers reach it over A2A or MCP, and every chat becomes a sandboxed Session.

one Agent · many sandboxed sessions
Core concepts →
Zero trust for agents

Every agent has an identity, but no credentials, no open network, and no way out.

Each conversation runs as its own sandboxed actor, while thousands of them share a small pool of workers.

Read about the runtime →
identity

A verified identity per agent

Each actor proves who it is with a certificate, and can present an Actor token to the services it calls, so policy follows the agent rather than the pod.

Identity →
no credentials

Zero ambient credentials

Sandboxes hold no API keys. The egress gateway injects credentials into the calls a policy allows, so the agent never sees the secret.

Credential injection →
no open network

Default-deny egress

Every outbound connection goes through the egress gateway and is checked against the agent's EgressPolicy. Anything no rule allows is denied.

Egress policies →
no escape

Sandboxed, single-tenant actors

Each conversation runs in its own gVisor sandbox or microVM, isolated from the host and from every other agent on the same worker.

Sandboxing →

Give each agent a job

Triages alerts, correlates metrics and events, and drafts the mitigation. Nothing changes in production until a human approves it.

Triggered by
PagerDuty · checkout 5xx > 2%
Model
default-model-config
Harness
secure · gVisor
Tools
kagent-tool-serverkagent-grafana-mcp
Explore agent docs
Incident Commander
resuming…

Teams running kagent

Solo.ioAmdocsAu10tixKrateoWelzinCodeWizardCloudRaftSopra Steriaushift
Running kagent? Add your logo →

FAQs

What is Agent Substrate?+

An open-source, Kubernetes-native runtime for agents, originally created by Google and now a CNCF Sandbox project. It runs each agent in its own gVisor sandbox or microVM, suspends idle agents to object storage, and resumes them on any ready worker in as little as 150ms.

How do kagent and Agent Substrate split the work?+

kagent decides what an agent does: its model, prompt, tools and skills, defined in an AgentTemplate. Agent Substrate decides where it runs: which pre-warmed worker, when to suspend it, and where its snapshot lives, configured through a Harness.

Which models can I use?+

OpenAI, Anthropic, Gemini, Vertex AI, Azure OpenAI and AI Foundry, Amazon Bedrock, Mistral, Ollama, and any OpenAI-compatible endpoint such as xAI or Hugging Face.

Can I bring my own agent?+

Yes. A Harness can run kagent's own engine, Claude, Codex, or any container image that speaks kagent's A2A contract.

What happens to a conversation while the agent sleeps?+

The session stays ready. Agent Substrate writes the agent's durable state, including pending approvals, to a snapshot and frees the worker. The next message restores it, usually onto a different worker, and the caller never notices.

How fast does an agent wake up on Agent Substrate?+

In as little as 150ms. Agent Substrate resumes a suspended agent onto any ready worker, and the time depends on the agent's size, the snapshot type and the node's disk. The Agent Substrate calculator shows the wake-up time and the CPU, memory and storage for your agents.

Is it open source?+

Yes. Both kagent and Agent Substrate are Apache 2.0 licensed CNCF Sandbox projects.

Run your first agent

One install, three resources, one conversation.