Skip to main content
Glama

update_document

Update a stored document's type, title, reference number, issuing authority, fee or notes, 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

TableJSON 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.
issuingAuthorityNoWho issued it.
renewalCronExpressionNoAccepted but not yet stored or acted on; has no effect.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemsYes
titleNo
messageNo
variantNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. 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
      +]
  2. 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."
  3. 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"
      +]
  4. Changed1 schema field changed
    • addedInput schema / properties / title
      Added value: +{
      +  "type": "string"
      +}
  5. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint=false, destructiveHint=false), the description discloses important update semantics: only provided fields change, and renewalCronExpression is accepted but not stored or acted on. This 'no-op field' warning is exactly the kind of behavioral detail that prevents incorrect assumptions.

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?

Two tight sentences: the first states the action, fields, and return value; the second clarifies partial-update behavior and the one notable exception. Every sentence earns its place with no redundancy.

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 an 8-parameter update tool with nested fee object and output schema, the description covers the essential operational context: what can be updated, that it's a partial update, what gets returned, and the no-op parameter. The schema and output schema cover the remaining details.

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 description coverage is 100%, so the schema already documents every parameter. The description adds the key semantic that updates are partial ('Only the fields you send change') and explicitly flags renewalCronExpression as inert, which complements the schema's field-level descriptions.

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?

Description opens with a specific verb ('Update') and resource ('a stored document'), then enumerates the exact mutable fields: type, title, reference number, issuing authority, fee, or notes. It also states the return value ('returning the updated document'), clearly distinguishing it from create, delete, and list siblings.

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

Usage Guidelines4/5

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

The phrase 'Update a stored document' implies an existing document id, which separates it from create_document. 'Only the fields you send change' gives clear partial-update context, but it does not explicitly state when to prefer this over alternatives or name exclusions beyond the renewalCronExpression caveat.

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