Uploaded image for project: 'Network Edge'
  1. Network Edge
  2. NE-2447

Implement inspect_route MCP tool

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • None
    • None
    • None
    • None
    • NI&D Sprint 284

      Description

      Implement the foundational set of read-only NIDS diagnostic tools using native Go libraries (client-go). These tools provide safe, non-mutating inspection of Ingress and DNS resources on a live cluster. This execution replaces the previous CLI-wrapper approach with a robust, product-ready Go implementation.

      Goals

      1. Create, or adopt, a Go-based MCP server skeleton.
      2. Implement inspection tools for Route, Service, Endpoints, and CoreDNS.
      3. Ensure strict read-only execution.

      Tool Definitions

      1. inspect_route

      • Description: Retrieve the Route resource and attempt to inspect the associated Service and Endpoints to build a complete view of the ingress path.
      • Input Schema:
        {
          "type": "object",
          "properties": {
            "namespace": { "type": "string", "description": "Route namespace" },
            "name": { "type": "string", "description": "Route name" }
          },
          "required": ["namespace", "name"]
        }
        
      • Output Schema:
        {
          "route": { /* standard Route object */ },
          "service": { /* standard Service object (spec) */ },
          "endpoints": { /* standard Endpoints object (subsets) */ },
          "error": "string (optional)"
        }
        

      Implementation Steps

      1. If not adopting an existing MCP server project, initialize Go Project:
        • Set up a new Go module/package for the NIDS tools.
        • Import net/http (for MCP), k8s.io/client-go, and controller-runtime (optional, for client convenience).
      2. Implement inspect_route:
        • Logic:
          • Fetch Route object via K8s client.
          • Extract spec.to.name (Service name).
          • Fetch Service object.
          • Fetch Endpoints object for that Service.
          •  
      3. Constraint Checklist:
        • No usage of exec.Command("oc", ...) or exec.Command("dig", ...).
        • Must use structured error handling.

      Acceptance Criteria

      • MCP tool inspect_route matches schema and returns Route+Service+Endpoints details.
      • All implementation is native Go (no shell-outs).

              btofelrh Brett Tofel
              btofelrh Brett Tofel
              None
              None
              None
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: