Skip to main content
Glama

list_ako_ingresses

Read-onlyIdempotent

List all Kubernetes Ingresses across namespaces, showing namespace, name, hosts, and IngressClass to identify resources for further AKO checks or diagnostics.

Instructions

[READ] Inventory Kubernetes Ingresses across all namespaces.

Returns Namespace, Ingress name, Host(s) and IngressClass per Ingress. Start here for namespace and Ingress names, then pass them to check_ako_ingress or diagnose_ako_ingress. Lists the K8s side only — use diff_ako_sync for Ingresses with no Controller object.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
contextNoK8s context name (optional).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.4.0

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the [READ] prefix is largely redundant. However, the description adds real behavioral context beyond them: the scope is all namespaces and the result covers 'the K8s side only', which warns the agent that Controller-side objects are absent. Pagination and auth needs remain unstated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then returns, then routing; each sentence steers decision-making. The field enumeration is somewhat redundant with the existing output schema and the '[READ]' tag duplicates annotations, so a small amount of text could be trimmed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a rich annotation set, an output schema covering return fields, and a single optional parameter, the description supplies everything else needed: scope, the K8s-vs-Controller boundary, and the follow-up tool path. Nothing required for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single optional 'context' parameter is documented in the schema at 100% coverage ('K8s context name (optional)'), so the baseline of 3 applies. The description adds nothing about the parameter, such as whether omitting it uses the current context, though for one optional arg this is a minor gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Inventory Kubernetes Ingresses across all namespaces') and enumerates the returned fields (Namespace, Ingress name, Host(s), IngressClass). It is immediately distinguishable from siblings like list_virtual_services and list_ako_clusters.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly positions itself as the entry point ('Start here ... then pass them to check_ako_ingress or diagnose_ako_ingress') and names when to use a different tool ('use diff_ako_sync for Ingresses with no Controller object'). Both the primary flow and an alternative branch are covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.