Skip to main content
Glama

atisbo_map

Destructive

Map facade: create/apply maps, generate/edit nodes and edges, anchor claims/snippets, bind metrics, manage claim-snipe maps, regroup (merge/split). Prefer mode=apply for full MECE categorization. TWO WAYS TO PUT A CLAIM ON A NODE, not interchangeable: mode=anchor sets the TAXONOMY category (auto_node_id; refuses non-taxonomy maps); mode=link_claims adds STRUCTURAL-map membership (claim keeps its category; refuses taxonomy maps).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeYesNotes per mode in meta.guidance.
nameNoMap, node, or metric name.
noteNolink_claims: rationale stored on every link.
labelNo
levelNoNode hierarchy depth.
map_idNoMap UUID.
anchorsNoBatch claim anchors.
edge_idNoEdge UUID for delete_edge mode.
node_idNoNode UUID.
previewNoregroup: read-only preview — ALWAYS run it first.
branchesNoBranches for apply mode.
claim_idNoClaim UUID — resolve names with atisbo_lookup mode=resolve first
map_typeNo
providerNoMetric provider: posthog, amplitude, stripe, manual…
templateNo
claim_idsNolink_claims: claims to place under node_id.
directionNoregroup: broader merges; specific splits.
edge_typeNo
new_levelNoNew depth after a move.
parent_idNoParent node UUID.
binding_idNometric_update: binding to update (atisbo_lookup mode=get, metrics[].id).
event_nameNo
snippet_idNo
updated_atNometric_update: binding updated_at from your last read (stale edits fail).
assignmentsNo
descriptionNoMap/node/branch description.
metric_nameNo
metric_typeNo
target_valueNo
current_valueNometric_update: today's value; same-day re-entry replaces it.
grouping_modeNo
new_parent_idNoMove target parent; null promotes to root.
regroup_levelNoregroup broader: merge aggressiveness.
source_map_idNo
branch_optionsNo
source_node_idNo
target_node_idNo
workspace_wideNoregroup: explicit YES to run WORKSPACE-WIDE (refused without it).
context_answersNoGrounding answers for AI map generation.
historical_dataNometric_update: full series REPLACEMENT (omit to append current_value).
time_range_daysNo
target_thresholdNoregroup direction=specific: split threshold.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • changedInput schema / properties / direction / description
      Previous value: -"regroup: broader merges similar claims; specific splits them."New value: +"regroup: broader merges; specific splits."
    • changedInput schema / properties / note / description
      Previous value: -"link_claims: why these claims sit under this driver; stored on every link."New value: +"link_claims: rationale stored on every link."
    • changedInput schema / properties / preview / description
      Previous value: -"regroup: read-only preview. ALWAYS preview before executing."New value: +"regroup: read-only preview — ALWAYS run it first."
    • changedInput schema / properties / regroup_level / description
      Previous value: -"regroup direction=broader: merge aggressiveness."New value: +"regroup broader: merge aggressiveness."
    • changedInput schema / properties / target_threshold / description
      Previous value: -"regroup direction=specific: split similarity threshold."New value: +"regroup direction=specific: split threshold."
    • addedInput schema / properties / workspace_wide
      Added value: +{
      +  "description": "regroup: explicit YES to run WORKSPACE-WIDE (refused without it).",
      +  "type": "boolean"
      +}
  2. Changed1 schema field changed
    • removedOutput schema / required
      Removed value: -[
      -  "result"
      -]
  3. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "result": {}
      +  },
      +  "required": [
      +    "result"
      +  ],
      +  "type": "object"
      +}
  4. Changed20 schema fields changed
    • removedInput schema / properties / anchors / minItems
      Removed value: -1
    • removedInput schema / properties / assignments / items / properties / branchKey / minLength
      Removed value: -1
    • removedInput schema / properties / assignments / items / properties / branchName / minLength
      Removed value: -1
    • removedInput schema / properties / assignments / items / properties / branch_key / minLength
      Removed value: -1
    • removedInput schema / properties / assignments / items / properties / branch_name / minLength
      Removed value: -1
    • removedInput schema / properties / bindingId
      Removed value: -{
      -  "description": "Alias for binding_id.",
      -  "format": "uuid",
      -  "type": "string"
      -}
    • removedInput schema / properties / branch_options / items / properties / key / minLength
      Removed value: -1
    • removedInput schema / properties / branch_options / items / properties / label / minLength
      Removed value: -1
    • removedInput schema / properties / branch_options / minItems
      Removed value: -1
    • removedInput schema / properties / branches / items / properties / name / minLength
      Removed value: -1
    • removedInput schema / properties / branches / minItems
      Removed value: -1
    • removedInput schema / properties / claim_ids / minItems
      Removed value: -1
    • removedInput schema / properties / currentValue
      Removed value: -{
      -  "description": "Alias for current_value.",
      -  "type": "number"
      -}
    • removedInput schema / properties / historicalData
      Removed value: -{
      -  "description": "Alias for historical_data.",
      -  "items": {
      -    "properties": {
      -      "date": {
      -        "type": "string"
      -      },
      -      "value": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "date",
      -      "value"
      -    ],
      -    "type": "object"
      -  },
      -  "maxItems": 365,
      -  "type": "array"
      -}
    • removedInput schema / properties / metric_name / minLength
      Removed value: -1
    • removedInput schema / properties / name / minLength
      Removed value: -1
    • removedInput schema / properties / provider / minLength
      Removed value: -1
    • removedInput schema / properties / time_range_days / maximum
      Removed value: -9007199254740991
    • removedInput schema / properties / time_range_days / minimum
      Removed value: --9007199254740991
    • removedInput schema / properties / updatedAt
      Removed value: -{
      -  "description": "Alias for updated_at.",
      -  "format": "date-time",
      -  "type": "string"
      -}
  5. Changed7 schema fields changed
    • changedInput schema / properties / assignments / items / description
      Previous value: -"One snippet per L2 branch: snippet_id + branch_key (branch_name derives)."New value: +"One snippet per L2 branch: snippet_id + branch_key."
    • changedInput schema / properties / binding_id / description
      Previous value: -"metric_update: binding to update — from atisbo_lookup mode=get (metrics[].id)."New value: +"metric_update: binding to update (atisbo_lookup mode=get, metrics[].id)."
    • changedInput schema / properties / direction / description
      Previous value: -"regroup: broader merges similar claims, specific splits claims apart."New value: +"regroup: broader merges similar claims; specific splits them."
    • changedInput schema / properties / historical_data / description
      Previous value: -"metric_update: full series REPLACEMENT. Omit to append current_value instead."New value: +"metric_update: full series REPLACEMENT (omit to append current_value)."
    • changedInput schema / properties / name / description
      Previous value: -"Map, node, or metric name depending on mode."New value: +"Map, node, or metric name."
    • changedInput schema / properties / regroup_level / description
      Previous value: -"For mode=regroup, direction=broader: how aggressively to merge."New value: +"regroup direction=broader: merge aggressiveness."
    • changedInput schema / properties / updated_at / description
      Previous value: -"metric_update: binding updated_at from your last read; concurrent edits fail STALE_DATA."New value: +"metric_update: binding updated_at from your last read (stale edits fail)."
  6. Changed3 schema fields changed
    • changedInput schema / properties / branches / items / properties / description / description
      Previous value: -"Branch description. ≤2000 chars."New value: +"Branch description."
    • changedInput schema / properties / description / description
      Previous value: -"Map/node/branch description. ≤2000 chars."New value: +"Map/node/branch description."
    • changedInput schema / properties / target_threshold / description
      Previous value: -"regroup direction=specific: split similarity threshold (0.50–0.98)."New value: +"regroup direction=specific: split similarity threshold."
  7. Changed6 schema fields changed
    • changedInput schema / properties / current_value / description
      Previous value: -"metric_update: today's value; same-day re-entry replaces, not stacks."New value: +"metric_update: today's value; same-day re-entry replaces it."
    • changedInput schema / properties / historical_data / description
      Previous value: -"metric_update: full series REPLACEMENT. Omit to append current_value as a same-day point instead."New value: +"metric_update: full series REPLACEMENT. Omit to append current_value instead."
    • changedInput schema / properties / preview / description
      Previous value: -"regroup: read-only preview of the merge/split. ALWAYS preview before executing."New value: +"regroup: read-only preview. ALWAYS preview before executing."
    • changedInput schema / properties / provider / description
      Previous value: -"Metric provider, e.g. posthog, amplitude, stripe, manual."New value: +"Metric provider: posthog, amplitude, stripe, manual…"
    • changedInput schema / properties / target_threshold / description
      Previous value: -"For mode=regroup, direction=specific: split similarity threshold (0.50–0.98)."New value: +"regroup direction=specific: split similarity threshold (0.50–0.98)."
    • changedInput schema / properties / updated_at / description
      Previous value: -"metric_update: binding updated_at from your last read; concurrent edits fail STALE_DATA rather than overwrite."New value: +"metric_update: binding updated_at from your last read; concurrent edits fail STALE_DATA."
  8. Changed1 schema field changed
    • changedInput schema / properties / mode / description
      Previous value: -"Mode-specific notes return in meta.guidance after the call."New value: +"Notes per mode in meta.guidance."
  9. Changed1 schema field changed
    • changedInput schema / properties / binding_id / description
      Previous value: -"metric_update: binding to update — from atisbo_lookup mode=node (metrics[].id)."New value: +"metric_update: binding to update — from atisbo_lookup mode=get (metrics[].id)."
  10. Changed2 schema fields changed
    • changedInput schema / properties / assignments / items / description
      Previous value: -"One snippet per L2 branch: snippet_id + branch_key; branch_name derives from the key."New value: +"One snippet per L2 branch: snippet_id + branch_key (branch_name derives)."
    • changedInput schema / properties / current_value / description
      Previous value: -"metric_update: today's value; appended as a same-day point when no historical_data (re-entry replaces it, not stacked)."New value: +"metric_update: today's value; same-day re-entry replaces, not stacks."
  11. Changed1 schema field changed
    • addedInput schema / required
      Added value: +[
      +  "mode"
      +]
  12. First observed

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=true, so the safety profile is known; the description then adds mode-level behavioral constraints ('refuses non-taxonomy maps', 'refuses taxonomy maps'). However, it never says which modes are destructive (delete, regroup, sync_claim_snipes) or what data is lost, leaving a meaningful gap for a destructive multi-mode tool.

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

