Skip to main content
Glama

AssetLab

Create asset betterment

create_asset_betterment

Record capital work that ALREADY extended a facility asset's life - an elevator modernization, a boiler retube, a major component replacement. Required: asset_id, occurred_on, and at least one of capitalized_amount or added_life_years (work that adds neither changes nothing and is rejected). The asset's net book value and remaining life re-base from occurred_on, and its purchase_date is NEVER changed - if a user asks to change an in-service date to reflect an overhaul, record this instead and say why. Use asset_lifecycle_events for work expected in future; use a condition assessment for what someone observed. Call list_assets first to resolve asset_id. Requires asset_betterments:write scope.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
asset_idYesAsset the capital work was performed on (required)
project_idNoThe project that delivered it
descriptionNoWhat was actually done
occurred_onYesDate the work went into service, YYYY-MM-DD (required). Not the invoice date - this is the date its value begins depreciating from.
asset_cost_idNoThe asset cost row holding the spend, so the money is not double-entered
work_order_idNoThe work order that delivered it
added_life_yearsNoExtra service life the work bought, in years. Required unless capitalized_amount is given.
capitalized_amountNoAmount added to the asset value, in the organization currency (call get_organization_settings for currency_code). Required unless added_life_years is given.
asset_lifecycle_event_idNoThe lifecycle strategy event this executed, if any

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

Goes well beyond the annotations, which only declare readOnly/destructive/idempotent/openWorld flags. The description discloses the re-basing side effect (NBV and remaining life re-base from occurred_on), the invariant that purchase_date is NEVER changed, the validation rule that work adding neither amount nor life is rejected, and the required auth scope.

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?

Five dense sentences, each earning its place: purpose with examples, required-field validation, side effects, the date-semantics caution, and alternatives/prerequisite/scope. Front-loaded with the core purpose and no boilerplate.

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 a 9-parameter mutation with no output schema and thin annotations, the description covers everything an agent needs: required inputs, side effects, invariants to protect, alternatives, prerequisite lookup, and auth requirements.

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 baseline is 3. The description adds value beyond it by synthesizing the cross-parameter constraint ('at least one of capitalized_amount or added_life_years') into an explicit rejection rule and by pointing to list_assets for resolving asset_id, which the schema does not express.

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 and resource ('Record capital work that ALREADY extended a facility asset's life') and grounds it with concrete examples (elevator modernization, boiler retube). This clearly distinguishes it from siblings like create_asset_lifecycle_event and create_asset_condition_assessment without opening their schemas.

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?

Explicitly routes the agent: use asset_lifecycle_events for future work, a condition assessment for observations, and record this instead when a user asks to change an in-service date. It also names a prerequisite ('Call list_assets first to resolve asset_id') and states the required scope.

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