Skip to main content
Glama

update_dependency

Destructive

Updates an existing dependency. NATURE of the dependency: type ('business' = dashed business arrow, 'structural' = solid hierarchy) — change it HERE rather than by deleting then recreating, which would lose the dependency's identity and its history. Per-arrow appearance: label, style ('solid'/'dashed'), shares, fromAnchor/toAnchor, animated (true/false/null), color (ColorKey or null), strokeWidth (px or null), waypoints (list of manual waypoints or null to go back to automatic routing).

Input Schema

NameRequiredDescriptionDefault
idYes
typeNobusiness = dashed business arrow, structural = solid hierarchy. Changes the NATURE of the dependency without losing its identity (hence its history).
colorNoStroke color. null = default.
labelNo
styleNo
sharesNo
animatedNoEnables/disables the animation. null = type default.
toAnchorNo
waypointsNoManual waypoints (absolute canvas px). null to go back to automatic routing.
fromAnchorNo
strokeWidthNoWidth in px. null = default.
expectedProjectIdNoUUID of the project targeted by THIS call. ACTUALLY targets this project instead of the session project. Refused without changing anything if access is not granted.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • changedInput schema / properties / animated / description
      Previous value: -"Active/désactive l'animation. null = défaut du type."New value: +"Enables/disables the animation. null = type default."
    • changedInput schema / properties / color / description
      Previous value: -"Couleur du trait. null = défaut."New value: +"Stroke color. null = default."
    • changedInput schema / properties / expectedProjectId / description
      Previous value: -"UUID du projet visé par CET appel. Cible RÉELLEMENT ce projet au lieu du projet de session. Refusé sans rien modifier si l'accès n'est pas accordé."New value: +"UUID of the project targeted by THIS call. ACTUALLY targets this project instead of the session project. Refused without changing anything if access is not granted."
    • changedInput schema / properties / strokeWidth / description
      Previous value: -"Épaisseur en px. null = défaut."New value: +"Width in px. null = default."
    • changedInput schema / properties / type / description
      Previous value: -"business = flèche tiretée métier, structural = hiérarchie solide. Change la NATURE du lien sans perdre son identité (donc son historique)."New value: +"business = dashed business arrow, structural = solid hierarchy. Changes the NATURE of the dependency without losing its identity (hence its history)."
    • changedInput schema / properties / waypoints / description
      Previous value: -"Points de coude manuels (px canvas absolus). null pour repasser en routage auto."New value: +"Manual waypoints (absolute canvas px). null to go back to automatic routing."
  2. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and openWorldHint=false, so the description only needs to add mutation context — and it does, warning that recreating loses identity and history, and defining null semantics for waypoints and style fields. It omits whether this is a partial update (unmentioned fields preserved) or whether passing null clears a value, which is the main residual gap.

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?

Front-loads the core action, then groups the rest as 'NATURE' versus 'Per-arrow appearance', which mirrors how an agent reasons about the tool. It is dense but every clause carries meaning; the em-dash nesting makes it slightly harder to scan than it could be.

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 12-parameter destructive mutation with no output schema, the description covers the conceptually risky parts (changing type, resetting waypoints) and the identity-preservation rationale. Partial-update/clear semantics remain unstated, which is the one thing an agent could still get wrong.

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 coverage is 50%, and the description compensates by explaining type ('business' = dashed arrow, 'structural' = solid hierarchy), waypoints (manual absolute px, null returns to automatic routing), and null defaults for animation/color/strokeWidth. It leaves 'label', 'shares', and fromAnchor/toAnchor as bare names, so the compensation is helpful but incomplete.

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 ('Updates an existing dependency') and immediately enumerates the mutable aspects (type, label, style, shares, anchors, animation, color, strokeWidth, waypoints), so it is clearly separable from add_dependency and delete_dependency.

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?

Explicitly steers the agent to change nature here rather than via delete-then-recreate, because that would lose the dependency's identity and history. That is a real alternative-path rule, though there is no guidance on when not to use this tool or on permissions/context requirements.

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.