Kagent is a Kubernetes-native framework for building, deploying, and managing AI agents. It leverages the Kubernetes operator pattern to provide declarative configuration of agents through Custom Resources, supporting multiple LLM providers and agent frameworks while integrating with the Model Context Protocol (MCP) for extensible tooling.
Kagent follows a distributed architecture where a central controller reconciles declarative agent specifications into running Kubernetes workloads. The platform consists of four primary components interacting through the A2A (Agent-to-Agent) protocol and standard Kubernetes APIs.
High-Level Component Interaction
Sources: README.md93-98 DEVELOPMENT.md7-10 go/Makefile121 python/packages/kagent-adk/pyproject.toml50
| Component | Technology | Primary Function |
|---|---|---|
| Controller | Go | Reconciles Agent CRDs, manages session persistence, and proxies A2A traffic README.md95 |
| UI | Next.js / React | Web interface for agent management, chat interaction, and tool configuration ui/package.json48-50 |
| Engine | Python / Go ADK | Executes agent logic using frameworks like Google ADK, LangGraph, or CrewAI python/uv.lock18-22 |
| CLI | Python / Go | kagent-adk CLI for local development, testing, and running agents python/packages/kagent-adk/pyproject.toml50 |
Sources: README.md93-98 DEVELOPMENT.md7-10 python/packages/kagent-adk/pyproject.toml49-50 go/go.mod23-25
Kagent extends the Kubernetes API with Custom Resource Definitions (CRDs) that form the declarative configuration model. These resources allow users to define agents, models, and tools as standard YAML manifests.
Custom Resource Relationships
Sources: README.md71-73 go/Makefile24-26 go/go.mod53-58
declarative (managed) and BYO (Bring Your Own container) modes README.md71The agent runtime (Engine) implements the A2A (Agent-to-Agent) protocol. It handles task execution by wrapping various agent frameworks in a standardized API layer, typically served via FastAPI.
End-to-End Request Pipeline
Sources: python/Dockerfile140 go/go.mod10 python/uv.lock50 python/packages/kagent-adk/pyproject.toml24-25
mcp Python package python/packages/kagent-adk/pyproject.toml21Kagent is a polyglot monorepo managed with a unified Makefile. It uses uv for Python dependency management and Go modules for the control plane.
Build Artifacts
| Image Name | Source Path | Description |
|---|---|---|
controller | go/core/cmd/controller | The main operator and API server Makefile67 |
ui | ui/ | Next.js-based management and chat interface Makefile68 |
kagent-adk | python/packages/kagent-adk | The default Python runtime for declarative agents Makefile70 |
skills-init | python/packages/kagent-skills | Init container for injecting skills into agent pods Makefile73 |
Sources: Makefile53-73 python/pyproject.toml1-2 python/uv.lock11-27
The project is designed for local development using Kind (Kubernetes in Docker).
make create-kind-cluster and make helm-install automate the build and deployment of the entire stack DEVELOPMENT.md45-87pgvector for memory features) for production-like environments DEVELOPMENT.md129-131Sources:
Refresh this wiki
This wiki was recently refreshed. Please wait 1 day to refresh again.