Skip to main content
Glama

revise_application_setup

Negotiate the setup Ankra proposed for an Application by changing the defaults on its deploy option contract, and commit the rewritten .ankra/ankra.yaml to the Application's setup pull-request branch. Use this for requests like '8Gi is too much, this is a demo' (database_storage), 'make it highly available' (database_instances, replicas) or 'expose it at shop.example.com' (ingress_enabled, ingress_host). Call get_application_setup_proposal first: only options the contract already declares can be changed, and every value must satisfy that option's declared type. The revision is all-or-nothing - if any requested change is refused, the proposal is left exactly as it was and the answer names each refusal and why, so never re-offer the unchanged plan as though the request had been honoured. The database ENGINE is not an option: Ankra generates PostgreSQL through the CloudNativePG operator, and swapping it means regenerating the setup rather than revising its contract. This never deploys anything - it writes one commit on the setup branch and updates the stored contract; the user still has to deploy.

Input Schema

NameRequiredDescriptionDefault
optionsYesThe deploy options to change, as a name-to-new-default object (for example {"database_storage": "1Gi", "replicas": "3"}). Every value is a string because the deploy contract stores defaults as text. Options not named here keep their current defaults.
application_idYesThe Application's id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond the annotations (readOnlyHint=false, idempotentHint=false, destructiveHint=false): it discloses all-or-nothing atomicity, that refusals are named individually with reasons, that no deployment occurs, and that it writes exactly one commit plus updates the stored contract. It even warns the agent not to re-offer the unchanged plan as if honoured.

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-loads the core action, then constraints and caveats. It is dense and every sentence carries information (examples, preconditions, atomicity, engine exclusion, no-deploy note), though it runs long enough that a few clauses could be tightened.

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?

With no output schema, the description still tells the agent what happens on success and on partial refusal, the required prior call, and the post-state of the branch and stored contract. Nothing essential for correct invocation 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% and the schema already explains the name-to-string mapping and that unnamed options keep their defaults. The description adds real value by naming concrete option keys (database_storage, database_instances, replicas, ingress_enabled, ingress_host) and by tying each to a natural-language request, though it does not restate the string-only value constraint itself.

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 precise verb and resource chain: negotiate the proposed setup, change defaults on the deploy option contract, and commit the rewritten .ankra/ankra.yaml to the setup branch. It clearly separates itself from get_application_setup_proposal (read the proposal) and deploy_application (actual deployment).

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 get_application_setup_proposal first, gives concrete trigger phrases ('8Gi is too much', 'make it highly available', 'expose it at shop.example.com') mapped to option names, and states the exclusion that the database engine cannot be changed. Alternatives and constraints are fully specified.

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.

Resources