Skip to main content
Glama
questdb

mcp-server-questdb

Official

get_notebook_state

Return a full structural snapshot of a notebook—layout, cells, previews, pane dimensions, types, and last-run statuses—without reading cell data.

Instructions

Full structural snapshot of a notebook (layout, cells with previews, semantic pane dimensions, kind via type, last-run statuses). Cell grid contains x/y/w only; height is derived from editor_height, result_height, and view. view reports what a SQL/draw cell presents: "editor" while there is nothing to show, else the stored result or editor_result arrangement. Markdown has no pane-view state: it reports view and result_height as null. Other LIVE-ONLY fields are refreshing: true, last_refresh_error, and auto_refresh_blocked: "contains_write"; absence never means "not refreshing" or "not blocked". last_run_status is unrelated to refresh state: it stays the outcome of the last completed RUN. auto_refresh_default is omitted when the notebook has no configured default. type:"markdown" marks a prose cell; SQL cells omit type. No cell data values; no columns/rows/count. Previews are capped at 120 chars — cells cut carry preview_truncated: true + full_length; a preview is never a cell's real content to write back.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
buffer_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

B3.2/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 substantial work: it discloses LIVE-ONLY fields (refreshing, last_refresh_error, auto_refresh_blocked), warns that field absence does not imply the negative state, clarifies last_run_status is unrelated to refresh state, and explains markdown null semantics. It omits operational traits like permissions or whether the notebook must be active, so it is strong but not exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The snapshot purpose is front-loaded, but the body is a dense, comma-chained block of field semantics that is hard to scan and mixes many distinct topics (view state, live-only flags, type markers, preview truncation) without structure. Most clauses are informative, yet the run-on density works against quick comprehension.

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?

There is no output schema, so the description must explain the return shape and it does so in depth — field presence/absence semantics, null handling, truncation caps, and the distinction between previews and real content. Given no annotations and a single input param, this is nearly complete, missing only the input parameter's meaning.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The sole parameter buffer_id has 0% schema description coverage and is never mentioned in the description. The description must compensate for the low coverage but instead spends all its text on return-value semantics, leaving the meaning, format, and source of buffer_id entirely undocumented.

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?

The opening sentence names a concrete verb+resource: a full structural snapshot of a notebook, and enumerates what the snapshot contains (layout, cells with previews, semantic pane dimensions, kind, last-run statuses). It also draws a boundary by stating what is excluded (no cell data values, no columns/rows/count), which helps separate it from list_cells/get_cell. It never explicitly names or contrasts a sibling, so it falls short of a 5.

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

Usage Guidelines2/5

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

There is no statement of when to use this tool versus alternatives such as list_cells, get_cell, or get_workspace_state, and no prerequisites or preconditions are given. Usage is only inferable from the field inventory (it is a read-oriented snapshot), which is exactly the 'implied usage' floor. No exclusions or routing guidance are provided.

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