Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"crio-mcp-server": {
"command": "<see-readme>",
"args": []
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
This repository defines a couple of Model Context Protocol tools for debugging OpenShift nodes and collecting logs. The tools are implemented in pkg/sdkserver/tools.go and can be registered with any MCP server built using the mcp-go SDK.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in devops
MCP server for using the GitLab API
All-in-One Sandbox for AI Agents that combines Browser, Shell, File, MCP and VSCode Server in a single Docker container.
A Unified MCP Server Management App (MCP Manager).
MCP Server for kubernetes management commands
MCP Security Weekly
Get CVE alerts and security updates for Crio Mcp Server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
This repository defines a couple of Model Context Protocol tools for debugging OpenShift nodes and collecting logs. The tools are implemented in pkg/sdkserver/tools.go and can be registered with any MCP server built using the mcp-go SDK.
import (
"github.com/harche/crio-mcp-server/pkg/sdkserver"
"github.com/mark3labs/mcp-go/server"
)
s := server.NewMCPServer("demo", "1.0.0")
sdkserver.RegisterTools(s)
debug_nodeRuns oc debug on a specified node and executes arbitrary shell commands inside the temporary debug pod.
Arguments:
node_name (string, required) – node to debugcommands (array of string) – commands executed in the pod (defaults to journalctl --no-pager -u crio)collect_files (bool) – when true, files listed in paths are returned as a tarball resourcepaths (array of string) – file or directory paths to copy from the hostWhen collect_files is enabled, the tool returns a application/tar+gzip archive containing the specified paths.
collect_node_logsStreams systemd journal and container runtime logs from a node using oc adm node-logs.
Arguments:
node_name (string, required) – target nodesince (string) – RFC3339 timestamp or relative value accepted by journalctlcompress (bool) – if true, return logs as a gzip tarball instead of inline text
The zipped data is returned as a blob resource named node-logs-<node>.txt.gz.analyze_pprofRuns go tool pprof with the supplied arguments to inspect CPU or memory profiles. Refer to go tool pprof -h for the full set of options.
Arguments:
args (array of string, required) – command-line arguments passed directly to go tool pprofcollect_must_gatherRuns oc adm must-gather to capture cluster information. Create a temporary directory and pass it using dest_dir to keep all gathered data in one location. Explore oc adm must-gather -h for the full set of options.
oc adm must-gather can scoop up almost every artifact engineers or support need in a single shot: it exports the full YAML for all cluster-scoped and namespaced resources (Deployments, CRDs, Nodes, ClusterOperators, etc.); captures pod and container logs as well as systemd journal slices from each node to trace runtime crashes or OOMs; grabs API-server and OAuth audit logs for security or compliance forensics; collects kernel, cgroup, and other node sysinfo plus tuned and kubelet configs for performance tuning; optionally runs add-on scripts such as gather_network_logs to archive iptables/OVN flows and CNI pod logs, or gather_profiling_node to fetch 30-second CPU and heap pprof dumps from both kubelet and CRI-O for hotspot analysis; and, through plug-in images, can extend to operator-specific data like storage states or virtualization metrics, ensuring one reproducible tarball contains configuration, logs, network traces, performance profiles, and security audits for thorough offline debugging.
Arguments:
dest_dir (string) – local directory where the must-gather output is storedextra_args (array of string) – additional flags forwarded to oc adm must-gatherThese helpers can be integrated into a custom MCP server or used directly with the mcp-go SDK.
collect_sosreportRuns sosreport inside a debug pod using toolbox. This captures detailed diagnostics from a node. Provide a Red Hat case ID if available.
Arguments:
node_name (string, required) – node from which to gather the reportcase_id (string) – optional support case identifier passed to sosreportrun_crictlRuns crictl inside a debug pod to interact directly with the node's container runtime. Use the -h flag on any subcommand for help.
crictl is the lightweight command-line client from the cri-tools project that speaks the Kubernetes Container Runtime Interface (CRI) directly. Because it talks to the node’s container runtime (CRI-O, containerd, et