Skip to main content
Glama
questdb

mcp-server-questdb

Official

get_workspace_state

Retrieves the active notebook's current workspace state at the start of each turn, including cells, layout, chart configs, and last-run statuses, so agents know what to edit or run next.

Instructions

If notebook tools fail with BRIDGE_NOT_PAIRED, call get_pairing_credentials to begin pairing (the response includes a one-click URL to show the user; authentication runs in the browser, the bridge never sees credentials). Once paired, call get_workspace_state at the start of every notebook turn; the digest of edits since your last fetch is in get_recent_user_actions.

Return the current workspace + notebook context as text. Use this at the start of every notebook turn so you know which notebook is active, what cells exist, layout mode, chart configs, and last-run statuses. SQL/draw cells report their pane view: "editor" while there is nothing to show, else the stored result or editor_result arrangement. Their mode matches that presentation: null for editor-only, run for a table result, and draw for a chart. Markdown reports view, mode, and result_height as null. Pass include_user_events=true to also receive the digest of edits the user made since your last fetch.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
include_user_eventsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does well: it explains the auth flow (browser-based pairing, the bridge never sees credentials), the response type (text), and interpretation details like SQL/draw cells reporting a pane view and mode. It stops short of rate limits or failure modes beyond the pairing case.

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?

Dense but nearly every sentence carries weight, and the field-by-field view/mode semantics are actionable. Slight deduction because it opens with the failure/pairing branch rather than the tool's own purpose, so the primary function is not fully front-loaded.

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, yet the description compensates by describing the returned context and the view/mode/result_height semantics for cell types. For a zero-required-param read tool this is close to complete, with only minor gaps around error behavior aside from pairing.

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 description coverage is 0% for the single boolean, so the description must compensate. It does: 'Pass include_user_events=true to also receive the digest of edits the user made since your last fetch' explains both the toggle and the delta semantics beyond the schema's bare boolean.

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 ('Return the current workspace + notebook context as text') and enumerates what that context includes: active notebook, cells, layout mode, chart configs, last-run statuses. It also distinguishes itself from siblings by noting the edit digest lives in get_recent_user_actions, so an agent can route between the two without opening either schema.

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

Usage Guidelines5/5

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

Gives an explicit usage rule ('call get_workspace_state at the start of every notebook turn'), a recovery branch for BRIDGE_NOT_PAIRED that names the alternative tool (get_pairing_credentials), and the condition that selects get_recent_user_actions. When-to-use and alternatives are both stated.

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