Conciseness5/5

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

Two tightly packed sentences, front-loaded with the facade scope and followed by the single highest-risk disambiguation. Every clause maps to a distinct capability or constraint; nothing is filler.

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?

Output schema exists, so return values need no explanation, and the description plus meta.guidance pointer covers the mode-driven surface. Completeness is slightly reduced because the bulk of per-mode semantics is deferred to meta.guidance rather than stated here, and destructive scope remains unstated.

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?

With 42 parameters at 62% schema coverage, the description must carry weight, and it does: it explains the required mode parameter's routing intent, disambiguates anchor vs link_claims semantics, and flags preview-first and mode=apply preference. It does not cover the many other mode-specific parameters, so it stops short of full compensation.

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 opening sentence names specific verbs and resources (create/apply maps, generate/edit nodes and edges, anchor claims/snippets, bind metrics, regroup) and explicitly frames the tool as a 'map facade', which cleanly separates it from the analyze/decide/capture siblings. An agent immediately knows this is the map-mutation surface.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

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

Adds real routing guidance: 'Prefer mode=apply for full MECE categorization' and a precise when-to-use-which rule for mode=anchor vs mode=link_claims, including the refusal conditions (non-taxonomy vs taxonomy maps). It does not route among all 17 modes or vs atisbo_connect for edges, so it falls short of a 5.

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