Skip to main content
Glama
assetlab-canada

AssetLab MCP Server

Official

Update asset

update_asset
DestructiveIdempotent

Modify an existing asset record by ID. Requires assets:write scope; for location or system changes, resolve the hierarchy top-down.

Instructions

Update an existing asset by ID. Requires assets:write scope. When changing location, resolve top-down: list_sites → list_buildings (by site_id) → list_locations (by building_id). Provide all three IDs. Same for systems: list_system_classes → list_system_groups → list_systems.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesAsset ID
nameNoAsset name
modelNoModel name/number
site_idNoSite ID - resolve first via list_sites
asset_idNoCustom asset identifier (unique per tenant)
quantityNoQuantity
image_urlNoImage URL
status_idNoStatus identifier
system_idNoSystem ID - resolve last via list_systems filtered by system_group_id
meter_unitNoMeter unit (km, miles, hours, cycles)
building_idNoBuilding ID - resolve second via list_buildings filtered by site_id
descriptionNoDescription
location_idNoLocation ID - resolve last via list_locations filtered by building_id
risk_factorNoRisk factor (CRITICAL, HIGH, MEDIUM, LOW)
asset_type_idNoAsset type ID (from asset_types)
purchase_costNoPurchase cost
purchase_dateNoPurchase date (ISO 8601)
safety_impactNoSafety impact level (LOW, MEDIUM, HIGH, CRITICAL)
salvage_valueNoSalvage value
serial_numberNoSerial number
cost_per_sq_ftNoCost per square foot
service_impactNoService impact level (LOW, MEDIUM, HIGH, CRITICAL)
condition_scoreNoCondition score (0-100)
manufacturer_idNoManufacturer ID (from manufacturers)
system_class_idNoSystem class ID - resolve first via list_system_classes
system_group_idNoSystem group ID - resolve second via list_system_groups filtered by system_class_id
unit_of_measureNoUnit of measure
regulatory_impactNoRegulatory impact level (LOW, MEDIUM, HIGH, CRITICAL)
replacement_valueNoCost to replace this asset today, in current dollars. Distinct from purchase_cost, which is what was paid and is the depreciation basis.
reputation_impactNoReputation impact level (LOW, MEDIUM, HIGH, CRITICAL)
environmental_impactNoEnvironmental impact level (LOW, MEDIUM, HIGH, CRITICAL)
current_meter_readingNoCurrent meter/odometer reading
last_maintenance_dateNoLast maintenance date (ISO 8601)
unit_replacement_valueNoUnit replacement value
expected_lifetime_yearsNoExpected lifetime in years
salvage_value_percentageNoSalvage value percentage (0-100)
likelihood_of_failure_scoreNoLikelihood of failure score
consequence_of_failure_scoreNoConsequence of failure score
replacement_value_reviewed_onNoDate replacement_value was last confirmed (ISO 8601)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv3.0.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the safety profile is covered structurally. The description adds auth context ('Requires assets:write scope') and the cross-entity resolution requirement, both of which are beyond what the annotations expose; it stops short of explaining partial-update behavior or what the destructive hint actually affects.

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?

Three compact sentences, front-loaded with the purpose, then the scope requirement, then the trickiest operational detail. Nothing is padded, though the final telegraphic line ('Same for systems: ...') relies on the reader mapping the analogy correctly.

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?

For a 39-parameter update tool with no output schema and a single required field, the description covers purpose, authorization, and the highest-risk operation (relocating an asset across three hierarchical entities). It does not explicitly state that omitted fields are left unchanged, nor does it flag scope of the destructive behavior, leaving a modest gap.

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?

With 100% schema description coverage, the per-parameter definitions are already fully documented, including the resolution chain embedded in site_id/building_id/location_id descriptions. The description's top-down recipe largely restates what the schema already says, adding emphasis but little new semantic meaning, so the baseline 3 applies.

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?

States a specific verb+resource identifying the target unambiguously ('Update an existing asset by ID'), which cleanly separates it from create_asset, delete_asset and the infrastructure-asset variants. It does not, however, explicitly name an alternative or clarify why one would choose update_asset over bulk_update for a given change, so sibling differentiation is left to the reader.

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?

Gives concrete operational context: it requires assets:write scope and prescribes a top-down resolution procedure (list_sites -> list_buildings -> list_locations, and the parallel system chain) with the rule to 'provide all three IDs.' This tells the agent how to prepare a location/system change but offers no when-not-to-use or alternative-tool guidance.

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

Deploy Server

Other Tools