- Home
- MCP servers
- Karma
Karma
- python
1
GitHub Stars
python
Language
4 months ago
First Indexed
3 weeks ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Karma MCP Server lets Claude connect to your Karma Alert Dashboard so you can ask natural language questions, search across multiple Kubernetes clusters, and get AI-powered insights and actions on your alerts. It bridges your Karma setup with Claude Desktop or any MCP-compatible client, turning alerts into interactive intelligence for faster incident response and better situational awareness.
How to use
You use an MCP client to talk with Karma MCP Server. Connect your client to Karma, then ask questions like “Show me all critical alerts in production” or “Which pods are crash looping?” The server lists alerts with severity and cluster information, supports multi-cluster searches, and provides insights and runbooks. You can also perform routine checks or get detailed alert information directly from your conversation.
How to install
Prerequisites: you need Python and a running Karma instance. You will also use the UV tool (a modern alternative to npm scripts) to run the MCP server locally.
# Install UV if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh
# Clone and install
git clone https://github.com/driosalido/karma-mcp.git
cd karma-mcp
uv sync --all-extras
# Optional: Install Just task runner for easier development
brew install just # macOS
# See: https://github.com/casey/just#installation for other platforms
Next, configure Claude Desktop, Claude Code, or Cursor to connect to Karma MCP Server. You will use a stdio-based setup that runs the MCP server locally.
{
"mcpServers": {
"karma": {
"command": "uv",
"args": ["run", "python", "-m", "karma_mcp.server"],
"cwd": "/path/to/karma-mcp",
"env": {
"KARMA_URL": "http://your-karma-instance:8080"
}
}
}
}
If you prefer a remote HTTP MCP server instead, connect using a transport that supports server-sent events (SSE) and specify the endpoint URL provided by the remote server.
{
"mcpServers": {
"karma": {
"transport": {
"type": "sse",
"url": "https://your-karma-mcp-server.com/mcp/sse"
}
}
}
}
Additional setup and startup steps
Connect to Karma from your local machine or Kubernetes environment. If Karma runs in Kubernetes, you can port-forward the Karma service to your local machine.
# If Karma is in Kubernetes
kubectl port-forward svc/karma 8080:80 -n monitoring
# Or set the Karma URL directly
export KARMA_URL=http://your-karma-instance:8080
Running and testing
Start Claude Desktop or your MCP client, then initiate conversations about your alerts. You can test connectivity and available commands using the provided MCP tools to list alerts, summarize state, or search by cluster.
Docker installation
You can run Karma MCP Server in a Docker container for easy deployment.
# Using pre-built image
docker run -d \
-e KARMA_URL=http://your-karma:8080 \
-p 8000:8000 \
driosalido/karma-mcp:latest
# Or build locally
docker build -f docker/Dockerfile -t karma-mcp .
docker run -d -e KARMA_URL=http://karma:8080 karma-mcp
Kubernetes deployment
Deploy the MCP server in your Kubernetes cluster and configure it to reach your Karma instance.
# Deploy using Docker image
kubectl create deployment karma-mcp \
--image=driosalido/karma-mcp:latest
kubectl set env deployment/karma-mcp \
KARMA_URL=http://karma.monitoring:80
Notes and tips
The server includes a set of MCP tools for Claude to perform common alerting tasks, and it supports multi-cluster analysis and cross-cluster comparisons. Ensure KARMA_URL is reachable from the MCP client, and use the multi-cluster search features to gain a broad view of your alerts.
Troubleshooting
If you encounter connectivity issues, verify KARMA_URL is correct and reachable from your MCP client. Check that the Karma instance allows connections from the MCP server and that any required ports are open.
Available tools
check_karma
Verify Karma connectivity to ensure the MCP server can reach the Karma instance.
list_alerts
List all active alerts with details such as severity and cluster.
get_alerts_summary
Provide a statistical summary of alerts by severity and state.
get_alert_details
Show detailed information about a specific alert.
list_clusters
List all Kubernetes clusters with alert counts.
list_alerts_by_cluster
Filter alerts by a specific cluster.
list_active_alerts
Show only currently firing alerts.
list_suppressed_alerts
Show alerts that are silenced or inhibited.
get_alerts_by_state
Filter alerts by state such as active, suppressed, or all.
search_alerts
Search alerts by name pattern.
silence_alert
Create or manage alert silences.