Skip to main content
Glama

Update application

jerry_update_application
Idempotent

Save application facts the customer gave, in their own words. Every field is optional and merges into what's saved, so send only facts that are new or changed.

  • Items with an id update that driver, car or home; items without one are added. included puts an item on the quote or leaves it off.

  • Add a car by vin, by licensePlate and licensePlateState, or by year, make and model. Send year, make and model only when there's no VIN or plate, since those set them. A final price needs the VIN.

  • Answer any other requirement in answers, by its path. A fact that has its own field here comes back rejected as typed_field if it's sent in answers.

  • coverage and history.currentMonthlyPremiumCents are optional and never block quotes. Send them only when the customer asks for a coverage level or specific coverages, or says what they pay now.

  • Drivers and cars Jerry found are in the status's suggested list, each with an id that starts with suggested:. Once the customer confirms one, send that id in drivers or vehicles with included: true. Returns the status, with suggested. rejected lists values to correct with the customer, and clarify lists values to choose from. The rest of the write is saved either way.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sourcesNoWhere these facts come from; defaults to ['customer'].
intentIdYesThe shopping intent id returned by an earlier shopping tool.
permissionNoRequired once when sources include anything but customer.
applicationYes
idempotencyKeyYesUnique key for safely retrying this customer action

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?

Annotations declare write/idempotent/non-destructive, and the description goes well beyond that: it discloses partial-merge semantics, that a fact with its own field is rejected as typed_field if sent via answers, that rejected and clarify lists are the correction surface, and that the rest of the write is saved either way. That last point in particular is non-obvious failure behavior an agent could not infer from the annotations.

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 content is dense but front-loaded: the merge rule and id/included semantics come first, then vehicle identification, answers routing, and optional fields. Each bullet carries distinct, actionable information, though the third and fourth bullets pack several rules into single long sentences and could be split for scanability.

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 correctly carries the return-value burden, explaining that status, suggested, rejected, and clarify come back and how to act on each. For a 5-parameter, deeply nested mutation tool, nothing an agent needs in order to call it correctly or interpret the response 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 80%, so the schema already carries most field documentation, and the baseline would be 3. The description still adds real semantic value the schema does not: id-vs-no-id meaning (update vs add), included toggling quote membership, the precedence of VIN/plate over year/make/model, and the routing rule between typed fields and answers.

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 opening sentence states a specific verb and resource — saving customer-supplied application facts — and immediately describes the merge semantics that define the tool. Read against siblings like jerry_get_status and jerry_start_shopping, it is unmistakably the write path into an existing application, with no overlap or ambiguity.

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?

Guidance is conditional and explicit throughout: send only new or changed facts, supply year/make/model only when there is no VIN or plate, send coverage and history.currentMonthlyPremiumCents only when the customer raises them, and send that id with included:true once a suggested item is confirmed. It states when-not cases, not just when, which is exactly what an agent needs to avoid bad writes.

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