klaus
An MCP server that wraps Claude Code to run AI coding agents inside Kubernetes.
Overview
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) |
Extension system
Klaus supports the full Claude Code extension surface, configured via Helm values, klausctl config, or operator CRDs:
- Skills -- Domain knowledge loaded as
SKILL.md files
- Subagents -- Specialized agents for task delegation
- Hooks -- Lifecycle hooks for validation and automation
- MCP Servers -- External tool integrations
- Plugins -- OCI-distributed extension bundles
Quick start
export ANTHROPIC_API_KEY=sk-ant-...
klaus serve
# MCP endpoint available at http://localhost:8080/mcp
Or with Docker:
docker run -d -p 8080:8080 -e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY gsoci.azurecr.io/giantswarm/klaus:latest serve
Or deploy to Kubernetes:
helm install klaus helm/klaus/ -n klaus \
--set anthropicApiKey.secretName=anthropic-api-key
Documentation
Full 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 |
Development
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 |
License
Apache 2.0