Skip to main content
Glama

AssetLab

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

TableJSON 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. 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 annotations (readOnlyHint=false, idempotentHint=false, destructiveHint=false) by disclosing the 409 duplicate behavior, the required los_targets:write scope, the plan entitlement requirement (Level of Service + Infrastructure), and the exact criticality-modifier math for derived targets. This is unusually rich behavioral context.

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 purpose and the duplicate/alternative guidance first, which is the right order. It is dense and long, with the detailed criticality math somewhat exceeding what a create call strictly needs, but every sentence carries substantive information rather than filler.

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?

With no output schema and a mutation annotation profile, the description still covers the failure mode (409), the auth/scope requirement, the plan entitlement, valid metric semantics, and the feature-class resolution prerequisite. An agent has everything needed to invoke it correctly.

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 beyond the enum by giving each metric's direction and scale ('asset_condition_avg is higher-is-better,' 'fci and asset_past_useful_life_pct are percentages, lower-is-better,' '0-100') and excluding 'average risk.' It adds semantic value over the schema's bare enum.

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+resource+scope: 'Set the technical Level of Service target for one infrastructure feature class and metric.' This clearly distinguishes it from create_system_los_target (System) and create_los_proposed_target. An agent can tell what it creates without opening 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 names the when-not and alternative: 'a duplicate returns 409, so update the existing row instead,' routing the agent to update_infrastructure_los_target. It also gives a prerequisite sequencing step ('Resolve feature_class first via list_infrastructure_feature_classes'), leaving nothing to inference.

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