Skip to main content
Glama

generate_layout_json

Generate and save a dashboard layout file.

Instructions

Generate and save a dashboard layout file.

Recommended workflow:

  1. Call list_worksheets to get available worksheet names

  2. Design the layout with the user (show ASCII preview for confirmation)

  3. Call this tool to save the layout as a JSON or YAML file

  4. Call add_dashboard with layout=<this_file_path>

The layout_tree uses the declarative container DSL:

  • {"type": "container", "direction": "vertical"|"horizontal", "children": [...]}

  • {"type": "worksheet", "name": "<worksheet_name>"}

  • Use "fixed_size" (int, pixels) for KPI rows and filter sidebars

  • Use "weight" (int, relative) for main analytical areas

Input Schema

NameRequiredDescriptionDefault
layout_treeYes
output_pathYes
ascii_previewYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.18.1

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It discloses that the file is written to disk and later consumed by add_dashboard, but does not state whether an existing file at output_path is overwritten, whether the write requires specific permissions, or what the save returns. Useful context, but incomplete for a write tool with zero annotation coverage.

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 purpose followed by a tight numbered workflow and a compact DSL reference. Every section earns its place; the only mild bloat is restating ' or YAML file' after the header.

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?

The tool takes a complex nested object and an output schema exists, so return values needn't be explained. The workflow and DSL spec cover the hard part, though the absence of any guidance on output_path/ascii_preview semantics leaves a small completeness gap.

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 0%, so the description must compensate. It does well for layout_tree, documenting the declarative container DSL (container/worksheet types, direction, children, fixed_size, weight) — the most complex nested parameter. However, output_path and ascii_preview are only vaguely implied (preview via step 2) and never defined, leaving two of three parameters 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?

States a specific verb and resource ('Generate and save a dashboard layout file') and the output format ('JSON or YAML file'). The sibling generate_layout_yaml exists, and while the name implies the JSON/YAML split, the description never explicitly routes the agent between the two, so sibling differentiation is left to inference.

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?

Provides an explicit numbered workflow: call list_worksheets first, design with the user via ASCII preview, then this tool, then add_dashboard with the resulting path. It names the preceding and following sibling tools and the sequencing condition, so the agent knows exactly when this tool fits.

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

Deploy Server

Other Tools