MCP Server Overview
The KubeOpera MCP Server exposes all platform capabilities to any MCP-compatible AI client — including Claude Desktop, Claude Code, and custom agent frameworks. It is a fork of containers/kubernetes-mcp-server with a custom kubeopera toolset plugin.
What Is MCP?
The Model Context Protocol (MCP) is an open standard that allows AI models to call tools provided by external servers. Clients connect to MCP servers over stdio (or HTTP+SSE for remote servers) and discover available tools at runtime.
The KubeOpera MCP server most commonly runs over stdio transport — the AI client launches the server as a subprocess and communicates via stdin/stdout, which needs no network configuration and is the simplest way to run it locally against Claude Desktop or Claude Code. Because this is a fork of the upstream kubernetes-mcp-server, it also inherits that project's --port flag for running as a standalone streamable-HTTP/SSE server when you need the MCP server reachable over the network rather than launched as a per-client subprocess — see Configuration for both modes.
Available Tools
The kubeopera toolset exposes 49 tools across five categories. The four below were the original set; three more toolset groups (App Advisor, observability gap-fill, and GitOps) were added since and are easy to miss if you're working from an older mental model of what's available — the full tool reference is the definitive list.
Read-Only Data Tools (21)
These tools query live data from KubeOpera services. They are marked ReadOnlyHint: true.
| Tool | Description |
|---|---|
get_cluster_health | Cluster health score, node status, pod counts, API latency |
get_cluster_cost | Cost breakdown by namespace, workload, and resource type |
get_optimization_report | Over-provisioned and idle workload recommendations |
get_pod_metrics | Per-pod CPU and memory usage |
get_node_metrics | Per-node CPU, memory, and disk metrics |
get_security_posture | Compliance score, vulnerability counts, RBAC findings |
get_pipeline_status | CI/CD run history, success rate, failed stages |
get_cluster_list | All registered clusters with health and node data |
get_anomaly_events | Anomaly events with Z-score, severity, remediation status |
get_scaling_forecasts | Holt-Winters load forecasts and scaling recommendations |
get_incidents | Active and recent incidents with MTTR and runbook status |
get_multi_cluster_overview | Aggregated health, cost, and incident count across all clusters |
get_agent_telemetry | Recent telemetry snapshots from the observability agent |
get_analysis_results | Statistical analysis results with risk scores and decisions |
get_action_log | Automated Kubernetes action log with outcomes |
get_feedback_outcomes | Feedback signals showing whether actions improved cluster state |
get_recommendations | AI-generated recommendations from the recommendation agent |
Agent Launcher Tools (4)
These tools trigger a reasoning agent run and return a run_id for tracking.
| Tool | Agent triggered | Description |
|---|---|---|
run_sre_agent | SRE Orchestrator (Sonnet 4.6) | Full cluster investigation with all 17 tools |
run_security_agent | Security Auditor (Haiku 4.5) | Security posture analysis and recommendations |
run_cost_agent | Cost Optimizer (Haiku 4.5) | Cost savings analysis and scaling review |
run_incident_agent | Incident Responder (Sonnet 4.6) | Incident triage and runbook generation |
App Advisor Tools (3)
| Tool | Description |
|---|---|
get_app_profile | An app's discovered domain profile — tenant-scoped, not cluster-wide |
get_app_advice | SRE-style advice for a specific app |
run_app_advisor_agent | Triggers a full App Advisor investigation for one app |
Observability Gap-Fill Tools (5)
Filling in signal types the original 21 read-only tools didn't cover:
| Tool | Description |
|---|---|
get_logs | Pod/deployment logs via log-gateway |
get_slo_status | SLO compliance and error-budget burn |
get_apm_metrics | Application performance metrics via apm-gateway |
get_traces | Distributed traces via tracing-gateway |
get_rca_analysis | Root-cause analysis results |
GitOps Tools (4)
| Tool | Description |
|---|---|
sync_argocd_app | Trigger an Argo CD app sync |
get_argocd_app_status | Argo CD app sync/health status |
push_gitops_patch | Commit a patch to a GitOps repository |
trigger_flux_reconcile | Force a Flux Kustomization reconcile |
Quick Start
Install
# Build from source
git clone https://github.com/ochestra-tech/kubeopera-mcp-server
cd kubeopera-mcp-server
go build -o kubeopera-mcp-server ./cmd/server
# Or download a pre-built binary
curl -L https://releases.kubeopera.io/mcp-server/latest/kubeopera-mcp-server -o kubeopera-mcp-server
chmod +x kubeopera-mcp-server
Claude Desktop Integration
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"kubeopera": {
"command": "/path/to/kubeopera-mcp-server",
"args": ["--toolsets", "kubeopera"],
"env": {
"K8S_MONITOR_BASE_URL": "http://localhost:8085",
"SECURITY_API_BASE_URL": "http://localhost:8086",
"CICD_GATEWAY_BASE_URL": "http://localhost:8087",
"KUBEOPERA_API_BASE_URL": "http://localhost:8080",
"ANOMALY_DETECTOR_BASE_URL": "http://localhost:8088",
"PREDICTIVE_SCALER_BASE_URL": "http://localhost:8089",
"INCIDENT_MANAGER_BASE_URL": "http://localhost:8090",
"OBSERVABILITY_AGENT_SRV_BASE_URL": "http://localhost:8092",
"ANALYSIS_AGENT_SRV_BASE_URL": "http://localhost:8093",
"ACTION_AGENT_SRV_BASE_URL": "http://localhost:8094",
"FEEDBACK_AGENT_SRV_BASE_URL": "http://localhost:8095",
"RECOMMENDATION_AGENT_SRV_BASE_URL": "http://localhost:8096",
"AGENT_RUNTIME_BASE_URL": "http://localhost:8097",
"NODES_MANAGER_BASE_URL": "http://localhost:8115",
"LOG_GATEWAY_BASE_URL": "http://localhost:3100",
"SLO_MANAGER_BASE_URL": "http://localhost:9090",
"APM_GATEWAY_BASE_URL": "http://localhost:9090",
"TRACING_GATEWAY_BASE_URL": "http://localhost:16686",
"RCA_ENGINE_BASE_URL": "http://localhost:8116",
"KUBEOPERA_AI_BASE_URL": "http://localhost:8113",
"APP_ADVISOR_BASE_URL": "http://localhost:8105"
}
}
}
}
Restart Claude Desktop. The KubeOpera tools will appear in the tool list.
Claude Code Integration
# Add to your project's .claude/mcp.json or use the CLI
claude mcp add kubeopera \
--command /path/to/kubeopera-mcp-server \
--args "--toolsets kubeopera" \
--env K8S_MONITOR_BASE_URL=http://localhost:8085
Test the Connection
# List all available tools
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | \
K8S_MONITOR_BASE_URL=http://localhost:8085 \
./kubeopera-mcp-server --toolsets kubeopera
# Call a specific tool
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_cluster_health","arguments":{}}}' | \
K8S_MONITOR_BASE_URL=http://localhost:8085 \
./kubeopera-mcp-server --toolsets kubeopera
Example Prompts with MCP
Once connected to Claude Desktop or Claude Code, you can ask natural language questions:
- "What is the current health of my cluster and what are the top 3 issues?"
- "Run a full SRE investigation on cluster prod-us-east"
- "What Kubernetes cost optimizations can I make this week?"
- "Are there any active security vulnerabilities I should be aware of?"
- "Show me the CI/CD pipeline history for the last 24 hours"
- "What anomalies has the system detected and what actions were taken?"