Skip to main content
Glama

update_application_demo_config

Replace an Application's saved demo env entries and throwaway-database flag wholesale (the demo pre-setup every future launch inherits). Read the current configuration first and carry existing env entries forward - entries not in this call are dropped. The full-stack stack profile and shared base stack designations are NOT settable here and are preserved untouched: a demo whose database comes from a stack must not have the throwaway Postgres wired over it. Values may reference ${{ ankra.demo_database.* }} placeholders (requires database=true) and ${SECRET_SLOT:} sentinels (kept secret, mounted via a Kubernetes Secret). Affects only demo deployments in TTL-reaped namespaces, never production workloads; running demos pick the change up on their next redeploy_demo.

Input Schema

NameRequiredDescriptionDefault
envYesThe complete demo environment as a name-to-value object (empty object clears it). Values carrying ${SECRET_SLOT:<uuid>} sentinels are stored as secret entries.
routingNoHow a multi-component demo is published on the preview host: which component serves / and where the others are routed. Omit to preserve the saved declaration; pass null to clear it and return every lane to the heuristic.
databaseYesProvision a throwaway per-demo Postgres on every launch and enable the ${{ ankra.demo_database.* }} placeholders. Required.
protectedNoSwitch Ankra's edge password guard for every demo of this application. Omit to preserve the stored setting. Turning it on mints one shared credential (username 'preview') and this call's answer carries generated_password; Ankra also keeps it in its secret store, so a member can copy it again later from the application's previews in the Ankra UI. Turning it off clears the credential and drops the kept copy. Enforced at the ingress by a Traefik basicAuth Middleware, never inside the application, so the staging cluster needs the Traefik ingress: without it a protected launch fails closed rather than publishing open.
application_idYesThe Application whose demo configuration to replace.
migrate_commandNoThe command that provisions a fresh demo database's schema (for example 'pnpm run db:migrate' or 'alembic upgrade head'). Runs through sh -c in the application image after the database is reachable, with the demo environment exported. Omit to preserve the saved command; pass an empty string to clear it. Requires database=true or a base stack.
database_extensionsNoPostgres extensions the demo database creates at initdb (for example ["vector"]). Plain lowercase identifiers only. Omit to preserve; pass [] to clear. Requires database=true.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Discloses behavior well beyond the annotations: wholesale replacement semantics with entries dropped, preservation of stack-derived database wiring, secret-slot values kept in a Kubernetes Secret, and the deferred effect on running demos. The one tension is that annotations declare destructiveHint=false while the description describes a non-additive replace that silently drops omitted env entries; the description mitigates this by stating it plainly, so it informs rather than misleads.

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?

The action and its wholesale/drop semantics are front-loaded, and each sentence carries distinct information (procedure, exclusions, placeholder syntax, scope/timing). It is dense and clause-heavy in places — the stack-profile sentence and the placeholder sentence require re-reading — but there is no filler.

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?

For a 7-parameter mutation tool with no output schema, the description covers prerequisites, destructive drop behavior, preserved settings, secret handling, and effect timing on running demos. Nothing an agent needs to call it correctly is missing, and annotations plus the rich schema carry the remainder.

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 per-parameter descriptions are already detailed, so the baseline is 3. The description still adds cross-parameter semantics the schema states only locally: that ${{ ankra.demo_database.* }} placeholders require database=true, and how ${SECRET_SLOT:<uuid>} sentinels are stored and mounted, which is dependency knowledge not obvious from a single field's docs.

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?

Opens with a specific verb+resource: 'Replace an Application's saved demo env entries and throwaway-database flag wholesale'. It states scope ('the demo pre-setup every future launch inherits') and clearly delineates what is NOT part of the tool (stack profile and shared base stack designations), which separates it from adjacent config tools.

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?

Gives explicit operating procedure ('Read the current configuration first and carry existing env entries forward'), an explicit exclusion ('NOT settable here... preserved untouched'), an explicit scope boundary ('only demo deployments... never production workloads'), and names the follow-up sibling tool ('next redeploy_demo'). An agent knows when and how to invoke it without opening another schema.

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