Skip to main content
Glama

describe_board

List a board's pages, objects, positions and connector links, including live selection, to inspect draw.io, Excalidraw, JSON Canvas or Mermaid files.

Instructions

Lists the pages and objects of a board (id, type, text, position, connector links). In live mode, also reports the user's selection (selection). Also reads draw.io, Excalidraw, JSON Canvas and Mermaid files. detail: "full" adds each object's style, font, stacking order z, group, lock, rotation and (connectors) route and arrow; tables also list their cells.

Input Schema

NameRequiredDescriptionDefault
pageNoPage: number (from 1) or name. Defaults to the first.
pathNoPath of the board file (.inkboard; .inkboard.json and .tableau.json also accepted). Optional when the application is open: the tool then acts live on the displayed board (undoable with Ctrl+Z).
detailNoDefault brief (id, type, text, position). full: also style {stroke, fill, width, dash, opacity, roundness}, font {family, size, align}, z, group, locked, rotation (degrees), route, arrow.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden; it does disclose that live mode acts on the displayed board and is undoable with Ctrl+Z, and that `selection` is only reported in live mode. However, it never states plainly that this is a read/inspection operation, nor does it cover permission requirements or behavior on missing/invalid files.

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?

Three dense sentences, front-loaded with the core purpose before mode and detail qualifications. The parenthetical field lists are slightly crammed but each carries information an agent needs to predict output shape.

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?

No output schema exists, so the description must describe returns, and it does: brief fields, full-mode extras, table cells, and live-mode `selection`. It stops short of covering failure modes (unsupported file, page not found) or whether reading large boards is bounded.

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 the baseline is 3, but the description earns above it by detailing that `detail: "full"` adds style, font, z, group, lock, rotation, route/arrow and that tables additionally list `cells` — specifics the schema's detail description does not fully enumerate. It also clarifies the live-mode behavior tied to `path`.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Lists the pages and objects of a board') and enumerates the returned fields. It also establishes that the tool reads external diagram formats, which implicitly separates it from output-producing siblings like export or render, but it never names a sibling to differentiate itself explicitly.

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

Usage Guidelines3/5

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

Usage is only implied: the 'live mode' sentence hints at when the path parameter may be omitted, and the `detail: "full"` sentence hints at when to request richness. There is no explicit when-to-use/when-not guidance relative to alternatives such as find_objects or render.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.