Skip to main content
Glama

AssetLab

Create infrastructure asset

create_infrastructure_asset

Create an infrastructure asset (feature - segment or node). Geometry must be GeoJSON Point (for nodes) or LineString (for segments) in EPSG:4326; coordinates are [longitude, latitude]. length_m, slope_pct, and risk_score are computed server-side. Requires infrastructure_assets:write scope.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoFeature name
lanesNoLane count
modelNoModel
depth_mNoDepth (m)
qr_codeNoQR code
site_idNoSite ID
width_mNoWidth (m)
geometryYesGeoJSON geometry - Point for nodes, LineString for segments
materialNoMaterial
quantityNoQuantity
image_urlNoImage URL
status_idNoAsset status ID
system_idNoSystem ID
to_streetNoTo street (segments)
network_idYesInfrastructure network ID (required)
road_classNoO. Reg. 239/02 road class 1-6 (1-2 arterial, 3-4 collector, 5-6 local)
building_idNoBuilding ID
data_sourceNoData source
descriptionNoDescription
diameter_mmNoDiameter (mm)
from_streetNoFrom street (segments)
location_idNoLocation ID
risk_factorNoRisk factor: CRITICAL, HIGH, MEDIUM, LOW
to_invert_mNoTo-invert elevation (m)
external_idsNoFree-form external ID map
feature_codeNoFeature ID - human-readable asset identifier, unique per tenant (typically the source GIS asset id)
feature_typeYes"segment" (LineString) or "node" (Point)
install_dateNoInstall date (YYYY-MM-DD)
asset_type_idNoAsset type ID
from_invert_mNoFrom-invert elevation (m)
purchase_costNoPurchase cost
purchase_dateNoPurchase date (YYYY-MM-DD)
safety_impactNoLOW, MEDIUM, HIGH, CRITICAL
salvage_valueNoSalvage value
serial_numberNoSerial number
to_feature_idNoTo-node feature ID (segments)
flow_directionNoFlow direction
service_impactNoLOW, MEDIUM, HIGH, CRITICAL
condition_scoreNoCondition score (0-100)
from_feature_idNoFrom-node feature ID (segments)
manufacturer_idNoManufacturer ID
system_class_idNoSystem class ID
system_group_idNoSystem group ID
unit_of_measureNoUnit of measure
financial_impactNoLOW, MEDIUM, HIGH, CRITICAL
regulatory_impactNoLOW, MEDIUM, HIGH, CRITICAL
reputation_impactNoLOW, MEDIUM, HIGH, CRITICAL
environmental_impactNoLOW, MEDIUM, HIGH, CRITICAL
last_maintenance_dateNoLast maintenance date (YYYY-MM-DD)
unit_replacement_valueNoUnit replacement value
expected_lifetime_yearsNoExpected lifetime (years)
salvage_value_percentageNo
positional_accuracy_classNoPositional accuracy class
likelihood_of_failure_scoreNo
consequence_of_failure_scoreNo
purchase_cost_calculation_methodNoCost calc method

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare the mutation profile (readOnly=false, destructive=false, non-idempotent), and the description adds genuinely useful behavior beyond that: coordinate order [longitude, latitude], CRS (EPSG:4326), which fields are computed server-side (length_m, slope_pct, risk_score), and the required infrastructure_assets:write scope.

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 tight sentences with no padding; the core identity and the geometry constraint are front-loaded before the scope requirement. Efficient for a 56-parameter tool.

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 high-complexity create tool with no output schema, the description covers the highest-risk ambiguities (geometry typing, CRS, axis order, server-computed fields, auth scope). It omits any indication of the response payload, which is the only notable 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?

Schema description coverage is 95%, so the schema already documents nearly every parameter. The description reinforces the geometry parameter's format and axis order and clarifies that length_m/slope_pct/risk_score should not be supplied, but adds little beyond the structured fields.

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 and resource ('Create an infrastructure asset') and immediately narrows scope with the feature subtypes (segment or node). An agent can distinguish it from the generic create_asset sibling by the 'infrastructure' qualifier, though it never names or contrasts against that 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 Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description supplies hard prerequisites (geometry type per feature_type, EPSG:4326, required scope) which effectively define when the call will succeed, but it offers no explicit when-to-use guidance or steering toward alternatives like bulk_create for multiple assets.

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