Skip to main content
Glama

focus_view

Read-only

Drives the Focus filter AND the camera of the user's canvas (web interface): greys out the blocks that do not concern the requested people/state, or highlights specific blocks (spotlight — the camera frames them), or clears the filter. cellIds + dim:false = CAMERA ONLY: the view frames these blocks without greying anything out or setting a filter. frame sets the camera FRAMING: 'close' (default with cellIds) tightens on these blocks, 'overview' shows the whole displayed view (alone, greying nothing out; or with cellIds, which are highlighted while the camera shows everything); it cannot be combined with personIds/status/clear. dive: { cellId } dives into the project linked to this host block (the project is read from the block's project link and is not supplied; refused, naming the block, if it carries none) and ascend goes back up one level ('up') or to the root ('root'): these two VIEW actions are only carried out at the END of the chat turn, and not during your calls (diving switches the chat to the conversation of the linked project), and are exclusive with each other and with all the other fields. Modifies NO data — a purely visual effect in the active web session; over MCP (no canvas) the call is validated and returns its directive, but NOTHING is played. Fits when the user asks to "show", "filter", "highlight" or "grey out" elements, or to take them there ("zoom on", "dive into", "go back up").

Input Schema

NameRequiredDescriptionDefault
dimNoWith cellIds only. true (default): the other blocks are greyed out. false: CAMERA ONLY — the view frames these blocks, nothing is greyed out and no filter is set. Refused without cellIds
diveNoDive into the project linked to a host block (the one of a create_nested_project / link_project_to_cell). Carried out by the interface at the END of the chat turn; exclusive with all the other fields
clearNotrue to clear any filter in progress
frameNoCamera framing. 'close' (default with cellIds): TIGHT framing on these blocks. 'overview': OVERVIEW of the whole displayed view — alone (nothing is greyed out), or with cellIds (they are highlighted, the camera shows everything). Refused with personIds/status/clear/dive/ascend; 'close' requires cellIds
ascendNoGo back up the view: 'up' = one level, 'root' = all the way to the root project. Carried out by the interface at the END of the chat turn; no effect if the view is already at the root; exclusive with all the other fields
statusNoOnly the blocks carrying an action in this state stay sharp (can be combined with personIds)
cellIdsNoHighlight these specific blocks (spotlight) and frame the camera on them — exclusive with personIds/status
personIdsNoIds of the people to focus on (the blocks that do not mention them are greyed out in the interface)
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. Changed10 schema fields changed
    • changedInput schema / properties / ascend / description
      Previous value: -"Remonter la vue : 'up' = d'un cran, 'root' = jusqu'au projet racine. Joué par l'interface à la FIN du tour en chat ; sans effet si la vue est déjà à la racine ; exclusif avec tous les autres champs"New value: +"Go back up the view: 'up' = one level, 'root' = all the way to the root project. Carried out by the interface at the END of the chat turn; no effect if the view is already at the root; exclusive with all the other fields"
    • changedInput schema / properties / cellIds / description
      Previous value: -"Mettre en surbrillance ces blocs précis (spotlight) et cadrer la caméra dessus — exclusif avec personIds/status"New value: +"Highlight these specific blocks (spotlight) and frame the camera on them — exclusive with personIds/status"
    • changedInput schema / properties / clear / description
      Previous value: -"true pour effacer tout filtre en cours"New value: +"true to clear any filter in progress"
    • changedInput schema / properties / dim / description
      Previous value: -"Avec cellIds seulement. true (défaut) : les autres blocs sont grisés. false : CAMÉRA SEULE — la vue se cadre sur ces blocs, rien n'est grisé et aucun filtre n'est posé. Refusé sans cellIds"New value: +"With cellIds only. true (default): the other blocks are greyed out. false: CAMERA ONLY — the view frames these blocks, nothing is greyed out and no filter is set. Refused without cellIds"
    • changedInput schema / properties / dive / description
      Previous value: -"Plonger dans le projet rattaché à un bloc hôte (celui d'un create_nested_project / link_project_to_cell). Joué par l'interface à la FIN du tour en chat ; exclusif avec tous les autres champs"New value: +"Dive into the project linked to a host block (the one of a create_nested_project / link_project_to_cell). Carried out by the interface at the END of the chat turn; exclusive with all the other fields"
    • changedInput schema / properties / dive / properties / cellId / description
      Previous value: -"Id du bloc HÔTE de ce projet qui porte un rattachement (projectLink) : l'interface plonge dans le projet rattaché à ce bloc. Le projet visé est lu sur le bloc, jamais fourni ici"New value: +"Id of the HOST block of this project that carries a project link (projectLink): the interface dives into the project linked to that block. The target project is read from the block and is not supplied here"
    • 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 / frame / description
      Previous value: -"Cadrage de la caméra. 'close' (défaut avec cellIds) : cadrage SERRÉ sur ces blocs. 'overview' : VUE D'ENSEMBLE de toute la scène affichée — seul (rien n'est grisé), ou avec cellIds (ils sont mis en lumière, la caméra montre tout). Refusé avec personIds/status/clear/dive/ascend ; 'close' exige cellIds"New value: +"Camera framing. 'close' (default with cellIds): TIGHT framing on these blocks. 'overview': OVERVIEW of the whole displayed view — alone (nothing is greyed out), or with cellIds (they are highlighted, the camera shows everything). Refused with personIds/status/clear/dive/ascend; 'close' requires cellIds"
    • changedInput schema / properties / personIds / description
      Previous value: -"Ids des personnes à mettre en focus (les blocs qui ne les mentionnent pas seront grisés dans l'interface)"New value: +"Ids of the people to focus on (the blocks that do not mention them are greyed out in the interface)"
    • changedInput schema / properties / status / description
      Previous value: -"Ne garder nets que les blocs portant une action dans cet état (combinable avec personIds)"New value: +"Only the blocks carrying an action in this state stay sharp (can be combined with personIds)"
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations declare readOnlyHint/openWorldHint, but the description adds far more: 'Modifies NO data — a purely visual effect in the active web session; over MCP (no canvas) the call is validated and returns its directive, but NOTHING is played.' It also discloses the deferred execution of dive/ascend at the END of the chat turn and the refusal-with-name behavior when a block lacks a project link. This is exactly the 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?

Front-loaded with the core purpose before the parameter interplay, and nearly every clause carries operative information (modes, exclusivity, MCP behavior). It is a dense single run-on paragraph, however, and separating the mode rules from the deferred-action rules would improve scanability.

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?

For a 9-parameter, zero-required, nested-object tool with no output schema, the description covers everything an agent needs: operating modes, field exclusivity, deferred execution, no-data-mutation, and MCP-vs-web behavior. Nothing essential to correct invocation is missing.

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 100%, so baseline is 3, but the description adds cross-parameter meaning the schema does not: 'cellIds + dim:false = CAMERA ONLY', the close/overview framing interplay with cellIds, and the frame-vs-personIds/status incompatibility. It meaningfully reduces the chance of a malformed combination call.

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 dual resource: it 'Drives the Focus filter AND the camera of the user's canvas.' The three operating modes (grey-out, spotlight, clear) and the CAMERA-ONLY variant are named, so an agent can immediately distinguish this from sibling read/list tools like analyze_canvas or get_cell_details.

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 tells the agent when to reach for it: 'Fits when the user asks to "show", "filter", "highlight" or "grey out" elements, or to take them there ("zoom on", "dive into", "go back up").' It also documents internal exclusivity rules (frame vs personIds/status/clear, dive/ascend exclusive with all fields). It does not name a competing sibling to prefer instead, so 4 rather than 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.