Model Context Protocol server for OVN-Kubernetes diagnostics and debugging, providing tools for cluster inspection, network analysis, and system troubleshooting
This OVN-Kubernetes MCP server has 28 tools covering Kubernetes cluster inspection, OVN/OVS networking diagnostics, and kernel-level network analysis. STRENGTHS: All 28 tools have descriptions (critical baseline met). All tools are READ_ONLY, reducing security risk. Parameters are typed (schema: objects, string, enum constraints on tcpdump/pwru). WEAKNESSES: Descriptions are terse (avg ~50 chars, well below the 194-char production baseline). Only 6 tools have visible input schemas in the code (tcpdump, pwru, and a few others); many tool schemas are inferred from filenames rather than explicitly visible in tool registration code (e.g., ovn-show, get-conntrack, sos-list-plugins lack visible schema definitions). Several input parameters lack descriptions (e.g., tcpdump's 'interface' param has no description in the visible code). Output schemas are NOT documented, LLMs cannot determine what fields to expect in responses. Error handling is present (errorReporting=true) but guidance is not visible in the code. Tools like 'ovs-vsctl', 'ovs-ofctl', 'ovs-appctl' accept free-form command strings with no validation or constraint documentation, inviting hallucinated or invalid commands.
Get kernel conntrack entries
Get kernel IP configuration
Get kernel iptables rules
Get kernel nftables rules
Get a resource from must-gather data
List Northbound Databases in the must gather path
List resources from must-gather data
Many tools (get-conntrack, get-iptables, get-nft, get-ip, ovn-show, sos-list-plugins, sos-list-commands, must-gather-ovnk-info) lack visible input schemas in source code. Tool definitions appear to be inferred from filenames and descriptions rather than explicitly registered with schema structures.
Three tools (ovs-vsctl, ovs-ofctl, ovs-appctl) accept unconstrained 'command' string parameters with minimal description. LLMs will hallucinate invalid OVS commands. These tools need enum constraints, format documentation, or validation with detailed error messages.
Descriptions are uniformly terse (avg ~45 chars, ranging from 30 - 60). Production baseline is 194 chars. Current descriptions lack context for when LLMs should select each tool, especially for overlapping tools (e.g., difference between sos-get-command, sos-get-pod-logs, and pod-logs).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 60 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 43 | - | v1 |
List Southbound Databases in the must gather path
Get OVN-Kubernetes information from must-gather data
Get pod logs from must-gather data
Query the database for the given database name, table, where, and columns
Get OVN database records
List OVN logical flows
Show OVN database information
Trace packet flow through OVN
Execute OVS appctl commands
Execute OVS ofctl commands
Execute OVS vsctl commands
Retrieve logs from a pod in the cluster
Trace packet journey through kernel
Get a Kubernetes resource
List Kubernetes resources
Get sosreport command output
Get sosreport pod logs
List sosreport available commands
List available sosreport plugins
Search sosreport commands
Capture network traffic with tcpdump
Output schemas are NOT documented anywhere in the visible code. LLMs cannot determine what fields to expect in responses, preventing proper tool chaining and downstream field selection.
Tool names like 'get-conntrack', 'get-iptables', 'get-nft' use hyphens instead of underscores and are generic. The rubric recommends verb_noun style (get_conntrack_entries); current names conflate resource discovery with network debugging intent.
No pagination support visible in list tools (resource-list, sos-list-plugins, sos-list-commands). Without limit/offset and total_count, LLMs cannot handle large result sets and risk context window exhaustion.
Error handling is declared (errorReporting=true) but no error message templates or recovery guidance are visible in the tool code. When tools fail, LLMs receive no actionable guidance for retry or alternative steps.