An MCP server that wraps Claude Code to run AI coding agents inside Kubernetes.
Klaus runs the Claude Code CLI as a managed subprocess and exposes it over HTTP as a Streamable HTTP MCP endpoint. This allows orchestrating AI coding agents in Kubernetes with proper lifecycle management, health checks, and optional OAuth authentication.
MCP Client --> /mcp --> MCP Server --> Prompter --> Claude Code CLI (subprocess)
| Tool | Description |
|---|---|
prompt |
Send a task to the Claude agent. Non-blocking by default (set blocking=true to wait for completion). |
status |
Query agent state, progress, and result. Returns completed with result when a non-blocking task finishes. |
stop |
Terminate the running agent |
result |
Get full untruncated result and message history from the last run (debugging tool) |
Klaus supports the full Claude Code extension surface, configured via Helm values, klausctl config, or operator CRDs:
- Skills -- Domain knowledge loaded as
SKILL.mdfiles - Subagents -- Specialized agents for task delegation
- Hooks -- Lifecycle hooks for validation and automation
- MCP Servers -- External tool integrations
- Plugins -- OCI-distributed extension bundles
export ANTHROPIC_API_KEY=sk-ant-...
klaus serve
# MCP endpoint available at http://localhost:8080/mcpOr with Docker:
docker run -d -p 8080:8080 -e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY gsoci.azurecr.io/giantswarm/klaus:latest serveOr deploy to Kubernetes:
helm install klaus helm/klaus/ -n klaus \
--set anthropicApiKey.secretName=anthropic-api-keyFull documentation is available in the docs/ directory, organized by the Diataxis framework:
| Section | Purpose |
|---|---|
| Tutorials | Step-by-step guides to get started |
| How-to Guides | Task-oriented guides for specific goals |
| Reference | Technical specifications (env vars, MCP tools, Helm values) |
| Explanation | Architecture, design, and background context |
See docs/development.md for local setup, building, and testing.
| Repository | Description |
|---|---|
| klaus-operator | Kubernetes operator for dynamic instance management |
| klausctl | CLI for managing local klaus containers |