Skip to main content
Glama

Enable cluster gateway API

enable_cluster_gateway_api
Destructive

Turn the Kubernetes Gateway API on for a cluster Ankra built (the twin of ankra cluster gateway-api enable and PUT /api/v1/clusters//{cluster_id}/gateway-api). Idempotent and enable-only. It records the option on the cluster's cloud-provider definition when it is not recorded yet - the platform's networking render then adds the gateway-api-crds addon within a few minutes, or uses a Gateway API CRD bundle the cluster already carries rather than installing over it - and, once the platform reads the CRDs as established, writes the Gateway API keys into the Traefik and cert-manager values through the ordinary stack write (one GitOps commit on a GitOps-backed cluster), keeping every other value the owner wrote; a key the owner set the other way refuses that write and is named under conflicts, so nothing of theirs is overwritten. Every Ingress keeps working; a Gateway is added beside them. It writes nothing to the values while the CRDs are not up, so call it again (or follow get_cluster_gateway_api) until phase is enabled, which is answered only once the platform reads the GatewayClass traefik Accepted and the Gateway traefik-gateway in namespace traefik Programmed on the cluster; until then a written enable reads applying, with the note saying what it waits on. It cannot turn the option off. Refuses a cluster that is not a cloud cluster Ankra built, one without Ankra-managed networking, one carrying only part of the Gateway API CRD bundle, one whose CRDs the platform cannot read yet, an offline cluster and one whose GitOps sync is paused on conflicts, each with the reason. Requires clusters.write.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "enable_cluster_gateway_api"
  }
}

Input Schema

NameRequiredDescriptionDefault
cluster_idNoUUID of the target cluster. Optional when a cluster is selected.
cluster_nameNoExact name of the target cluster. Optional when a cluster is selected.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.9/5.0
Behavior1/5

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

The description asserts 'Idempotent and enable-only', but the annotations declare idempotentHint=false, giving the agent two conflicting signals about whether repeated calls have additional effect. The safety story is also at odds with destructiveHint=true while the text insists nothing of the owner's is overwritten and every Ingress keeps working; the rich secondary detail (CRD wait, conflicts reporting, applying/enabled phases) does not resolve the contradiction at the level the agent reads first.

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

Conciseness3/5

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

The operative verb and scope are front-loaded, which is good, but the entire body is one ~230-word sentence stitched with em-dashes and parentheticals, including implementation internals (PUT route, Traefik and cert-manager value writes, GitOps commit counts) that an agent does not need in order to choose or invoke the tool. The content mostly earns its place; the packaging makes it hard to parse.

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?

There is no output schema, and the description compensates fully: it explains the phase values returned (applying, enabled), what gating condition determines each, that conflicts are reported by name, and how to follow up with get_cluster_gateway_api. Nothing an agent needs to call it correctly and interpret the result is missing.

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

Parameters4/5

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

Schema coverage is 100%, so both cluster_id and cluster_name are already documented, and the baseline would be 3. The description adds real selection semantics beyond the schema by narrowing which clusters qualify (must be a cloud cluster Ankra built with Ankra-managed networking), which the generic 'UUID of the target cluster' text does not convey.

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 ('Turn the Kubernetes Gateway API on for a cluster'), names the exact CLI/endpoint twin, and distinguishes itself from the sibling get_cluster_gateway_api by being the write half. An agent can identify what this does without opening the schema.

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 says to call it, to call it again (or poll get_cluster_gateway_api) until phase is enabled, and that it 'cannot turn the option off'. It also enumerates the refusal conditions — non-Ankra cloud cluster, no Ankra-managed networking, partial CRD bundle, unreadable CRDs, offline cluster, paused GitOps sync — which is a stronger when-not list than most sibling tools provide.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.