Skip to main content
Glama

Update asset lifecycle event

update_asset_lifecycle_event
DestructiveIdempotent

Update a facility lifecycle strategy event by ID. Editing re-confirms the cost (cost_reviewed_on is server-set). Set is_active false to disable an event without deleting it - projections recompute immediately. Requires asset_lifecycle_events:write scope.

Input Schema

NameRequiredDescriptionDefault
idYesLifecycle event ID
nameNoEvent name
is_activeNoDisable/enable the event
fixed_costNoFixed cost per application (current dollars, never indexed)
sort_orderNoEvaluation order within the strategy
cost_sourceNoProvenance of the cost ("Engineering 2026", a tender reference)
event_classNoEvent type - preventative maintenance or rehabilitation
impact_methodNoEffect: add years of life, or reset condition to a value
impact_reset_toNoCondition after the event (required when impact_method is reset_condition)
work_generationNoWhat a due application of this event becomes when created from the interventions list: none (plan only, default), work_order, or project. Nothing is created on a schedule.
impact_add_yearsNoYears added (required when impact_method is add_years)
max_applicationsNoHow many times the event may fire over an asset's life (default 1)
min_years_betweenNoMinimum years between firings of a recurring event (default 1)
trigger_condition_maxNoUpper bound of the trigger window - the event fires when projected condition falls to this
trigger_condition_minNoLower bound of the trigger window (default 0); an asset already below it has missed the event
work_generation_priorityNoPriority for generated work orders. Ignored unless work_generation is work_order.
work_generation_category_idNoWork category for generated work orders - resolve with list_work_categories. Ignored unless work_generation is work_order.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / id / pattern
      Added value: +"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
    • addedInput schema / properties / sort_order / maximum
      Added value: +9007199254740991
    • addedInput schema / properties / work_generation_category_id / pattern
      Added value: +"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
  2. Changed5 schema fields changed
    • changedInput schema / $schema
      Previous value: -"https://json-schema.org/draft/2020-12/schema"New value: +"http://json-schema.org/draft-07/schema#"
    • addedInput schema / additionalProperties
      Added value: +false
    • removedInput schema / properties / id / pattern
      Removed value: -"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
    • removedInput schema / properties / sort_order / maximum
      Removed value: -9007199254740991
    • removedInput schema / properties / work_generation_category_id / pattern
      Removed value: -"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
  3. Changed5 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / id / pattern
      Added value: +"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
    • addedInput schema / properties / sort_order / maximum
      Added value: +9007199254740991
    • addedInput schema / properties / work_generation_category_id / pattern
      Added value: +"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$"
  4. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare destructive/idempotent/write semantics, and the description adds material beyond them: editing re-confirms the cost (cost_reviewed_on is server-set, not agent-supplied), projections recompute immediately, and the required asset_lifecycle_events:write scope. It stops short of explaining what the destructiveHint actually destroys or how partial updates affect unspecified fields.

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 short sentences, purpose first, then the two most operationally important facts (soft-disable semantics and required scope). No filler or restatement of the title.

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 17-parameter mutation tool with no output schema, the description covers the essentials an agent needs before calling: identity, the server-set field caveat, the disable path, and the auth scope. What is missing is the return shape and whether unspecified fields are left untouched, which keeps it from a 5.

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 coverage is 100% and every field carries its own description, so the schema does the heavy lifting. The description only adds one genuinely new parameter-level fact (cost_reviewed_on being server-set) and the is_active disable semantics, which matches the baseline 3 for high-coverage schemas.

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?

The description opens with a specific verb+resource ('Update a facility lifecycle strategy event by ID'), which is unambiguous. It implicitly separates itself from the closely-named sibling update_infrastructure_lifecycle_event by referring to facility lifecycle strategy events, though it never names the sibling explicitly.

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?

It gives real usage direction: 'Set is_active false to disable an event without deleting it' routes the agent away from delete_asset_lifecycle_event toward a soft-disable. It also signals the write-scope prerequisite. No explicit when-not guidance beyond that, so it stops short of a 5.

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