Skip to main content
Glama

Map Switch

map_switch
Destructive

Set the active campaign map through REST and notify clients over WebSocket, so DMs can switch the table to an existing map by ID. Get IDs from map_list.

Instructions

Set the current campaign map through REST, then notify via WS map.change (DM only). Use map_list to choose an existing map; token_move changes a token, not the active map. REST persistence and WS dispatch are separate: persisted=true does not prove clients received the change. A WS failure returns ok=false with data.persisted=true; do not replay or roll back the saved change. Broadcast receipt remains sent=true, confirmed=false,status="pending"; inspect events_poll for results/errors, not an ACK. Repeating may repeat notifications even when the current map is already correct. v1.5.0 retains the REST-first current-map rule. Returns {ok:true,data} on success; tool-body failures return {ok:false,error} with optional diagnostic data. Argument-schema errors are MCP errors.

Input Schema

NameRequiredDescriptionDefault
map_idYesExisting map ID in the configured campaign, obtained from map_list; becomes the active map for the table.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.3.0
    • addedInput schema / properties / map_id / description
      Added value: +"Existing map ID in the configured campaign, obtained from map_list; becomes the active map for the table."
  2. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already flag destructive=true, idempotentHint=false, and openWorldHint=true, but the description goes well beyond them: it discloses that REST persistence and WS dispatch are separate, that persisted=true does not prove clients received the change, that a WS failure yields ok=false with data.persisted=true, and that the agent must not replay or roll back. It also explains the broadcast receipt semantics (sent=true, confirmed=false, status='pending') and directs the agent to events_poll rather than expecting an ACK. This is unusually rich operational 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?

The purpose is front-loaded and almost every sentence carries operational weight, but the prose is dense and run-on in places, and the version note ('v1.5.0 retains the REST-first current-map rule') is borderline filler for a one-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?

An output schema exists, so the description does not need to explain return values, yet it usefully clarifies the ok=true/ok=false envelope and the distinction between tool-body failures and MCP argument-schema errors. Combined with the failure-handling guidance, it is effectively complete, with only minor redundancy against the output schema.

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 100% and there is only one parameter, so the schema already documents that map_id is an existing map ID from map_list. The description adds no syntax or format detail beyond that, so the baseline of 3 applies.

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 first sentence states a specific verb and resource: 'Set the current campaign map through REST, then notify via WS map.change.' It explicitly distinguishes itself from siblings, noting map_list is for choosing an existing map and token_move changes a token rather than the active map. An agent can select this tool without opening any 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?

Alternatives are named with the condition that selects them: use map_list to pick an existing map, and token_move is explicitly not for the active map. The 'DM only' constraint and the warning that repeating may re-notify even when the map is already correct give clear when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.