MCP Server
The MCP Server exposes typed tools via the Model Context Protocol. Built with FastMCP, it registers 64 tools with @mcp.tool() decorators. Tool execution is schema-validated. Execution runs inside the MCP server container.
Tool Categories
| Category | Count | Description |
|---|---|---|
| kubectl | 22 | Discovery, logs, exec, apply, diff, scale, rollout |
| helm | 16 | Search, install, upgrade, rollback, list, status |
| Argo Rollouts | 13 | Pause, resume, promote, abort, retry |
| Jenkins CI | 13 | Jobs, builds, logs, SCM, identity |
Execution Model
- CLI tools (kubectl, helm): Run as async subprocesses. Output captured and returned to the Engine.
- Jenkins: Uses httpx client. Credentials resolved from Kubernetes Secrets. Secure auth and CSRF handling.
Tool Annotations
Tools use annotations to drive approval policy:
- readOnlyHint: Read-only tool. No approval required. Executes immediately.
- destructiveHint: Mutating or destructive. Requires explicit approval before execution.
The Engine checks these hints and routes mutating tools through the approval gate.
Transport
Streamable HTTP transport for Engine communication. Pydantic-validated parameters with Field descriptions for schema generation.
Health Check
GET /mcp/v1/health returns server status. Used by the Engine and Controller for liveness probes.
