Skip to main content
Glama

map_invalidate_edge

[PUBLIC WRITE - TOPOLOGY DEACTIVATE] Soft-delete/deactivate an existing directional relation in the Map Ledger without erasing lineage history (Graphiti Temporal Evolution Standard). ROUTING vs SIBLINGS: Use map_invalidate_edge ONLY to DEACTIVATE an active relation; use map_update_edge to ADD or UPDATE an edge. ERROR SEMANTICS: Returns INVALID_EDGE error if the target edge does not exist. RETURNS: { success: true, invalidated_edge_id: string }. Side effects: Marks edge status as "INVALIDATED" in global topology graph.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "from": "<from>",
      "to": "<to>"
    },
    "name": "map_invalidate_edge"
  }
}

Input Schema

NameRequiredDescriptionDefault
toYesTarget node ID.
relNoOptional relation type filter (supports, why, depends_on).
fromYesSource node ID.
reasonNoReason for deactivating this relation (recorded in WAL).
edge_idNoOptional exact edge ID to invalidate.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / edge_id
      Added value: +{
      +  "description": "Optional exact edge ID to invalidate.",
      +  "type": "string"
      +}
    • addedInput schema / properties / reason
      Added value: +{
      +  "description": "Reason for deactivating this relation (recorded in WAL).",
      +  "type": "string"
      +}
    • changedInput schema / properties / rel / description
      Previous value: -"Optional relation type filter."New value: +"Optional relation type filter (supports, why, depends_on)."
  2. Added

TDQS

A4.3/5.0
Behavior4/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 well: it discloses the soft-delete semantics (lineage history preserved), the INVALID_EDGE error condition, the exact return payload, and the side effect of setting status to "INVALIDATED". It stops short of saying whether repeat calls are idempotent or what happens when several edges match the same from/to pair.

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?

Each labeled block (routing, error semantics, returns, side effects) is front-loaded and skimmable. A little space is spent on unhelpful framing such as "Graphiti Temporal Evolution Standard" and the bracketed tag, but no sentence is wasted.

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 no-annotation mutation with no output schema, the description supplies the return shape, error behavior, and side effect, which is most of what an agent needs. The remaining gap is the multi-edge match case (from/to without rel or edge_id), which is left ambiguous.

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 coverage is 100%, so the schema already documents all five parameters including the rel filter and optional edge_id. The description adds only indirect context (WAL recording, INVALIDATED status) and never explains precedence when edge_id is supplied alongside from/to, so the baseline 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?

States a specific verb and resource ("Soft-delete/deactivate an existing directional relation in the Map Ledger") and immediately clarifies the variant it is not: map_update_edge. The distinction between deactivation and erasure of lineage is spelled out, so an agent can separate it from map_update_edge without opening either 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?

"Use map_invalidate_edge ONLY to DEACTIVATE an active relation; use map_update_edge to ADD or UPDATE an edge" gives an explicit when-to-use plus the named alternative. That is a direct routing rule rather than an implied one.

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