Skip to main content
Glama

Update Item

keychain_update_item

Update selected fields of an existing vault item by ID, leaving omitted values unchanged. Use for partial edits instead of reconstructing the full item.

Instructions

Update selected fields of an item by id. The patch is applied to the current item, so omitted fields stay unchanged while explicit nulls and empty arrays overwrite the stored folder, collection, login URI, or custom-field values. Use this for partial edits instead of reconstructing the full item.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesStable Bitwarden object id returned by list/search/get/create tools.
patchYesPartial item fields to update on the current item.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.2.35
    • removedInput schema / properties / patch / properties / folderId / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / patch / properties / folderId / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  2. Changed20 schema fields changedv0.2.19
    • addedInput schema / properties / id / description
      Added value: +"Stable Bitwarden object id returned by list/search/get/create tools."
    • addedInput schema / properties / patch / description
      Added value: +"Partial item fields to update on the current item."
    • addedInput schema / properties / patch / properties / collectionIds / description
      Added value: +"Collection ids to replace on the item."
    • addedInput schema / properties / patch / properties / favorite / description
      Added value: +"Mark the item as a favorite when true."
    • addedInput schema / properties / patch / properties / fields / description
      Added value: +"Custom fields to replace on the item."
    • addedInput schema / properties / patch / properties / fields / items / description
      Added value: +"Custom field stored on the item."
    • addedInput schema / properties / patch / properties / fields / items / properties / hidden / description
      Added value: +"Hide the field value in summaries when true."
    • addedInput schema / properties / patch / properties / fields / items / properties / name / description
      Added value: +"Custom field name stored on the item."
    • addedInput schema / properties / patch / properties / fields / items / properties / value / description
      Added value: +"Custom field value stored on the item."
    • addedInput schema / properties / patch / properties / folderId / description
      Added value: +"Personal folder id, not an organization collection id."
    • addedInput schema / properties / patch / properties / login / description
      Added value: +"Login-specific fields to patch on the item."
    • addedInput schema / properties / patch / properties / login / properties / password / description
      Added value: +"Login password to update."
    • addedInput schema / properties / patch / properties / login / properties / totp / description
      Added value: +"TOTP secret or otpauth value to update."
    • addedInput schema / properties / patch / properties / login / properties / uris / description
      Added value: +"Login URIs to replace on the existing item."
    • addedInput schema / properties / patch / properties / login / properties / uris / items / description
      Added value: +"URI entry with match semantics for a login item."
    • addedInput schema / properties / patch / properties / login / properties / uris / items / properties / match / description
      Added value: +"URI match semantics: domain, host, startsWith, exact, regex, or never; aliases and numeric values are normalized."
    • addedInput schema / properties / patch / properties / login / properties / uris / items / properties / uri / description
      Added value: +"URI value to store on the login item."
    • addedInput schema / properties / patch / properties / login / properties / username / description
      Added value: +"Login username to update."
    • addedInput schema / properties / patch / properties / name / description
      Added value: +"New item name."
    • addedInput schema / properties / patch / properties / notes / description
      Added value: +"New notes text for the item."
  3. Addedv0.1.20

TDQS

A4.3/5.0
Behavior5/5

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

The description discloses nuanced patch semantics beyond the annotations: omitted fields stay unchanged, while explicit nulls and empty arrays overwrite folder, collection, login URI, or custom-field values. This is critical for avoiding accidental data loss and is not fully captured by readOnlyHint/destructiveHint.

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?

Three sentences with no filler. The first sentence states the action, the second explains key semantics, and the third gives usage direction. Information is front-loaded and every sentence earns its place.

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?

The description is largely complete for a patch tool: it explains scope, semantics, and usage, and the input schema documents all fields. It does not describe the return value or success/error behavior, but no output schema exists and the core invocation details are well covered.

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%, so the baseline is 3. The description adds meaningful behavior on top of the schema by explaining how omitted vs. explicit null/empty values are treated, which directly affects correct use of the patch object.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the operation: 'Update selected fields of an item by id' with a specific verb and resource. It also conveys partial-update scope, but does not explicitly differentiate from siblings like keychain_set_login_uris that can also modify login URIs.

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 description provides actionable guidance: 'Use this for partial edits instead of reconstructing the full item.' This establishes when the tool is appropriate, though it does not mention specific alternatives or exclusion cases beyond the general partial-edit scenario.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.