Quick guide to get the Tetragon MCP Server running.
make dev-setup
make dev-testAccess: http://localhost:30080
make docker-runAccess: http://localhost:8080
helm install tetragon-mcp install/helm/tetragon-mcp/ \
--namespace tetragon-mcp \
--create-namespace# Health check
curl http://localhost:30080/health
# List resources
curl -X POST http://localhost:30080/mcp/v1/resources/list \
-H "Content-Type: application/json" -d '{}'
# Query events
curl -X POST http://localhost:30080/mcp/v1/resources/read \
-H "Content-Type: application/json" \
-d '{"uri": "tetragon://events", "filters": {"limit": 10}}'# Test stdio mode
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' | \
./build/tetragon-mcp --stdio
# With config
./tetragon-mcp --stdio --config examples/dev-config.yaml./tetragon-mcp --stdio --config /path/to/config.yamlCreate config file:
clusters:
- name: "prod"
address: "prod-tetragon.example.com:54321"
auth:
type: "tls"
tls:
cert_file: "/etc/certs/prod.crt"
key_file: "/etc/certs/prod.key"
ca_file: "/etc/certs/ca.crt"
mcp:
address: ":8080"
events:
buffer_size: 50000
retention_seconds: 7200Run: ./tetragon-mcp --config multi-cluster-config.yaml
- Check workloads:
kubectl get pods -n tetragon-mcp - Check logs:
kubectl logs -n tetragon-mcp deployment/tetragon-mcp
- HTTP:
curl http://localhost:30080/health - Stdio: Test with
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' | ./tetragon-mcp --stdio
- kind: Use
http://localhost:30080 - Port-forward:
kubectl port-forward -n tetragon-mcp svc/tetragon-mcp 8080:8080