naftiko: "1.0.0-alpha1" info: label: "Traefik Mesh Operations" description: "Unified workflow capability for operating and debugging a Traefik Mesh service mesh deployment. Combines controller configuration, topology inspection, and node health monitoring for platform engineers and site reliability engineers managing Kubernetes service meshes." tags: - Kubernetes - Service Mesh - Operations - Observability - Traefik created: "2026-05-03" modified: "2026-05-03" binds: - namespace: env keys: TRAEFIK_MESH_CONTROLLER_IP: TRAEFIK_MESH_CONTROLLER_IP capability: consumes: - import: traefik-mesh-controller location: ./shared/controller-api.yaml exposes: - type: rest port: 8080 namespace: traefik-mesh-operations-api description: "Unified REST API for Traefik Mesh operations, status monitoring, and configuration inspection." resources: - path: /v1/configuration/current name: configuration description: "Current dynamic routing configuration from the mesh controller." operations: - method: GET name: get-configuration description: "Retrieve the live dynamic Traefik configuration built by the mesh controller." call: "traefik-mesh-controller.get-current-configuration" outputParameters: - type: object mapping: "$." - path: /v1/topology/current name: topology description: "Current mesh topology showing all services and pods." operations: - method: GET name: get-topology description: "Retrieve the current mesh topology as seen by the controller." call: "traefik-mesh-controller.get-current-topology" outputParameters: - type: object mapping: "$." - path: /v1/nodes name: nodes description: "Traefik Mesh proxy nodes status." operations: - method: GET name: list-nodes description: "List all Traefik Mesh proxy nodes and their readiness." call: "traefik-mesh-controller.get-mesh-nodes" outputParameters: - type: array mapping: "$." - path: /v1/nodes/{node}/configuration name: node-configuration description: "Configuration of a specific mesh proxy node." operations: - method: GET name: get-node-configuration description: "Get the Traefik configuration running on a specific proxy node." call: "traefik-mesh-controller.get-mesh-node-configuration" with: node: "rest.node" outputParameters: - type: object mapping: "$." - path: /v1/health/readiness name: readiness description: "Controller readiness health check." operations: - method: GET name: check-readiness description: "Check if the Traefik Mesh controller is started and ready." call: "traefik-mesh-controller.get-readiness" outputParameters: - type: string mapping: "$." - type: mcp port: 9090 namespace: traefik-mesh-operations-mcp transport: http description: "MCP server for AI-assisted Traefik Mesh operations, configuration inspection, and mesh health monitoring." tools: - name: get-mesh-configuration description: "Retrieve the live dynamic Traefik configuration built by the mesh controller. Use this to inspect active routing rules, middlewares, and services." hints: readOnly: true idempotent: true call: "traefik-mesh-controller.get-current-configuration" outputParameters: - type: object mapping: "$." - name: get-mesh-topology description: "Retrieve the current mesh topology showing all discovered Kubernetes services and pods participating in the mesh." hints: readOnly: true idempotent: true call: "traefik-mesh-controller.get-current-topology" outputParameters: - type: object mapping: "$." - name: list-proxy-nodes description: "List all Traefik Mesh proxy nodes running in the cluster and their readiness status." hints: readOnly: true idempotent: true call: "traefik-mesh-controller.get-mesh-nodes" outputParameters: - type: array mapping: "$." - name: get-proxy-node-configuration description: "Get the active Traefik configuration on a specific mesh proxy node by its Kubernetes pod name." hints: readOnly: true idempotent: true call: "traefik-mesh-controller.get-mesh-node-configuration" with: node: "tools.node" outputParameters: - type: object mapping: "$." - name: check-mesh-readiness description: "Check whether the Traefik Mesh controller is started and ready to handle mesh configuration." hints: readOnly: true idempotent: true call: "traefik-mesh-controller.get-readiness" outputParameters: - type: string mapping: "$."