Skip to main content
Glama

add_cell_id_alias

Adds an extra call identifier (alias) to "rename" a block's identifier WITHOUT DESTROYING ANYTHING. The canonical identifier in the database does not change — so no reference (dependencies, tasks, documents, comments, versions) needs to move, and ANY identifier the block has ever had keeps working forever in all tools. The new identifier is reserved FOR LIFE for this block in the project: it can never designate another block or serve as the identifier of a new block. ⚠️ What this does NOT do: DERIVED identifiers (for example a struct-- dependency) keep citing the canonical identifier — this is expected and is never a defect. Replaying the call with the same pair converges (no duplicate). Renaming an identifier with delete_cell + add_cell destroys the links (tasks, documents, sub-blocks): only the alias keeps them.

Input Schema

NameRequiredDescriptionDefault
newIdYesThe new call identifier (kebab-case, like any block id). It becomes an ALIAS resolved by all tools, and it is reserved FOR LIFE for this block in the project — it can never be reused for another block, even after deletion.
cellIdYesThe block to "rename" — its CURRENT (canonical) identifier or any of its aliases already added: both are resolved.
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. Changed3 schema fields changed
    • changedInput schema / properties / cellId / description
      Previous value: -"Le bloc à « renommer » — son identifiant ACTUEL (canonique) ou n’importe lequel de ses alias déjà posés : les deux sont résolus."New value: +"The block to \"rename\" — its CURRENT (canonical) identifier or any of its aliases already added: both are resolved."
    • 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 / newId / description
      Previous value: -"Le nouvel identifiant d’appel (kebab-case, comme tout id de bloc). Il devient un ALIAS résolu par tous les outils, et il est réservé À VIE à ce bloc dans le projet — jamais réutilisable pour un autre bloc, même après suppression."New value: +"The new call identifier (kebab-case, like any block id). It becomes an ALIAS resolved by all tools, and it is reserved FOR LIFE for this block in the project — it can never be reused for another block, even after deletion."
  2. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only tell the agent this is a non-read, non-destructive write; the description goes well beyond that by explaining that the canonical id is unchanged, that references need not move, that the alias is reserved for life and can never be reused, that derived identifiers intentionally keep citing the canonical id, and that replaying the call converges without duplicates. The idempotency and reservation semantics are exactly the kind of behavioral context annotations cannot carry.

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 non-destructive guarantee is front-loaded and the structure (effect, caveats, alternative) is easy to follow, but the all-caps emphasis, warning emoji, and restatement of the 'reserved FOR LIFE' rule already present in the schema descriptions add some redundancy. It is informative rather than padded, so it stays above the midpoint.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description still tells the agent everything needed to call the tool correctly: what changes, what does not, what is irreversible, and what happens on repeated invocation. All three parameters are required-or-optional with clear semantics, so nothing material is missing.

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%, so the schema already documents all three parameters, and the description's claims about newId being 'reserved FOR LIFE' and cellId accepting canonical ids or existing aliases largely duplicate the schema text. Baseline 3 is appropriate since the description adds little parameter meaning beyond what structured fields provide.

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 states a specific verb and resource ('Adds an extra call identifier (alias)') and immediately clarifies the intended effect ('to "rename" a block's identifier WITHOUT DESTROYING ANYTHING'), which separates it from the delete_cell/add_cell rename path named later. An agent can identify this tool's role without opening the schema.

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?

It gives a clear context for use (renaming an identifier while preserving references) and names an explicit alternative — delete_cell + add_cell — along with the consequence that selects against it (links are destroyed). It does not state a hard 'do not use this when...' rule, so it falls just short of the 5 bar.

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.