Skip to main content
Glama

EasyTerritory MCP

configure_map

[Tier 2 — Durable Map Config] When: set or update project_name (the durable TS short name used as the Map Component heading), loaded_part_layers, active_part_layer, active_tal_id, point_layer_classifications, classification, presentation, center, or zoom on the TS. project_name is first-class: persists to ts.properties.map_config.project_name and emits config_changed so a linked session refreshes the heading in place. POINT SYMBOLOGY: point_layer_classifications is the way to recolor/resize/reshape points on an open map — never export GeoJSON, compute breaks client-side, and repost a TS. Each entry is {point_layer, field, method: quantile|equal_interval|categorical|manual, class_count (2-12), channel: color|size|shape, optional colors/sizes/shapes, optional style:{color,size,opacity,shape} for the layer base symbol}. Supported shapes: circle|square|triangle|diamond|star|cross|house|pin|flag|hexagon|pentagon|shield|arrow_up|building (aliases home→house, marker/map_pin→pin, hex→hexagon, arrow/up→arrow_up, warehouse/depot→building, plus/x→cross). The server computes breaks from the in-session points, writes point_layers[]._classification, pushes config_changed, and returns the applied classes with per-class counts. Categorical missing values become an Ungrouped class. One classification per channel per layer: a second color entry replaces the first. Two encodings on one layer mix channels (color+size or color+shape). clear:true with point_layer and channel drops that channel classification, including a same-channel classification object. Other channels and the base style stay. active_channels reports the channels still set. Method defaults to quantile for numeric fields and categorical otherwise; pass one entry per layer to give two point layers distinct colors or shapes. classification (without a point_layer) stays a project-level map_config patch and does NOT paint points; a point-layer-targeted classification is routed to symbology with a warning. Optional center ([longitude, latitude]) and zoom (0-24) persist as the TS default camera and jump an open MC when included on this call; Monica's pan is not captured. Prefer map_session_id for an open MC — the live session TS is the patch base; a stale pre-ingest ts_handle must not strip points/part layers. Not the entry tool for browsing a TS — that is get_map_visualization (I-1). Prerequisites: map_session_id, ts_handle, or inline ts; points already ingested before point_layer_classifications; part_layer from ezt://part-layers before builds. Next: build or analyze; if active TAL changes, re-run analyze then load_analysis_panel (I-2). Scenarios: MC-010, MC-012, DS-001, baseline workflow step 4.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tsNo
zoomNo
centerNo
ts_handleNo
presentationNo
project_nameNo
active_tal_idNo
classificationNo
map_session_idNo
merge_strategyNo
guidance_handleNo
active_part_layerNo
expected_revisionNo
loaded_part_layersNo
expected_content_hashNo
point_layer_classificationsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so richly: it discloses persistence ('persists to ts.properties.map_config.project_name'), emitted events ('emits config_changed so a linked session refreshes the heading in place'), server-side computation of breaks with returned per-class counts, replace-not-merge semantics ('a second color entry replaces the first'), clear:true behavior, method defaults, categorical missing-value handling ('Ungrouped class'), and camera side effects ('jump an open MC when included on this call; Monica's pan is not captured'). It even warns against a stale ts_handle stripping points/part layers.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is front-loaded with clear inline labels ('When:', 'POINT SYMBOLOGY:', 'Next:', 'Scenarios:'), which helps navigation, but it reads as a dense wall of text ballooning well past the param list, and some content repeats (config_changed is explained twice). For a tool this complex much is justified, yet trimming redundancy and adding line structure would improve scannability.

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?

Given 16 parameters, no annotations, and an existing output schema (so return values need not be documented), the description covers triggers, prerequisites, side effects, defaults, and misuse routing at a high level. It falls short only on the unexplained concurrency parameters (expected_revision, expected_content_hash) and merge_strategy, which matter for safe repeated invocation.

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 0% across 16 parameters, so the description must and largely does compensate: it defines point_layer_classifications entry structure (point_layer, field, method, class_count range 2-12, channel, optional colors/sizes/shapes, style), supported shape aliases, and the meaning of classification-vs-point_layer_classifications, center ([longitude, latitude]) and zoom (0-24). However merge_strategy, expected_revision, expected_content_hash, and guidance_handle receive no explanation, leaving concurrency/optimistic-locking semantics undocumented.

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?

The description opens with a bracketed tier/role ('Durable Map Config') and an explicit verb list ('set or update project_name, loaded_part_layers, active_part_layer, active_tal_id, point_layer_classifications, classification, presentation, center, or zoom on the TS'), so the resource and scope are unambiguous. It also names the sibling it is NOT ('Not the entry tool for browsing a TS — that is get_map_visualization (I-1)'), letting an agent separate it from sibling tools without opening 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?

There is an explicit 'When:' trigger, prerequisites ('map_session_id, ts_handle, or inline ts; points already ingested before point_layer_classifications'), follow-on guidance ('Next: build or analyze; if active TAL changes, re-run analyze then load_analysis_panel'), and an explicit anti-pattern ('never export GeoJSON, compute breaks client-side, and repost a TS'). It also routes a misuse case ('a point-layer-targeted classification is routed to symbology with a warning'). Usage is fully specified.

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