Skip to main content
Glama

update_document

Update a stored document's type, title, reference number, issuing authority, fee, notes or linked pet, vehicle or appliance, returning the updated document. Only the fields you send change. renewalCronExpression is the one exception: it is accepted but not yet stored or acted on, so sending it changes nothing.

Input Schema

NameRequiredDescriptionDefault
idYesDocument id from create_document or list_documents.
feeNoCost. Replaces the stored fee outright.
notesNoFree-text notes.
titleNoCustom title.
documentTypeNoKind of document.
documentNumberNoReference or serial number, e.g. a passport or policy number.
linkedEntityIdNoId of that pet, vehicle or appliance from list_pets, list_vehicles or list_appliances. Send with linkedEntityType; "" for both removes the link.
issuingAuthorityNoWho issued it.
linkedEntityTypeNoKind of record the document is filed against. Send with linkedEntityId; send "" for both to remove the link, omit both to keep it.
renewalCronExpressionNoAccepted but not yet stored or acted on; has no effect.

Output Schema

NameRequiredDescriptionDefault
itemsYes
titleNo
messageNo
variantNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / linkedEntityId
      Added value: +{
      +  "description": "Id of that pet, vehicle or appliance from list_pets, list_vehicles or list_appliances. Send with linkedEntityType; \"\" for both removes the link.",
      +  "examples": [
      +    "01928e4a7d3f7b9ac1e3f6d8b2a4c710"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / linkedEntityType
      Added value: +{
      +  "description": "Kind of record the document is filed against. Send with linkedEntityId; send \"\" for both to remove the link, omit both to keep it.",
      +  "enum": [
      +    "Pet",
      +    "Vehicle",
      +    "Appliance",
      +    ""
      +  ],
      +  "examples": [
      +    "Pet"
      +  ],
      +  "type": "string"
      +}
  2. Changed5 schema fields changed
    • changedInput schema / properties / fee / properties / currencyCode / description
      Previous value: -"ISO 4217 code, three letters."New value: +"Uppercase ISO 4217 code, e.g. USD, GBP, JPY."
    • changedInput schema / properties / fee / properties / currencyCode / examples
      Previous value: -[
      -  "GBP"
      -]New value: +[
      +  "USD"
      +]
    • addedInput schema / properties / fee / properties / currencyCode / pattern
      Added value: +"^[A-Z]{3}$"
    • changedInput schema / properties / fee / properties / value / description
      Previous value: -"Amount in minor units, e.g. pence."New value: +"Amount in the currency's minor units. Most currencies have 2 decimal places (1599 = 15.99 USD), but some have none (1500 = 1500 JPY) and a few have 3 (12345 = 12.345 KWD)."
    • changedInput schema / properties / fee / properties / value / examples
      Previous value: -[
      -  8250
      -]New value: +[
      +  1599
      +]
  3. Changed12 schema fields changed
    • changedInput schema / properties / documentNumber / description
      Previous value: -"The document's reference or serial number, e.g. a passport number or insurance policy number. Omit to leave unchanged."New value: +"Reference or serial number, e.g. a passport or policy number."
    • changedInput schema / properties / documentType / description
      Previous value: -"The kind of document being stored. Omit to leave unchanged."New value: +"Kind of document."
    • changedInput schema / properties / fee / description
      Previous value: -"The cost associated with the document, e.g. a renewal or issuance fee. Omit to leave unchanged; when supplied, replaces the whole fee."New value: +"Cost. Replaces the stored fee outright."
    • changedInput schema / properties / fee / properties / currencyCode / description
      Previous value: -"ISO 4217 code"New value: +"ISO 4217 code, three letters."
    • changedInput schema / properties / fee / properties / value / description
      Previous value: -"Amount in smallest currency unit"New value: +"Amount in minor units, e.g. pence."
    • changedInput schema / properties / id / description
      Previous value: -"The id of the document to update, as returned by create_document or list_documents."New value: +"Document id from create_document or list_documents."
    • changedInput schema / properties / issuingAuthority / description
      Previous value: -"The organization or authority that issued the document. Omit to leave unchanged."New value: +"Who issued it."
    • changedInput schema / properties / notes / description
      Previous value: -"Free-text notes about the document. Omit to leave unchanged."New value: +"Free-text notes."
    • addedInput schema / properties / notes / examples
      Added value: +[
      +  "Renewed for another 10 years."
      +]
    • changedInput schema / properties / renewalCronExpression / description
      Previous value: -"Reserved for a future renewal-reminder schedule. Currently accepted but not persisted or acted on by document updates — has no effect yet."New value: +"Accepted but not yet stored or acted on; has no effect."
    • addedInput schema / properties / renewalCronExpression / examples
      Added value: +[
      +  "0 0 1 1 *"
      +]
    • changedInput schema / properties / title / description
      Previous value: -"A custom title for the document. Omit to leave unchanged."New value: +"Custom title."
  4. Changed16 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "id": "01928e4a7d3f7b9ac1e3f6d8b2a4c710",
      +    "issuingAuthority": "HM Passport Office",
      +    "notes": "Renewed for another 10 years."
      +  }
      +]
    • addedInput schema / properties / documentNumber / description
      Added value: +"The document's reference or serial number, e.g. a passport number or insurance policy number. Omit to leave unchanged."
    • addedInput schema / properties / documentNumber / examples
      Added value: +[
      +  "512345678"
      +]
    • addedInput schema / properties / documentType / description
      Added value: +"The kind of document being stored. Omit to leave unchanged."
    • addedInput schema / properties / documentType / examples
      Added value: +[
      +  "Passport"
      +]
    • addedInput schema / properties / fee / description
      Added value: +"The cost associated with the document, e.g. a renewal or issuance fee. Omit to leave unchanged; when supplied, replaces the whole fee."
    • addedInput schema / properties / fee / properties / currencyCode / examples
      Added value: +[
      +  "GBP"
      +]
    • addedInput schema / properties / fee / properties / value / examples
      Added value: +[
      +  8250
      +]
    • addedInput schema / properties / id / description
      Added value: +"The id of the document to update, as returned by create_document or list_documents."
    • addedInput schema / properties / id / examples
      Added value: +[
      +  "01928e4a7d3f7b9ac1e3f6d8b2a4c710"
      +]
    • addedInput schema / properties / issuingAuthority / description
      Added value: +"The organization or authority that issued the document. Omit to leave unchanged."
    • addedInput schema / properties / issuingAuthority / examples
      Added value: +[
      +  "HM Passport Office"
      +]
    • addedInput schema / properties / notes / description
      Added value: +"Free-text notes about the document. Omit to leave unchanged."
    • changedInput schema / properties / renewalCronExpression / description
      Previous value: -"Cron expression for renewal"New value: +"Reserved for a future renewal-reminder schedule. Currently accepted but not persisted or acted on by document updates — has no effect yet."
    • addedInput schema / properties / title / description
      Added value: +"A custom title for the document. Omit to leave unchanged."
    • addedInput schema / properties / title / examples
      Added value: +[
      +  "UK Passport"
      +]
  5. Changed1 schema field changed
    • addedInput schema / properties / title
      Added value: +{
      +  "type": "string"
      +}
  6. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false and destructiveHint=false. The description adds real behavioral context beyond that: a patch/merge semantics for omitted fields, a promise that the updated document is returned, and an explicit disclosure that renewalCronExpression is a silent no-op. It does not cover permission requirements or whether updates are auditable, but the no-op caveat is exactly the kind of non-obvious trait descriptions should carry.

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-loaded with the verb+resource and the mutable field list, then the patch rule, then the exception. Every sentence carries weight, though the renewalCronExpression caveat largely restates the schema's own description of that property.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description needn't explain return values, and it correctly focuses on mutation semantics. For a 10-parameter mutation tool with nested objects and enum links, the partial-update rule and the no-op field caveat are the right things to surface; only permission/error behavior is unaddressed.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents each parameter (including the currency-minor-units detail and the linkedEntityId/Type pairing rule). The description names the field set but adds no syntax or format detail beyond the schema, so baseline 3 applies.

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 (Update) and resource (stored document), enumerates the mutable fields, and states the return (the updated document). Combined with the required `id` and the create_document/list_documents siblings, an agent can immediately tell this is the mutation counterpart to create_document.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the partial-update contract ('Only the fields you send change'), which is the key usage rule, but it never states when to use this over create_document or delete_document, nor any preconditions. Usage is implied rather than routed.

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