Skip to main content
Glama

Create infrastructure LoS target

create_infrastructure_los_target

Set the technical Level of Service target for one infrastructure feature class and metric. One base target per feature class and metric, set once for the organization; a duplicate returns 409, so update the existing row instead. Each network of that class is held to a version adjusted by the network's criticality (unrated counts as medium): a lower-is-better target is multiplied by the tier's modifier, a higher-is-better one keeps its distance from a perfect score multiplied by it (condition 70 becomes 82 at a Critical network, 58 at a Low one). Derived targets never leave the metric's scale. All three metrics run 0-100: asset_condition_avg is higher-is-better and uses the fixed condition bands; fci and asset_past_useful_life_pct are percentages, lower-is-better. Average risk is not available for infrastructure. Not money. Requires los_targets:write scope, and the organization's plan must include both Level of Service and Infrastructure. Resolve feature_class first via list_infrastructure_feature_classes.

Input Schema

NameRequiredDescriptionDefault
activeNoWhether the target is scored (default true)
metricYesMetric the target tracks (required)
base_targetYesBase target, 0-100 (required)
feature_classYesFeature class code (required) - must exist; resolve first via list_infrastructure_feature_classes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 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
  2. Changed2 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
  3. Changed2 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
  4. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond the sparse annotations (readOnlyHint=false, idempotentHint=false, destructiveHint=false) by disclosing the 409-on-duplicate behavior, the criticality-modifier math for derived per-network targets, the scale preservation rule, and the los_targets:write + plan requirements. This is far more than 'creates a row'.

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?

Front-loads the core action and the duplicate-409 rule, then layers in the derivation logic. It is dense rather than padded, though the worked example ('condition 70 becomes 82 at a Critical network, 58 at a Low one') is longer than strictly necessary.

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?

No output schema exists, yet the description covers the error path (409), prerequisites, plan/scope gates, valid metrics, and the domain rule that average risk is unavailable for infrastructure. Nothing an agent needs to invoke this correctly is missing.

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, but the description adds real meaning: metric direction and scale ('asset_condition_avg is higher-is-better... fci and asset_past_useful_life_pct are percentages, lower-is-better'), how base_target is transformed per network, and the 'Not money' constraint. It stops short of explaining the 'active' parameter's effect beyond the schema.

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 ('Set the technical Level of Service target for one infrastructure feature class and metric') and scopes it precisely to one feature class/metric pair. The 'infrastructure' qualifier distinguishes it from the sibling create_system_los_target without needing the schema.

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 handles the duplicate case ('a duplicate returns 409, so update the existing row instead'), which routes the agent to update_infrastructure_los_target when the row exists. It also names the prerequisite ('Resolve feature_class first via list_infrastructure_feature_classes') and the plan/scope preconditions.

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