Skip to main content
Glama
german-borisevich

Apache Zeppelin MCP Server

batch_update_paragraph_config

Idempotent

Update chart and visualization configs for multiple notebook paragraphs in one call, deep-merging each change to reduce repeated requests.

Instructions

Update visualization/chart config for multiple paragraphs in one call (batch version of update_paragraph_config). Each config is deep-merged with that paragraph's existing config. Column index/aggr auto-fill needs saved output: run each paragraph at least once first, otherwise index/aggr cannot be auto-filled and columns are passed through as given.

Prefer this over many update_paragraph_config calls — it collapses N round-trips into one.
Paragraphs are processed sequentially; one failing item does not stop the rest (failures are
reported in the result).

Args:
    notebook_id: The notebook ID containing the paragraphs
    configs: List of config changes, each {paragraph_id, config}. See update_paragraph_config
        for the config dict format (graph.mode, keys/groups/values, etc.).

Input Schema

NameRequiredDescriptionDefault
configsYes
notebook_idYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.1

TDQS

A4.7/5.0
Behavior5/5

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

Goes beyond annotations (which only give readOnly=false, idempotent=true, destructive=false) by disclosing merge semantics ('each config is deep-merged with that paragraph's existing config'), execution order (sequential), and partial-failure handling ('one failing item does not stop the rest; failures are reported in the result'). Those are exactly the behaviors an agent needs to predict outcomes of a batch mutation.

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-loads the purpose and the strongest usage guidance in the first three sentences, with prerequisites before the Args block. The Args block partially restates schema titles but adds real meaning; a little redundancy, no filler.

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?

For a mutation tool with an output schema and annotations present, the description covers merge behavior, prerequisites, ordering, and error semantics — enough to call it correctly. The only soft spot is that the per-item config schema is left to a sibling reference, requiring the agent to look up update_paragraph_config.

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%, so the description must carry the load: it documents notebook_id as the container and configs as a list of {paragraph_id, config}, and points to update_paragraph_config for the config dict shape (graph.mode, keys/groups/values). The nested ParagraphConfig is explained at the top level but the per-item config internals are deferred to a sibling rather than described inline.

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 ('Update visualization/chart config for multiple paragraphs') and immediately frames itself as the batch counterpart of update_paragraph_config. An agent can distinguish it from update_paragraph_config, batch_update_paragraph, and batch_edit_paragraph from the first sentence alone.

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?

Explicit routing guidance: 'Prefer this over many update_paragraph_config calls — it collapses N round-trips into one.' It also states a prerequisite (run each paragraph at least once first, or column index/aggr cannot be auto-filled) with the fallback behavior spelled out, so both when-to-use and when-not-to-expect-autofill are covered.

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