Skip to main content
Glama

Update a Control Plane GVC

update_gvc
DestructiveIdempotent

Update a GVC. Scalars, description, tags, env, pullSecretLinks, and placement addLocations MERGE with existing values; remove* counterparts (removeLocations, removeTagKeys, removeEnvNames, removePullSecretLinks) take entries away, and remove* flags (removeLocationQuery, removeTracing, removeLoadBalancer, removeKeda, removeSidecarEnvoy, removeAliasWorkloadLink) delete an optional block entirely. The nested objects (loadBalancer, keda, tracing, sidecarEnvoy, locationOptions, locationQuery) are REPLACED wholesale: always submit the complete object, never a partial patch, or the omitted sub-fields are dropped. Custom domains are configured with the Domain resource (create_domain), not on the GVC. Placement and endpoint changes can redeploy workloads or affect public workload availability.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
envNoAdd or update GVC environment variables (merged with existing). Submit an empty list to clear every env variable.
orgYesOrganization slug (lowercase kebab-case). NEVER guess — if the user has not named one, ask. On org-not-found, stop and ask; do not retry variants.
kedaNoReplace the KEDA configuration.
tagsNoAdd or update GVC tags (merged with existing tags) without replacing the entire set. Submit an empty list to clear all tags.
gvcNameYesGVC slug (lowercase kebab-case). Use the GVC the user named; otherwise discover with list_resources (kind="gvc") and let them choose — never guess (a wrong GVC targets the wrong environment).
tracingNoReplace the tracing configuration.
removeKedaNotrue deletes spec.keda.
descriptionNoNew description. Treat it like a concise annotation for future operators.
addLocationsNoPlacement locations to ADD (merged with existing; duplicates skipped). Accepts location names, friendly names, or links, validated against the org's own location list.
loadBalancerNoReplace the GVC load balancer configuration.
sidecarEnvoyNoReplace the Envoy sidecar filters (spec.sidecar.envoy).
locationQueryNoReplace the dynamic placement query.
removeTagKeysNoTag keys to remove from the GVC.
removeTracingNotrue deletes spec.tracing (stops trace export).
removeEnvNamesNoEnvironment variable names to remove.
locationOptionsNoReplace per-location geo-routing options. Submit an empty list to remove them all.
pullSecretLinksNoAdd pullSecretLinks (merged with existing). Submit an empty list to clear them all.
removeLocationsNoPlacement locations to REMOVE. Workloads redeploy out of removed locations and may lose capacity there.
aliasWorkloadLinkNoLink to a workload in this GVC whose canonical endpoint backs the GVC alias DNS record (e.g. //gvc/{gvc}/workload/{name}). NOTE: the alias is INERT while the target workload is suspended (suspend=true or maxScale=0) — it takes effect only while the workload runs.
removeLoadBalancerNotrue deletes spec.loadBalancer (reverts to platform default load balancing).
removeSidecarEnvoyNotrue deletes spec.sidecar (drops the custom Envoy filters).
removeLocationQueryNotrue deletes spec.staticPlacement.locationQuery, so placement follows the plain location list again.
endpointNamingFormatNoSet the canonical endpoint subdomain format (default/legacy/org).
removePullSecretLinksNopullSecretLinks to remove (exact string match).
removeAliasWorkloadLinkNotrue deletes spec.aliasWorkloadLink (detaches the GVC alias DNS record).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYesWhether the call succeeded.
dataNoThe full machine-readable result — list rows, the resource object, query results. Read THIS, not just the summary.
summaryYesOne-line summary of the result.
nextStepsNoRecommended follow-up actions for this task, in order.

TDQS

A5/5.0
Behavior5/5

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

Annotations already mark this as mutating, destructive, and idempotent, but the description adds crucial specifics beyond those hints: which parameters remove entries, which remove entire blocks, and which nested objects are replaced wholesale. The warning that partial patches drop omitted sub-fields and that changes can affect workload availability is exactly the kind of behavioral disclosure agents need.

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

Conciseness5/5

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

The description is dense but every sentence earns its place: the subject, the merge/remove/replace taxonomy, the domain-resource pointer, and the operational risk warning. It stays compact despite the complexity of a 25-parameter update API, with no filler or repetition of schema content.

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 the rich schema and output schema, the description covers the remaining conceptual gaps: merge vs replace behavior, destructive remove flags, partial-patch dangers, and side effects on workloads. An agent can safely select and invoke this tool with the information provided.

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

Parameters5/5

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

With 100% schema coverage across 25 parameters, the description adds meaningful high-level semantics that the schema alone does not convey: scalars, tags, env, pullSecretLinks, and addLocations merge; remove* counterparts remove; nested objects replace wholesale. It explicitly names all remove flags and reinforces the complete-object requirement, which is critical for correct invocation.

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?

The description opens with 'Update a GVC'—a specific verb plus target resource—and then details merge vs replace semantics. It clearly differentiates this from create_gvc and sibling resource-specific update tools. The explicit note that custom domains are handled by create_domain further disambiguates scope.

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?

The description gives clear context for when to use this tool and provides a concrete exclusion: custom domains must be configured with the Domain resource (create_domain), not on the GVC. It also warns that placement and endpoint changes can redeploy workloads or affect availability, giving agents operational risk awareness.

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.

TDQS

A4.1/5.0
Disambiguation5/5

Every tool targets a distinct resource/action pair (e.g., get_resource vs get_resource_schema, list_deployments vs list_workload_replicas) and descriptions clearly differentiate purposes. No two tools appear to do the same thing.

Naming Consistency5/5

All tools follow a verb_noun snake_case pattern (create_gvc, update_workload, list_resources, query_metrics) with consistent verbs. The few imperative verbs (browse, build, mount) still maintain the same verb-first structure.

Tool Count1/5

With 55 tools, this server far exceeds the typical well-scoped 3-15 tool range. While each tool appears purposeful, the sheer number creates selection overhead and falls into the extreme 50+ category on the rubric.

Completeness4/5

The surface covers nearly the full Control Plane lifecycle: CRUD for GVC, workload, identity, policy, volumeset, and domain, plus observability, templates, image builds, and Terraform. Minor gaps include referenced but missing configure_workload_* tools and no secret creation/deletion (by design).