Skip to main content
Glama

cwtwb

Tableau workbook engineering for reproducible .twb / .twbx generation, validation, and migration.

cwtwb is a Python toolkit and Model Context Protocol (MCP) server for building Tableau Desktop workbooks from code or agent tool calls.

It is meant to be a workbook engineering layer, not a conversational analytics agent. The focus is reproducibility, inspectability, and safe automation in local workflows, scripts, and CI.

Design Workflow Reference

The agent design workflow and the design_advisor skill are informed by Adam Mico's adammico-lab Tableau workflow skills, especially Tableau Dashboard Blueprint's build-from-a-design-spec approach. cwtwb independently adapts those ideas to reproducible .twb / .twbx authoring; it does not depend on, bundle, or copy adammico-lab code or skill content. cwtwb is not affiliated with Adam Mico, Salesforce, or Tableau.

The cw in cwtwb comes from Cooper Wenhua.

Author: Cooper Wenhua <imgwho@gmail.com>

Website · Source · Changelog

PyPI Downloads Website Source License Python

Star History

Star History Chart

Try the example workflow · Read the guide

Related MCP server: Tableau MCP

Quick Start

Install

pip install cwtwb

If you want the bundled Hyper-backed example too:

pip install "cwtwb[examples]"

If you want cloud validation (upload to Tableau Cloud/Server):

pip install "cwtwb[validate]"

Run As An MCP Server

uvx cwtwb

The short form above remains the simplest option and is the default config shown in this repository. cwtwb is a smart entrypoint: with no arguments in an interactive terminal it prints CLI help; when launched by an MCP client over stdio it starts the server.

Add the server to your MCP client with the same command. For example:

{
  "mcpServers": {
    "cwtwb": {
      "command": "uvx",
      "args": ["cwtwb"]
    }
  }
}

For Claude Code:

claude mcp add cwtwb -- uvx cwtwb

For VSCode, add cwtwb to your workspace or user mcp.json and use uvx cwtwb as the command.

If you prefer an explicit script name, these equivalent launch styles also work:

uvx cwtwb mcp
uvx --from cwtwb cwtwb-mcp
python -m cwtwb.mcp_server

Use As A CLI

The same package also exposes first-class command-line workflows for humans, scripts, CI, and agents that need direct file operations instead of MCP tool calls.

cwtwb --help
cwtwb doctor
cwtwb status --json
cwtwb inspect workbook.twb --json
cwtwb validate workbook.twb
cwtwb analyze workbook.twb --json
cwtwb run examples/specs/basic_cli.yaml

Common write commands require an explicit output path by default:

cwtwb create --out output/base.twb
cwtwb chart add output/base.twb --worksheet "Sales by Category" --mark Bar --rows Category --columns "SUM(Sales)" --out output/chart.twb
cwtwb dashboard add output/chart.twb --name Overview --worksheets "Sales by Category" --out output/dashboard.twb

Use --in-place only when you intentionally want to overwrite the input workbook, and --force only when replacing an existing output file.

Convert Workbooks Between Formats

convert detects TWB, TWBX, YAML, and JSON from file extensions. It does not require Gallery, a template, or an active editor session:

cwtwb convert input.twbx --out workbook.yaml
cwtwb convert workbook.yaml --out workbook.json
cwtwb convert workbook.json --out rebuilt.twbx
cwtwb convert input.twbx --out unpacked.twb

cwtwb export input.twb --out workbook.yaml is an alias. Native definitions also work with cwtwb run workbook.yaml --out rebuilt.twb. Existing automation specs keep their previous behavior. Outputs are not overwritten unless --force is supplied; conversion never overwrites its input.

Python: from cwtwb import convert_workbook, then convert_workbook("input.twbx", "workbook.yaml"). MCP exposes the same stateless convert_workbook(input_path, output_path, force=False) tool.

The versioned cwtwb-native format currently represents the native XML tree: document.root contains tag, attributes, text, ordered children, and tail; comments, processing instructions, namespaces, thumbnails, and unknown elements are retained. Edit formulas in calculation.attributes.formula and layout geometry in zone attributes. XML attribute values remain strings. This is a detailed structural format, not yet a simplified semantic workbook DSL; no claim is made that every Tableau feature is understood or safely editable. Conversion bypasses TWBEditor cleanup and does not inject generated comments. XML declaration spelling, CDATA spelling, namespace prefixes, and ZIP metadata are not promised byte-for-byte. Unknown nodes are retained, not interpreted.

Binary resources are copied to <output-name>.assets/, with relative paths and SHA-256 hashes in the definition. Keep the definition and this directory together. An unpacked TWB also has a <output-name>.resources.json companion to retain unreferenced package assets for later repacking. File references are relocated when needed; remote database connections remain remote. Standalone TWB discovery currently covers Hyper/CSV/Excel connections and bitmap zones; arbitrary external files referenced by custom extensions are not automatically discovered. TWBX conversion retains every bundled resource file, including unknown extensions.

Missing known external resources produce warnings for text output and block TWBX packaging. Duplicate keys, unknown document properties/versions, missing or changed resource files, unsafe archive paths, multiple-TWB archives, and DTD-bearing XML fail explicitly. After deliberately changing an asset, update its recorded hash. Resource directories are not garbage-collected when outputs are replaced.

Conversion checks XML syntax and resource integrity, not Tableau calculations, field-reference semantics, Desktop loading, rendering, or interactions. Use the existing validation commands and Tableau runtime checks separately. run --validate is intentionally rejected for native definitions rather than implying those checks ran during conversion.

MCP Client Stability

When cwtwb is connected as an MCP server, agents should call the exposed MCP tools directly through their client. They should not run shell commands such as mcp call cwtwb ..., mcp list-tools cwtwb, or gh api .../mcp/...; those commands are not part of cwtwb and are usually unavailable in normal Claude, Codex, Cursor, or VSCode environments.

If an agent cannot see tools such as create_workbook, add_worksheet, or save_workbook, restart or reconnect the MCP client and verify the server config. Clearing the uv cache only refreshes installed packages; it does not fix a stale client tool surface.

When using an existing .twb as a visual reference, agents must not copy Tableau XML column-instance tokens into chart inputs. Values such as [sum:Sales:qk], [none:Category:nk], [mn:Order Date:ok], or [federated.xxx].[sum:Profit:qk] are generated internals. Pass user-facing expressions such as Sales, SUM(Sales), Category, or MONTH(Order Date) instead.

Useful resources for agents:

cwtwb://tool-surface
cwtwb://skills/index
cwtwb://skills/data_quality
cwtwb://skills/design_advisor
cwtwb://skills/metric_blueprint
cwtwb://skills/dashboard_designer
cwtwb://skills/quality_review
cwtwb://skills/documentation
file://docs/tableau_all_functions.json

Compatibility aliases are also available for common guessed URIs such as cwtwb://docs/manual-editing, but new prompts should prefer cwtwb://tool-surface and cwtwb://skills/index.

For client-specific details and the full reference, see https://github.com/aidatacooper/cwtwb/blob/main/docs/guide.md.

Dashboard Layout Files

Custom dashboard layouts can now be authored as either JSON or YAML using the same declarative DSL. For agent workflows, generate a layout file first, then pass that file path into add_dashboard(layout=...).

generate_layout_json("output/layout.json", layout_tree, ascii_preview)
generate_layout_yaml("output/layout.yaml", layout_tree, ascii_preview)

Both formats support the same wrapper structure:

  • layout_schema: canonical dashboard layout tree

  • _ascii_layout_preview: optional human/agent review aid

cwtwb includes seven packaged Gallery templates for common analytical structures. Recommendations use explicit requirements and return their scores, matching reasons, and penalties; they do not inspect data or silently generate charts.

from cwtwb import DashboardRequirements, recommend_gallery_templates

recommendations = recommend_gallery_templates(
    DashboardRequirements(
        primary_intent="trend",
        has_temporal_data=True,
        kpi_count=2,
        chart_count=3,
        chart_types=("Line", "Bar"),
    )
)

After calling list_worksheets, bind exact worksheet names with materialize_gallery_layout(...) or the MCP generate_gallery_layout tool. The generated result uses the same canonical DSL accepted by add_dashboard.

Calculation Safety

add_calculated_field checks identifiers used as function calls against the packaged Tableau catalog before editing XML. For example, CHR(10) is rejected with a CHAR() suggestion. This is a lightweight function-name check, not a complete Tableau parser or substitute for Tableau Cloud semantic validation.

Use validate_formula=False only when targeting a newer Tableau function that is not yet in the packaged catalog. Existing workbooks can be reviewed with audit_calculated_fields(). Repairs are separate and default to dry_run=True.

Highlights

Area

What you get

Workbook authoring

Generate .twb / .twbx files from templates or from scratch; add hierarchies, sets, rich dynamic titles, and parameter placeholders

Chart building

Build bar, line, pie, map, KPI, dual-axis, layered, and ordered multi-column table workbooks

Table calculations

Author calculation addressing metadata, domain completion, subtotals, and nested table-calculation dependencies

Dashboard actions

Add filter, highlight, URL, navigation, parameter, and set actions through Python or MCP

Safety

Validate function names and calculated-field roles, then validate structure, Tableau XSD (2026.1/2026.2), and REST API semantics before publishing

Dashboard Gallery

Rank seven explainable layouts and bind exact worksheet names into the canonical DSL

Cloud validation

REST API syntactic/semantic validation + upload to Tableau Cloud/Server with optional screenshot

Migration

Repoint existing workbooks to new data sources with explicit steps

MCP support

Drive workbook workflows from Claude, Cursor, VSCode, or other MCP clients

See It In Action

This GIF shows the MCP tool flow that builds a dashboard step by step.

Architecture

                            Interfaces
  ┌───────────────────────────────────────────────────────────────┐
  │  ┌──────────────────────────┐  ┌───────────────────────────┐  │
  │  │        MCP Server        │  │      Python Library       │  │
  │  │  tools_workbook          │  │  from cwtwb.twb_editor    │  │
  │  │  tools_validate          │  │  import TWBEditor         │  │
  │  │                          │  │                           │  │
  │  │                          │  │  editor.add_...()         │  │
  │  │                          │  │  editor.configure_...()   │  │
  │  │                          │  │  editor.validate_schema() │  │
  │  │  (Claude / Cursor /      │  │  editor.save(...)         │  │
  │  │   VSCode / Claude Code)  │  │                           │  │
  │  └─────────────┬────────────┘  └──────────────┬────────────┘  │
  │                └──────────────┬────────────────┘               │
  └─────────────────────────────  ┼  ─────────────────────────────┘
                                  ▼
  ┌───────────────────────────────────────────────────────────────┐
  │                          TWBEditor                            │
  │       ParametersMixin  ·  ConnectionsMixin                    │
  │       ChartsMixin      ·  DashboardsMixin                     │
  │       validate_schema()  ·  save()                            │
  └──────────┬──────────────────┬──────────────────┬─────────────┘
             ▼                  ▼                  ▼
  ┌──────────────────┐  ┌──────────────┐  ┌──────────────────────┐
  │  Chart Builders  │  │  Dashboard   │  │  Analysis &          │
  │                  │  │  System      │  │  Migration           │
  │  Basic  DualAxis │  │              │  │                      │
  │  Pie    Text     │  │  layouts     │  │  migration.py        │
  │  Map    Recipes  │  │  actions     │  │  twb_analyzer.py     │
  │                  │  │  dependencies│  │  capability_registry │
  └────────┬─────────┘  └──────┬───────┘  └──────────┬───────────┘
           └───────────────────┼──────────────────────┘
                               ▼
  ┌───────────────────────────────────────────────────────────────┐
  │                    Packaged References                        │
  │    empty_template.twb  ·  Superstore XLS/Hyper                │
  │    tableau_all_functions.json  ·  dataset profiles            │
  │    vendored Tableau TWB XSD schemas (2026.1 / 2026.2)         │
  └───────────────────────────────┬───────────────────────────────┘
                                  ▼
  ┌───────────────────────────────────────────────────────────────┐
  │                     XML Engine  (lxml)                        │
  │    template.twb/.twbx  →  patch  →  validate  →  save        │
  └───────────────────────────────┬───────────────────────────────┘
                                  ▼
                      output.twb  /  output.twbx
                                  ▼
  ┌───────────────────────────────────────────────────────────────┐
  │               Cloud Validation (optional)                    │
  │    validate_workbook_api → REST API semantic validation      │
  │    upload_workbook       → Tableau Cloud/Server publish      │
  │    screenshot_workbook   → capture view for visual check     │
  └───────────────────────────────────────────────────────────────┘

Mermaid view:

flowchart TD
    subgraph Interfaces
        MCP["MCP Server<br/>tools_workbook<br/>tools_validate"]
        PY["Python Library<br/>TWBEditor API"]
    end

    subgraph Editor["Core Editor"]
        TWB["TWBEditor<br/>parameters · connections<br/>charts · dashboards<br/>validate_schema · save"]
    end

    subgraph Builders["Workbook Systems"]
        CHARTS["Chart Builders<br/>basic · dual-axis<br/>pie · text · map · recipes"]
        DASH["Dashboard System<br/>layouts · actions<br/>dependencies"]
        ANALYSIS["Analysis & Migration<br/>migration.py<br/>twb_analyzer.py<br/>capability_registry"]
    end

    subgraph References["Packaged References"]
        REFS["empty_template.twb<br/>Superstore XLS/Hyper<br/>Tableau functions<br/>TWB XSD schemas"]
    end

    subgraph Engine["XML Engine"]
        XML["lxml patch pipeline<br/>template.twb/.twbx → patch → validate → save"]
    end

    subgraph Outputs
        OUT["output.twb / output.twbx"]
        CLOUD["Cloud Validation<br/>REST semantic validation<br/>upload · screenshot"]
    end

    MCP --> TWB
    PY --> TWB
    TWB --> CHARTS
    TWB --> DASH
    TWB --> ANALYSIS
    CHARTS --> XML
    DASH --> XML
    ANALYSIS --> XML
    REFS --> TWB
    REFS --> XML
    XML --> OUT
    OUT --> CLOUD

The reference layer is packaged with the library so agents and scripts can start from known-good workbook assets, resolve Tableau calculation syntax, run Hyper-backed examples, and validate against local XSD schemas without relying on a checked-out repository.

Agent Architecture

cwtwb is designed for tool-using agents, not just direct Python calls. The MCP server gives agents a small, stateful workbook editing surface; skill resources give phase-specific Tableau guidance before each set of tool calls.

Human or agent prompt
        |
        v
MCP server instructions
        |
        v
Skill resources
data_quality -> governance -> synthetic_data -> design_advisor -> metric_blueprint
-> calculation_builder -> chart_builder -> dashboard_designer -> formatting
-> validation -> quality_review -> documentation
        |
        v
Workbook tools
create/open -> list_fields -> add/configure -> layout -> save -> validate/upload
        |
        v
TWB/TWBX artifact + validation evidence

Prompts explain what to build. Skills explain how to build it well. Tools make the workbook changes inspectable and repeatable.

The packaged skill architecture is documented in src/cwtwb/skills/README.md, including its workflow diagram and the boundary between guidance, explicit mutations, and validation evidence.

Capability Boundary

cwtwb keeps its public surface intentionally small:

Level

Meaning

Core

Stable primitives for normal SDK docs, examples, and MCP workflows

Advanced

Supported compositions and interaction patterns with more moving parts

Recipe

Showcase patterns exposed through configure_chart_recipe, not one tool per chart

Use list_capabilities or describe_capability when an agent needs to check whether a requested chart or workbook feature belongs in the stable surface.

Design Decisions

  • The MCP server uses a stateful session model: open or create a workbook, mutate it through explicit tools, then call save_workbook.

  • Skills are phase-specific operating guides, not generic prompt stuffing.

  • save_workbook, validate_workbook, validate_workbook_api, and upload_workbook have separate responsibilities so agents do not confuse writing, local checks, semantic validation, and publishing.

  • The capability registry keeps the product boundary explicit instead of letting showcase examples become accidental API promises.

Validation

cwtwb provides four levels of workbook validation:

Level

Description

Requires

1. Local XSD

Validate against the official Tableau TWB XSD schema (version-aware: 2026.1 or 2026.2)

None (built-in)

2. REST API Syntactic

Validate XML syntax via Tableau Cloud REST API

Tableau credentials + Tableau Cloud 2026.2+

3. REST API Semantic

Full semantic validation without publishing — default cloud check for .twb

Tableau credentials + Tableau Cloud 2026.2+

4. Upload + Screenshot

Publish to Tableau Cloud/Server and capture a view image

Tableau credentials + pip install "cwtwb[validate]"

# Level 1 — Local XSD (in-memory, no save required)
result = editor.validate_schema()
print(result.to_text())

# Level 3 — REST API semantic validation
from cwtwb.validate.uploader import TableauUploader
uploader = TableauUploader(env_path="project/.env")
result = uploader.validate("output.twb", validation_level="semantic")

# Save with local XSD validation; REST API semantic validation also runs when .env is configured
editor.save("output.twb")
# MCP tools
validate_workbook(file_path="output.twb")                                       # Local XSD validation
validate_workbook_api(twb_path="output.twb", validation_level="semantic")        # Default cloud semantic validation, no publish
validate_workbook_api(twb_path="output.twb", env_path="project/.env")            # Runtime credentials
upload_workbook(twb_path="output.twb")                                          # Publish/openability evidence or TWBX validation
screenshot_workbook(workbook_id="...", view_name="Sheet 1")                     # Visual check after upload_workbook

FAQ

What is the difference between .twb and .twbx?

.twb is the workbook XML. .twbx is the packaged version that bundles the workbook together with extracts and images.

Does validate_workbook save files?

No. validate_workbook() performs local XSD validation on the active in-memory workbook or an existing .twb / .twbx file. It does not write output. save_workbook() is the tool that writes files.

What validation does save() perform?

save() runs local XSD validation automatically before replacing the final output file. For .twb output, REST API semantic validation also runs when Tableau credentials are configured and the server supports it. Use validate_workbook_api(..., validation_level="semantic") when you want to request the Tableau Cloud/Server validation step directly.

What is upload_workbook for?

upload_workbook publishes a .twb or .twbx to Tableau Cloud/Server. Use it when you explicitly need publish/openability evidence, a workbook ID for screenshots, or .twbx package validation. For the default .twb cloud semantic check, prefer validate_workbook_api because it does not publish or store the workbook. Requires pip install "cwtwb[validate]" and Tableau credentials from environment variables, an explicit env_path, TABLEAU_ENV_FILE, or a .env file next to the workbook.

How do I set up Tableau Cloud/Server validation?

  1. Install: pip install "cwtwb[validate]"

  2. Copy .env.example to .env

  3. Fill in your Tableau Cloud/Server PAT credentials

  4. Call save_workbook to write the .twb or .twbx

  5. Call validate_workbook_api for the default REST API semantic validation, or upload_workbook only when you also want publish/openability evidence, screenshots, or .twbx validation

Credential lookup order is explicit env_path first, then environment variables, TABLEAU_ENV_FILE, the workbook sibling .env, the current working directory .env, the cwtwb project .env, and finally the user's home .env. Prefer env_path for one-off MCP calls instead of editing MCP server configuration and restarting the server.

If validation reports that tableauserverclient is missing, call get_mcp_status first. It reports the MCP process's Python executable, cwtwb version, and whether the Tableau client is importable without exposing credentials. An env_path change is runtime-scoped and does not require an MCP restart; installing dependencies into a different Python environment does not fix the running server, so install the validation extra into the interpreter reported by get_mcp_status and reconnect only when the runtime or tool schema changes.

When should I use uvx cwtwb versus python -m cwtwb.mcp_server?

Use uvx cwtwb for the normal MCP workflow. Use python -m cwtwb.mcp_server for local testing without uvx.

For backward compatibility, uvx --from cwtwb cwtwb-mcp, python -m cwtwb.server, and python -m cwtwb.mcp continue to work.

Where is the full guide?

See the online guide.

Documentation

Available Tools

84 tools
add_calculated_fieldC

Add a calculated field to the datasource.

For formula syntax and best practices, read: read_resource('cwtwb://skills/calculation_builder')

NameRequiredDescriptionDefault
roleNo
formulaYes
datatypeNoreal
field_nameYes
field_typeNo
table_calcNo
internal_nameNo
default_formatNo
validate_formulaNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses the mutation ('add ... to the datasource') and references a formula skill, but says nothing about validation behavior (validate_formula param), idempotency, required permissions, or duplicate handling. Significant gaps for a mutation tool with 9 parameters.

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?

Two sentences, front-loaded with the core action and followed by a reference pointer. No waste, though the pointer is arguably the only additional value and the description is quite thin overall.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values needn't be explained. But for a 9-parameter mutation with zero schema coverage and no annotations, the description is far too thin — most parameter semantics and behavioral traits remain undisclosed.

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?

Schema description coverage is 0% across 9 parameters, so the description must compensate. Its only parameter-adjacent content is the formula resource pointer, leaving role, datatype, field_type, table_calc, default_format, internal_name, and validate_formula entirely undocumented. It does not add meaning beyond the bare schema.

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+resource: 'Add a calculated field to the datasource.' An agent can distinguish it from sibling mutators like remove_calculated_field and validate_formula. However, it does not explicitly differentiate from repair_calculated_field_issues or audit_calculated_fields, so it stops 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 Guidelines3/5

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

Points the agent to a skill resource for formula syntax, which is a useful usage cue, but gives no when-to-use/when-not guidance relative to siblings such as validate_formula or remove_calculated_field. Usage is implied rather than stated.

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

add_combined_setC

Union existing native sets at the same dimension grain.

NameRequiredDescriptionDefault
set_nameYes
set_namesYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it is nearly silent. 'Union' and 'existing native sets' weakly imply that the input sets must already exist and that a new set is produced, but there is no mention of permissions, whether inputs are mutated, or error behavior when dimensions differ.

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?

A single front-loaded sentence with no filler, and the verb and constraint lead. It is efficient, though the brevity borders on under-specification for a two-parameter mutation tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be explained, but with no annotations, 0% parameter coverage, and a non-trivial set-combination operation, the description leaves too much unspecified for an agent to invoke it confidently.

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?

Schema description coverage is 0% and neither of the two parameters is documented in the schema. The description only faintly implies that 'set_names' refers to existing sets being unioned and that a resulting set is named, but it never clarifies the relationship between set_name and set_names, so it does not compensate for the coverage gap.

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 description gives a specific verb ('Union') and resource ('existing native sets') and adds a scoping constraint ('at the same dimension grain') that separates it from a plain single-set creation. However, it never references the nearby sibling 'add_set' by name, so the agent must infer the distinction between adding one set versus combining several.

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 explicit when-to-use statement and no named alternative. The only implicit guidance is the 'same dimension grain' constraint, which tells the agent a precondition exists but not how to satisfy it or when to prefer 'add_set' or 'add_group' instead.

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

add_dashboardA

Create a dashboard combining multiple worksheets.

Recommended workflow for complex dashboards:

  1. Call list_worksheets to lock worksheet names

  2. Design layout with the user (KPI row, main chart, detail views, filters)

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

  4. Call add_dashboard with layout=<layout_file_path>

Layout options:

  • str (file path): Path to JSON or YAML layout file (recommended for complex layouts)

  • dict: Custom declarative layout tree passed inline Native set control (mode dropdown or checkdropdown): {"type": "set_control", "field": "Set name", "worksheet": "View", "mode": "dropdown"}

  • "auto" (default): Simple vertical fallback — use layout dict or layout file for mixed layouts

  • "vertical": All worksheets stacked vertically

  • "horizontal": All worksheets side-by-side

  • "grid-2x2": 2x2 grid layout

For dashboard design best practices, read: read_resource('cwtwb://skills/dashboard_designer')

NameRequiredDescriptionDefault
widthNo
heightNo
layoutNoauto
dashboard_nameYes
worksheet_namesYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.3/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 it does disclose real behavior: the default layout value, what each layout mode produces, the fallback semantics of 'auto', and the exact inline schema for a native set control. It stops short of stating permissions, error handling, or effects on any pre-existing dashboard, which leaves a residual gap for a mutation tool.

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 one-line purpose, then organizes workflow and layout options under clear headers with no filler sentences. It is longer than most definitions but each block (workflow steps, layout modes, skill pointer) earns its place.

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?

An output schema exists, so return values need not be explained, and the description covers creation flow, layout representation, and prerequisites. The only meaningful omission is guidance on width/height and how worksheet_names interacts with the layout, but for the core call the agent has everything it needs.

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 thoroughly documents the layout parameter (file path, dict tree, preset strings, set_control format) and implies worksheet_names and dashboard_name through the workflow, but width and height are never mentioned anywhere, leaving two of five parameters undocumented.

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: 'Create a dashboard combining multiple worksheets.' It is unambiguously distinguished from siblings like generate_layout_json (which produces the layout artifact) and add_dashboard_action/add_dashboard_extension (which augment an existing dashboard).

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 naming the prerequisite tools (list_worksheets, generate_layout_json) and when to hand off a layout file vs pass an inline dict. It also gives a clear when-to-use rule per layout value ('auto' only for simple vertical fallbacks; use dict/file for mixed layouts).

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

add_dashboard_actionC

Add a filter, highlight, URL, navigation, or parameter dashboard action.

For action_type="parameter", provide source_field, target_parameter, and a Tableau-serialized clear_value such as d:2026-02-12, i:0, or s:LROOT:All.

NameRequiredDescriptionDefault
urlNo
fieldsNo
captionNo
event_typeNoon-select
action_typeYes
aggregationNoattr
clear_valueNo
source_fieldNo
source_sheetNo
target_sheetNo
source_sheetsNo
target_sheetsNo
clear_behaviorNokeep-current
dashboard_nameYes
field_mappingsNo
target_dashboardNo
target_parameterNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden for a mutation tool. It adds no information about permissions, persistence, side effects, or how the added action affects the dashboard. The only extra detail is a serialization format for clear_value, which is parameter semantics rather than behavioral disclosure.

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?

The description is two short paragraphs with no wasted words, and the first sentence front-loads the action types the tool supports. It is appropriately concise for a structured schema, though the second paragraph’s serialization note is tightly scoped to one case.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a 17-parameter mutation tool with no annotations and 0% schema description coverage, the description is severely incomplete. It lists action types and one parameter format, but leaves most parameter semantics, usage context, and behavioral expectations unaddressed. The existence of an output schema excuses return-value explanation, but not the missing input and behavioral context.

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?

Schema description coverage is 0% across 17 parameters, and the description only explains three parameters (source_field, target_parameter, clear_value) and only for the action_type='parameter' case. The remaining 14 parameters, including required dashboard_name and action_type, receive no additional semantic guidance beyond their titles.

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 description states a specific verb ('Add') and resource ('dashboard action'), and enumerates the action types it supports (filter, highlight, URL, navigation, parameter). It is clear what the tool does, but it does not distinguish itself from siblings like initialize_dashboard_filter_action or add_dashboard_set_action, leaving an agent to infer when this broad action tool is preferred.

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?

The description gives a conditional parameter requirement for action_type='parameter' but provides no overall guidance on when to use this tool versus alternatives such as the filter- or set-specific action tools. There is no context, prerequisites, or exclusions.

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

add_dashboard_extensionC

Add a native dashboard extension with structured manifest and settings.

NameRequiredDescriptionDefault
xNo
yNo
widthNo
heightNo
manifestYes
settingsNo
dashboard_nameYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It implies a mutation but says nothing about side effects, permissions, whether it requires an existing dashboard, or how the extension is positioned/rendered. Only the existence of 'manifest and settings' is disclosed.

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?

A single efficient sentence with no waste and a front-loaded verb. It is concise but under-specified rather than densely informative, so it sits at minimum-viable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output schema covers return values, but for a mutation tool with nested objects, no annotations, and 0% parameter coverage, the description is far too thin. It omits prerequisites, the manifest schema expectations, and positioning semantics.

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?

Schema coverage is 0% with 7 parameters, so the description must compensate. It loosely names 'manifest' and 'settings' but says nothing about dashboard_name, x, y, width, height, or the expected shape/structure of the manifest object, leaving most 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 ('Add') and resource ('native dashboard extension'), so the core action is clear. However, it does not distinguish itself from the many dashboard siblings like add_dashboard, add_dashboard_action, or add_dashboard_toggle_button, leaving the agent to infer when 'extension' is the right choice.

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?

No guidance on when to use this tool, no prerequisites (e.g., must the dashboard already exist?), and no mention of alternatives among the crowded dashboard siblings. The agent must infer everything from the name.

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

add_dashboard_set_actionB

Add a Set Action (edit-group-action) to a dashboard.

The set fills with the marks under the pointer and clears when it leaves, enabling hover-driven labels and calculations.

NameRequiredDescriptionDefault
captionNo
event_typeNoon-hover
target_setYes
clear_optionNoexclude-all
source_sheetYes
single_selectNo
dashboard_nameYes
selection_modeNo

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.1/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 behavioral burden. It usefully describes the runtime effect (the set fills with marks under the pointer and clears on leave), which is genuine behavioral context beyond a restatement. But it omits whether this mutates the workbook, required permissions, whether the target_set must already exist, and side effects on existing actions.

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?

Two short sentences, front-loaded with the action being added and followed by the effect. No filler, though the parenthetical and second sentence could be tightened slightly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a mutation tool with 8 parameters, zero schema coverage, and no annotations, so the description is the only guidance. An output schema exists so return values need not be explained, but the description never states prerequisites, permission requirements, or mutation side effects, leaving significant gaps for an agent to call it correctly.

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?

Schema description coverage is 0% across 8 parameters, so the description must compensate and only partially does: 'clears when it leaves' loosely maps to clear_option, 'hover' maps to event_type, and 'set' hints at target_set. The remaining parameters (caption, source_sheet, single_select, selection_mode) receive no semantic help whatsoever.

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 ('Add a Set Action') and clarifies the underlying object with the parenthetical '(edit-group-action)', which is helpful for matching Tableau's UI concept. It is distinguishable from sibling actions like add_dashboard_toggle_button or initialize_dashboard_filter_action by naming the specific action type, though it never explicitly contrasts them.

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?

The second sentence implies the use case ('enabling hover-driven labels and calculations') and the default event_type of on-hover, so an agent can infer when this action is appropriate. However, it gives no explicit when-to-use versus add_dashboard_action or other action siblings, and no prerequisites.

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

add_dashboard_toggle_buttonC

Show/hide a dedicated dashboard sheet container with a native button.

NameRequiredDescriptionDefault
positionNo
caption_shownNoHide
caption_hiddenNoShow
dashboard_nameYes
initially_hiddenNo
target_parametersNo
target_worksheetsNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden and delivers almost nothing: it does not say what gets created, where the button lands, what happens to existing dashboard content, or whether target_parameters/target_worksheets scope the toggle. Only 'native button' hints at the artifact.

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?

A single short sentence with no waste, but its brevity comes from under-specification rather than efficient editing; it is front-loaded only in the trivial sense of being one clause long.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be explained, but a 7-parameter creation tool with zero annotation coverage and no parameter documentation is far too thin. The agent cannot determine placement, captioning, or scoping behavior from this definition.

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

Parameters1/5

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

Seven parameters with 0% schema description coverage and the description mentions none of them; position, caption_shown, caption_hidden, initially_hidden, target_parameters and target_worksheets are entirely undocumented in both schema and prose. No compensation for the coverage gap.

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

Purpose3/5

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

The description conveys the effect ('Show/hide a dedicated dashboard sheet container with a native button') but never states the actual action verb, which is 'add' a toggle button to a dashboard like the name implies. It is distinguishable from generic siblings like add_dashboard_action, but the resource and operation are only implied rather than stated.

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

Usage Guidelines1/5

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

No when-to-use guidance, no prerequisites, no mention of alternatives such as add_dashboard_action or add_dashboard_extension despite several closely related siblings. The agent gets no routing information at all.

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

add_groupC

Create a categorical dimension by grouping source-field members.

NameRequiredDescriptionDefault
groupsYes
field_nameYes
source_fieldYes
default_valueNoOther
internal_nameNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.5/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it only states the create action. It does not disclose whether the change is persisted to the workbook or requires a save, what happens to source members not covered by the groups mapping, permission requirements, or reversibility.

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?

A single front-loaded sentence with no wasted words. It is efficient, though arguably terse for a 5-parameter mutation tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, 5 parameters at 0% schema coverage, and a nested 'groups' object, the description is far too thin. An output schema exists so return values are covered, but callers still lack the semantics needed to build a correct groups mapping.

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?

Schema description coverage is 0%, so the description must compensate. 'Source-field members' loosely maps to source_field and grouping maps to groups, but field_name, default_value, and internal_name — including the default 'Other' fallback behavior — are 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 description names a specific verb+resource ('create a categorical dimension') and the mechanism ('by grouping source-field members'), which is clearer than a restatement of the name. However, it does not differentiate from closely related siblings such as add_set, add_combined_set, or add_hierarchy, which all create derived objects from fields.

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 guidance on when to use this tool versus add_set/add_combined_set, no prerequisites, and no exclusions. An agent must infer the selection context entirely from the name.

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

add_hierarchyC

Create an ordered Tableau drill hierarchy from bare dimension fields.

NameRequiredDescriptionDefault
nameYes
fieldsYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses one useful constraint ('bare dimension fields'), but says nothing about whether the hierarchy persists immediately, what happens to existing hierarchies, required permissions, or error behavior for non-dimension fields. For a mutation tool with zero annotation coverage this is a significant gap.

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

Conciseness5/5

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

A single front-loaded sentence with no filler; the verb, resource, and key constraint are all delivered immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be described, but for a two-parameter mutation tool with no annotations and no schema descriptions, the definition omits prerequisites, failure modes, and where the hierarchy is created (worksheet vs. datasource). Not sufficient to call correctly with confidence.

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 coverage is 0% and both parameters are undocumented in the schema, so the description must compensate. It adds real meaning for 'fields' (they must be bare dimensions, and their order defines the drill order), but contributes nothing about the required 'name' parameter or its constraints.

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 ('Create') and resource ('Tableau drill hierarchy') with meaningful qualifiers ('ordered', 'from bare dimension fields') that separate it from neighboring tools like add_group and add_set. It does not explicitly name a sibling to disambiguate against, but the resource is distinct enough to identify without opening the schema.

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?

No indication of when to use this over add_group, add_set, or add_combined_set, and no prerequisites such as needing the dimensions to already exist or a workbook to be loaded. Usage must be inferred entirely from the verb.

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

add_hyper_datasourceC

Add and activate another independent extracted data source.

NameRequiredDescriptionDefault
nameYes
filepathYes
table_nameNoExtract

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, and it discloses almost nothing. "Activate" implies a state change, but there is no statement about permissions, whether an existing datasource is replaced, what happens on failure, or whether the file must already exist.

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?

A single short sentence with no filler, front-loaded with the action. Its brevity is appropriate in form; the shortfall is substance, not structure, so it is not penalized here.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The output schema covers return values, so those need not be described. But for a 3-parameter mutation tool with 0% schema coverage and no annotations, the description leaves the agent unable to call it correctly or confidently.

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?

Schema description coverage is 0%, so the description must compensate and does not: neither name, filepath, nor the table_name default of "Extract" is explained. The meaning of "name" (datasource name vs. connection name) is genuinely ambiguous given the sibling set.

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

Purpose3/5

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

The verb+resource pair ("add ... data source") is identifiable, but "another independent extracted data source" is jargon-heavy and doesn't clarify what an 'extracted' source is. It never distinguishes itself from siblings like set_hyper_connection or select_datasource, which an agent must choose between.

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?

No when-to-use guidance, no prerequisites, and no mention of alternatives such as set_hyper_connection or set_csv_connection, which occupy adjacent territory. The agent is left to infer context entirely from the tool name.

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

add_parameterC

Add a parameter to the workbook.

NameRequiredDescriptionDefault
nameYes
aliasNo
datatypeNoreal
max_valueNo
min_valueNo
domain_typeNorange
granularityNo
default_valueNo0
internal_nameNo
allowed_valuesNo
default_formatNo
allowed_aliasesNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full disclosure burden. It implies a persistent mutation of the workbook, but says nothing about permissions, failure modes (e.g., duplicate parameter name), what happens to defaults, or whether the change is saved or only staged in memory.

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

Conciseness2/5

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

The single sentence is front-loaded and free of filler, but for a 12-parameter mutation tool this is under-specification rather than conciseness. There is no structure an agent can act on.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although an output schema exists and return values need not be described, the definition omits everything else needed for a complex 12-parameter tool with no annotations: parameter meanings, write semantics, and usage context. It is far too thin for the tool's complexity.

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

Parameters1/5

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

The schema has 12 parameters with 0% description coverage, and the description mentions none of them. Non-obvious fields like domain_type ('range'), granularity, allowed_values, allowed_aliases, and internal_name are left entirely unexplained, so an agent cannot populate them meaningfully.

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 description names a specific verb and resource ('Add a parameter to the workbook'), so an agent knows exactly what operation it performs. However, it offers no differentiation from structurally similar siblings such as add_calculated_field, add_group, or add_set, which all add objects to a workbook.

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 guidance on when to use this tool versus the many other 'add_*' siblings, no prerequisites (e.g., must a workbook be open or uploaded first?), and no caveats. Usage must be entirely inferred from the name.

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

add_percentage_bandC

Add a native percentage distribution band on an existing axis.

NameRequiredDescriptionDefault
scopeNoper-pane
formulaNoaverage
symmetricNo
axis_fieldYes
fill_colorNo#00000000
pane_indexNo
percentageNo
probabilityNo95
value_fieldNo
worksheet_nameYes
reverse_paletteNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, the description carries the full behavioral burden, and it discloses almost nothing: it does not say whether the band is persisted to the workbook, whether it requires an existing axis to be present (only implied), what happens on re-invocation, or what the operation returns. The single word 'native' hints at a rendering distinction but is unexplained.

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 one sentence is front-loaded and free of padding, so it is structurally fine. However, brevity here reads as under-specification rather than efficiency given the tool's 11 parameters and mutation semantics.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be explained, but the description is otherwise inadequate: 11 undocumented parameters, no annotations, no usage guidance, and no behavioral disclosure for a tool that mutates a worksheet's axis rendering.

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

Parameters1/5

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

Schema description coverage is 0% across 11 parameters, so the description must compensate and it does not mention a single parameter. Fields like scope, formula, probability, symmetric, and reverse_palette are completely opaque to the agent.

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 ('Add') and resource ('percentage distribution band') plus a scoping constraint ('on an existing axis'). It is clear what the tool does, but it does not differentiate itself from the closely related sibling add_reference_band, leaving the agent to guess which band type to choose.

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 guidance on when to use this versus add_reference_band, add_reference_line, or configure_chart, nor any prerequisite beyond the implicit 'existing axis'. The agent must infer the selection criteria entirely.

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

add_reference_bandC

Add a constant or field-backed native filled band on an existing axis.

NameRequiredDescriptionDefault
scopeNoper-pane
axis_fieldYes
fill_colorNo#f5f5f5
pane_indexNo
lower_fieldNo
lower_labelNo
lower_valueNo
upper_fieldNo
upper_labelNo
upper_valueNo
lower_formulaNomin
upper_formulaNomax
worksheet_nameYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It signals a mutating 'Add' and a 'native' band, but says nothing about prerequisites (an existing axis), reversibility, permissions, or how the lower/upper values interact — a substantial gap for a mutation tool.

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?

A single front-loaded sentence with no wasted words. It is efficient, though for a 13-parameter tool that efficiency shades into under-specification rather than true conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, 13 undocumented parameters, and only a one-line description, the definition is not complete enough for reliable invocation. The output schema relieves it of explaining return values, but the input side remains severely under-described.

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?

Schema description coverage is 0% across 13 parameters. The phrase 'constant or field-backed' loosely maps to the value/field pairs and lower/upper defaults, but the description never explains lower_value vs lower_field, formulas (min/max), labels, scope, or pane_index — leaving most 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?

The description gives a specific verb (Add), resource (native filled band), and scope constraint (on an existing axis), plus a constant-vs-field-backed distinction. This lets an agent distinguish it from add_reference_line and add_percentage_band by implication, though neither sibling is named.

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 when-to-use or when-not-to-use guidance and no named alternative. The only constraint, 'on an existing axis', is scope rather than a selection rule, so the agent gets no help choosing between this and add_reference_line / add_percentage_band.

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

add_reference_lineC

Add a field-backed reference line to a configured worksheet pane.

NameRequiredDescriptionDefault
labelNo
scopeNoper-pane
formulaNoaverage
tooltipNoAverage = <Value>
axis_fieldYes
label_typeNovalue
pane_indexNo
probabilityNo95
value_fieldYes
worksheet_nameYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, and it delivers little: no note on permissions, whether the line can be modified/removed, what happens to existing lines, or the side effects of a write ('add') operation. The phrase 'configured worksheet pane' faintly implies a prerequisite but is never made explicit.

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?

A single, front-loaded sentence with no wasted words. It is efficient, though the brevity contributes to the under-specification rather than reflecting disciplined conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter mutation tool with no annotations and no parameter documentation, one sentence is far too thin; only the existence of an output schema relieves the description of explaining return values. An agent lacks enough information to call this correctly against its siblings.

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?

With 10 parameters and 0% schema description coverage, the schema documents nothing. The description only hints at field dimensions via 'field-backed', giving no meaning for label, scope, formula, tooltip, label_type, pane_index, or probability — a substantial gap the description fails to close.

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?

Clear verb+resource: it adds a 'field-backed reference line' to a 'configured worksheet pane'. That is more specific than a bare restatement, but it never distinguishes this from the near-identical siblings add_reference_band and add_percentage_band, which an agent must choose between.

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 versus alternatives, no prerequisites beyond the implicit 'configured pane', and no conditions for choosing a reference line over a band or percentage band despite their obvious overlap.

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

add_setB

Create a Tableau set (datasource filter-group) for membership logic.

Use basis_field + top_n to build a top-N set (e.g. Top Central ranked by SUM(Central - Qty)); omit both to create an empty set used as a Set Action target (e.g. Highlighted Manufacturer).

NameRequiredDescriptionDefault
top_nNo
membersNo
use_allNo
set_nameYes
directionNoDESC
aggregationNoSum
basis_fieldNo
internal_nameNo
dimension_fieldYes

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes what gets created and why, but says nothing about permissions required, whether an existing set is overwritten, failure modes, or whether the change is saved immediately. For a mutation tool with nine parameters and no annotations, this is a significant gap.

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?

The description is front-loaded with the core action and then immediately gives the two key usage modes. It is compact and avoids filler, though the parenthetical example and second paragraph could be slightly tighter. Every sentence earns its place, but it is not maximally crisp.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. However, with nine input parameters at 0% schema coverage and no annotations, the description only covers two high-level usage patterns and leaves most parameter behavior and mutation side effects undocumented. It is not complete enough for an agent to invoke the tool correctly across its full parameter space.

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?

Schema description coverage is 0%, so the description must compensate for all nine parameters. It only explains the combined use of basis_field and top_n and mentions omitting them, while leaving set_name, dimension_field, members, direction, aggregation, use_all, and internal_name entirely unexplained. The added meaning is helpful but covers only a small fraction of the schema.

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 description states a specific verb and resource: 'Create a Tableau set (datasource filter-group) for membership logic.' It adds clarifying scope ('datasource filter-group') that helps distinguish it from generic grouping tools. However, it does not explicitly compare itself to close siblings like add_group or add_combined_set, so an agent must infer the distinction.

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

Usage Guidelines4/5

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

It gives clear conditional usage: 'Use basis_field + top_n to build a top-N set' and 'omit both to create an empty set used as a Set Action target.' This tells the agent how to configure the tool for two concrete scenarios. It does not mention when to prefer this tool over siblings such as add_group or add_combined_set, which prevents a top score.

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

add_worksheetC

Add a new blank worksheet to the workbook.

NameRequiredDescriptionDefault
worksheet_nameYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It states that a blank worksheet is added, but does not mention side effects (e.g., whether the worksheet becomes active, how it interacts with existing worksheets, or if it requires save). No annotation contradiction.

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?

The description is a single, clear sentence with no wasted words. It is appropriately concise for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has one parameter and an output schema (likely returns the worksheet ID or success), the description is minimal. It does not describe the return value or any constraints. For a simple add operation, this is adequate but not complete; the agent may need more context to use it correctly.

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?

The input schema has one required parameter ('worksheet_name') with 0% description coverage. The description does not explain what 'worksheet_name' means or any constraints (e.g., uniqueness, length). Since there is only one parameter, the baseline is 4, but the description adds no value beyond the schema, so a 3 is appropriate.

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 description clearly states the action ('Add') and the resource ('a new blank worksheet to the workbook'). It distinguishes from sibling tools like 'clone_worksheet' or 'configure_chart', though it could be more specific about the context (e.g., that it adds to an existing workbook).

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?

The description provides no guidance on when to use this tool versus alternatives like 'clone_worksheet' or 'add_dashboard'. It does not specify prerequisites (e.g., workbook must be open) or exclusions. The context signals show no annotations, so the description carries the full burden.

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

analyze_twbA

Analyze an existing TWB/TWBX file against cwtwb's declared capabilities.

This tool requires a file_path that already exists on disk. It cannot analyze the active in-memory workbook directly and it does not save the current workbook. For a newly generated workbook, call save_workbook first, then pass that saved path to analyze_twb.

NameRequiredDescriptionDefault
file_pathYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description must carry the behavioral burden, and it does disclose non-obvious traits: it operates only on on-disk files, will not touch the in-memory workbook, does not persist the current workbook, and requires a prior save for fresh workbooks. It does not state whether the file is modified or what kind of report is produced, but the operational constraints are well surfaced.

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?

Purpose sentence is front-loaded, followed by the constraint block; every sentence carries information and there is no filler. Slightly verbose phrasing around the save_workbook instruction, but acceptable.

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?

An output schema exists, so return values need not be described. The key gap is sibling routing versus validate_workbook/profile_twb_for_migration; otherwise the prerequisites and constraints an agent needs to invoke this correctly are present.

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?

One parameter with 0% schema description coverage, so the description must compensate. It adds real meaning ('must already exist on disk', TWB/TWBX file scope) but omits format details such as absolute vs relative paths, accepted extensions, or path syntax.

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 (analyze) and resource (TWB/TWBX file) plus the scope of analysis (against cwtwb's declared capabilities). It is clearer than most siblings, though it does not explicitly distinguish itself from near-neighbors like validate_workbook, profile_twb_for_migration, or inspect_target_schema.

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

Usage Guidelines4/5

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

Gives a concrete precondition (file_path must already exist on disk), an explicit exclusion (cannot analyze the in-memory workbook, does not save it), and a routing instruction (call save_workbook first for a newly generated workbook). It stops short of naming alternative analysis/validation siblings and when to prefer them.

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

apply_twb_migrationC

Apply a workbook migration and write a migrated TWB plus reports.

NameRequiredDescriptionDefault
scopeNoworkbook
file_pathYes
output_pathYes
target_sourceYes
mapping_overridesNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.7/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 indicates the tool is likely destructive (applying migrations, writing files) and does not mention idempotency or side effects. The description adds some behavioral context ('write a migrated TWB plus reports') but lacks details on error handling or state changes.

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?

The description is a single, concise sentence that states the core action. It is front-loaded and contains no filler, but could benefit from slightly more structure (e.g., listing key parameters).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 5 parameters (3 required) and no annotation support, the description is incomplete. It does not explain return values despite having an output schema, nor does it cover migration scope or overrides. Sibling tools with similar purposes demand clearer differentiation.

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?

Schema description coverage is 0%, so the description must compensate. It mentions 'file_path', 'target_source', 'output_path', and 'scope' implicitly via 'workbook migration', but provides no details on 'mapping_overrides'. The description does not explain parameter meaning or expected formats beyond what the schema minimally indicates.

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

Purpose3/5

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

The description states 'Apply a workbook migration and write a migrated TWB plus reports', which is a clear verb+resource combination. However, it does not differentiate from the sibling 'migrate_twb_guided' or 'preview_twb_migration', leaving ambiguity about when to use this tool versus those.

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?

The description provides no guidance on when to use this tool versus alternatives like 'migrate_twb_guided' or 'preview_twb_migration'. No context about prerequisites, typical workflow, or exclusions is given.

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

apply_worksheet_refactorB

Rewrite one worksheet to use replacement fields without touching others.

NameRequiredDescriptionDefault
replacementsYes
worksheet_nameYes

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, so description must disclose behavior. It states 'rewrite ... using replacement fields' but doesn't mention mutability, whether operation is reversible, or if it requires prior preview. For a mutation tool with no annotations, more detail is needed.

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?

Single sentence, no fluff. It front-loads the action and scope. Could add a second sentence for when to use or behavior, but current is acceptable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (refactoring a worksheet), and no annotations or output schema description, the description is incomplete. It omits what 'replacements' are, whether it validates, and how errors are handled. Output schema exists but description doesn't leverage it.

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 coverage is 0% (no descriptions), but description mentions 'replacement fields', hinting at the 'replacements' parameter. However, it doesn't clarify the format or meaning of the replacement fields, leaving ambiguity. With 0 parameters described in schema, baseline is 3 but could be higher.

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?

Description clearly states action ('rewrite one worksheet'), resource ('worksheet'), and scope ('without touching others'). It distinguishes from siblings like 'preview_worksheet_refactor' or 'configure_worksheet_style', though not 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?

Implies use when needing to refactor a single worksheet without affecting others, but lacks explicit when-to-use vs alternatives, such as when to use 'apply_twb_migration' or 'preview_worksheet_refactor' first.

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

audit_calculated_fieldsA

Report calculated-field datatype/role contradictions without mutation.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.7/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 behavioral burden, and it does disclose the most important trait: it will not mutate anything. It adds nothing further (scope of the audit, how findings are surfaced, or limits).

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

Conciseness5/5

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

A single front-loaded sentence with the verb and resource first and the read-only qualifier at the end. 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?

An output schema exists, so return values need not be explained, and there are no parameters to document. The description is nearly sufficient for a zero-arg read tool, though it never states the auditing scope (whole workbook vs. a datasource).

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?

The tool takes zero parameters, so the baseline is 4; there is nothing for the description to disambiguate beyond what the empty schema already conveys.

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 ('Report') and precise resource ('calculated-field datatype/role contradictions'), which is more specific than a generic 'audit'. The 'without mutation' qualifier helps distinguish it from repair_calculated_field_issues, but no sibling is named 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: an agent can infer this is the read-only check to run before or instead of repair_calculated_field_issues. There is no explicit when-to-use, no prerequisite, and no named alternative.

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

clone_worksheetC

Clone an existing worksheet and its worksheet window.

NameRequiredDescriptionDefault
source_worksheetYes
target_worksheetYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It does not disclose any behavioral traits such as side effects (e.g., whether cloning copies dependencies like calculated fields), authorization requirements, or impact on source worksheet. The description only states what the tool does, not how it behaves.

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?

The description is very short (one sentence) and directly states the purpose. It could be considered under-specified, but it is concise and front-loaded with the key action. However, it sacrifices necessary detail for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (cloning involves copying multiple elements), the description is incomplete. It does not mention what exactly is cloned (e.g., fields, formatting, filters). Although an output schema exists, the description lacks behavioral context needed for correct invocation.

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?

Schema description coverage is 0%, meaning the schema provides no descriptions. The tool description does not add any meaning to the parameters 'source_worksheet' and 'target_worksheet'. It is unclear what format or identifiers are expected (e.g., worksheet names or IDs).

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 description states 'Clone an existing worksheet and its worksheet window', which clearly indicates the action (clone) and the resource (worksheet and its window). It distinguishes from siblings like 'add_worksheet' and 'configure_worksheet_style', though it doesn't explicitly differentiate from them.

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?

No guidance is provided on when to use this tool versus alternatives. For example, it doesn't mention when to use 'clone_worksheet' instead of 'add_worksheet' or 'configure_worksheet_style'. There is no context on prerequisites or limitations.

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

configure_chartC

Configure chart type and field mappings for a worksheet.

For chart type selection and encoding best practices, read: read_resource('cwtwb://skills/chart_builder')

NameRequiredDescriptionDefault
rowsNo
sizeNo
colorNo
labelNo
detailNo
columnsNo
filtersNo
tooltipNo
color_mapNo
mark_typeNoAutomatic
label_runsNo
map_fieldsNo
map_layersNo
sort_fieldNo
wedge_sizeNo
label_paramNo
text_formatNo
map_partitionNo
map_layer_modeNooverlay
measure_valuesNo
worksheet_nameYes
mark_sizing_offNo
sort_descendingNo
axis_fixed_rangeNo
customized_labelNo
geographic_fieldNo
separate_measure_domainsNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It does not disclose whether this mutates/overwrites existing chart configuration, creates a chart if none exists, requires permissions, or is reversible. For a write-oriented tool with zero annotation coverage, this is a substantial gap.

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?

Two short, front-loaded sentences with no filler and the resource pointer clearly set off. It is structurally efficient, though the extreme brevity masks real under-specification rather than achieving it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 27-parameter configuration tool with no annotations and 0% schema coverage, the description is far too thin to guide correct invocation. An output schema exists so return values need not be covered, but the missing parameter and behavioral detail leaves the agent poorly equipped.

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?

There are 27 parameters at 0% schema description coverage, and the description supplies essentially no parameter meaning. 'Chart type and field mappings' loosely gestures at mark_type and the encoding fields (rows, columns, color, label), but the vast majority of parameters remain undocumented in both schema and description.

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 with scope ('Configure chart type and field mappings for a worksheet'), which is clearer than a tautology. However, it does not distinguish itself from closely related siblings like configure_chart_recipe, configure_layered_chart, and configure_dual_axis, so an agent cannot tell from the description alone which chart-configuration entry point fits.

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?

It points to a skill resource (read_resource('cwtwb://skills/chart_builder')) for chart type selection, which is useful supporting guidance. But it never states when to use this tool versus the several sibling chart/config tools, so usage is only implied rather than routed.

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

configure_chart_recipeC

Configure a showcase recipe chart through the shared recipe registry.

For recipe chart patterns, read: read_resource('cwtwb://skills/chart_builder')

NameRequiredDescriptionDefault
recipe_argsNo
recipe_nameYes
worksheet_nameYes
auto_ensure_prerequisitesNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden and delivers little: it does not state that this mutates the workbook, what permissions are required, what happens on failure, or what auto-prerequisite behavior entails (that lives only in the schema default). Mentioning the registry is minor context against a mutation tool that discloses almost nothing.

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?

Two short sentences with the purpose front-loaded and no filler. The resource pointer is useful, though the quoted function-call syntax is awkward and would read better as plain prose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described. But with no annotations, 0% parameter coverage, and undefined recipe/registry concepts, the definition leaves an agent without enough to invoke this mutation tool correctly; the resource pointer is suggestive but insufficient to close the gap.

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?

Schema description coverage is 0% and the description names none of the four parameters, so worksheet_name, recipe_name, recipe_args, and auto_ensure_prerequisites carry no meaning beyond their bare titles. Referencing a resource that might document patterns is a partial gesture at compensation but adds no concrete parameter semantics.

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 ('Configure') and resource ('showcase recipe chart') and locates it in the 'shared recipe registry', which is distinct from the sibling configure_chart. However it never explains how a 'recipe' chart differs from the plain configure_chart, so an agent cannot confidently choose between them from the description alone.

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?

The only guidance is a pointer to read the chart_builder resource for 'recipe chart patterns', which is about how to build rather than when to use this tool versus configure_chart or configure_layered_chart. No prerequisites, no exclusions, no conditions that select this tool over siblings.

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

configure_custom_labelC

Set rich literal/field mark labels while preserving pane calculation context.

NameRequiredDescriptionDefault
runsYes
pane_indexNo
worksheet_nameYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Set' implies mutation, and 'preserving pane calculation context' is a useful side-effect hint, but the description omits permissions, overwrite behavior, reversibility, and what the runs actually do.

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?

The definition is a single front-loaded sentence with no filler. It is appropriately concise structurally, though it is so terse that it withholds detail which would be useful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. However, with no annotations and 0% input schema coverage, the description is too thin for an agent to call this tool correctly; it never explains the runs structure or when to use this tool versus its many siblings.

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?

Schema description coverage is 0%, so the description must compensate. 'literal/field' vaguely hints at label types, but it does not explain the required worksheet_name, the required runs array of objects, or the pane_index default, leaving all three parameters semantically undocumented.

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

Purpose3/5

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

The description states a specific verb ('Set') and resource ('mark labels'), so the general purpose is inferable. However, 'rich literal/field' is jargon that obscures exactly what is being configured, and there is no differentiation from siblings like configure_custom_tooltip or set_worksheet_caption.

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?

No when-to-use guidance, prerequisites, or alternatives are provided. The phrase 'while preserving pane calculation context' hints at a constraint but does not tell the agent when this tool should be selected over other label or worksheet configuration tools.

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

configure_custom_tooltipD

Set formatted text/field runs or embedded sheets with explicit filter_fields.

NameRequiredDescriptionDefault
runsYes
pane_indexNo
worksheet_nameYes

Output Schema

NameRequiredDescription
resultYes

TDQS

D1.9/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full behavioral burden, yet it discloses nothing: not whether the tooltip replaces or appends existing content, what a 'run' entails, permission needs, or reversibility. It only vaguely names the payload types.

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?

It is a single short, front-loaded sentence with no padding, which is structurally fine. However, the brevity comes at the cost of comprehensibility, so it is terse rather than efficiently informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-annotation mutation tool with three parameters at 0% schema coverage, the description leaves almost everything an agent needs unstated: parameter meanings, side effects, and prerequisites. An output schema exists so return values are excused, but the input/behavioral gaps are severe.

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?

Schema description coverage is 0%, so the description must compensate, but it only loosely gestures at 'runs' and mentions a non-existent 'filter_fields'. Required parameters 'worksheet_name' and optional 'pane_index' are never explained, leaving their meaning to guesswork.

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

Purpose2/5

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

The verb 'Set' and the implied resource (a custom tooltip's runs/sheets) are present, so it is not pure tautology, but the description never says it configures a tooltip and instead leans on jargon like 'field runs' and 'embedded sheets'. It references 'filter_fields', which is not even a parameter, creating confusion rather than clarity.

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, when not to, or how it differs from the closely named sibling configure_custom_label. The agent is given no routing guidance.

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

configure_datasource_blendC

Link independently aggregated sources in a worksheet without a join.

NameRequiredDescriptionDefault
link_fieldsYes
worksheet_nameYes
secondary_fieldsYes
secondary_datasourceYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden, but it only says what linking means conceptually. It does not disclose whether the operation mutates existing worksheet state, what happens to an existing blend, what permissions or preconditions are required, or any side effects.

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?

The description is a single front-loaded sentence with no filler or repetition. It is concise, though for a four-parameter configuration tool the brevity borders on under-specification rather than optimal sizing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with four required parameters, a nested object, and no annotations, the one-sentence description is substantially incomplete. The output schema relieves it of explaining return values, but it still omits parameter meaning, preconditions, and behavioral effects that an agent needs before invoking it.

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

Parameters1/5

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

Schema description coverage is 0% across four required parameters, including a nested object (link_fields), so the description needed to compensate heavily. Instead it provides no parameter-level meaning: worksheet_name, secondary_datasource, link_fields, and secondary_fields are all left entirely undocumented in both the schema and the description.

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 description clearly states a specific action ('Link ... sources') and resource ('independently aggregated sources in a worksheet'), and it distinguishes the operation from a join. However, it does not differentiate this tool from nearby siblings such as import_blended_field or link_worksheet_filters, 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?

The phrase 'without a join' hints at when blending is appropriate rather than joining, but there is no explicit when-to-use guidance, no prerequisites, and no named alternatives. An agent receiving this tool among many worksheet/datasource configuration tools gets no routing information.

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

configure_dual_axisC

Configure a dual-axis chart composition.

For dual-axis chart patterns and best practices, read: read_resource('cwtwb://skills/chart_builder')

NameRequiredDescriptionDefault
rowsNo
size_1No
size_2No
color_1No
color_2No
columnsNo
filtersNo
label_1No
label_2No
detail_1No
detail_2No
hide_axesNo
sort_fieldNo
color_map_1No
mark_type_1NoBar
mark_type_2NoLine
show_labelsNo
mark_color_1No
mark_color_2No
size_value_1No
size_value_2No
synchronizedNo
wedge_size_1No
wedge_size_2No
hide_zerolineNo
reverse_axis_1No
worksheet_nameYes
dual_axis_shelfNorows
mark_sizing_offNo
sort_descendingNo
table_calc_overridesNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full disclosure burden for a 31-parameter mutation-style tool. It omits whether the worksheet must already exist, whether existing chart settings are overwritten, what permissions are needed, and whether the change is reversible. It adds almost nothing beyond 'this configures a dual-axis chart.'

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?

Two short sentences, front-loaded with the action, with no filler or redundancy. The second sentence is a routing hint rather than bloat, though it does substitute a pointer for information the description could have supplied.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 31-parameter tool with zero schema descriptions, no annotations, and only one required field documented by name, the description is far too thin. The presence of an output schema excuses it from explaining return values, but not from explaining how to drive the input parameters.

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

Parameters1/5

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

Schema description coverage is 0% across 31 parameters, and the description explains none of them. Pairs like size_1/size_2, color_1/color_2, mark_type_1/mark_type_2, dual_axis_shelf, synchronized, and table_calc_overrides are left entirely opaque, so an agent must guess at the axis-1/axis-2 semantics and accepted formats.

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 description names a specific verb and resource ('Configure a dual-axis chart composition'), which is enough to tell it is a chart-configuration tool. However, it does not differentiate itself from siblings like configure_chart, configure_layered_chart, or configure_chart_recipe, nor does it say what a 'composition' modifies.

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?

The only guidance is a pointer to a skill resource for 'dual-axis chart patterns and best practices,' which is about how to do it well, not when to choose this tool over configure_chart or configure_layered_chart. No prerequisites, exclusions, or alternative-selection conditions are stated.

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

configure_layered_chartC

Build layered panes with encodings, ordered values and native styles.

sort_mode='computed' orders dimension members before table calculations; 'shelf' explicitly selects shelf sorting, and 'auto' retains default routing. table_calc_context gives explicit overrides a local native instance identity, including map calculations whose dimensions live on mark detail shelves.

NameRequiredDescriptionDefault
rowsNo
panesNo
columnsNo
filtersNo
fold_axesNo
hide_axesNo
sort_modeNoauto
axis_shelfNorows
sort_fieldNo
synchronizedNo
worksheet_nameYes
sort_descendingNo
table_calc_contextNo
table_calc_overridesNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states no mutation semantics, side effects, permission/auth needs, reversibility, or whether it requires a pre-existing layered chart, despite 'configure'/'Build' implying a write to an existing worksheet. Only niche sort/table-calc semantics are disclosed.

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

Conciseness2/5

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

The text is short but misallocated: it front-loads a vague purpose sentence and then spends most of its length on sort_mode and table_calc_context, two of the least central parameters, while ignoring the core panes/rows/columns inputs. Structure does not prioritize what an agent needs first.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 14-parameter mutation tool with zero annotation coverage and zero schema descriptions, the description should define the encodings/panes model and most parameters. It covers roughly two parameters and leaves the rest to guesswork, so an agent cannot reliably construct a correct call.

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?

Schema coverage is 0% across 14 parameters, so the description must compensate, and it does not. It clarifies only sort_mode values and table_calc_context, leaving rows, columns, panes, filters, axis_shelf, sort_field, synchronized, table_calc_overrides and others entirely undocumented.

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

Purpose3/5

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

The opening line gives a verb and a loose resource ('Build layered panes with encodings, ordered values and native styles'), but 'layered panes' is jargon that doesn't map to an obvious user concept, and nothing distinguishes this tool from siblings like configure_chart, configure_dual_axis, or configure_chart_recipe. An agent can infer it configures a multi-pane chart, but only vaguely.

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?

The description explains what two sort_mode values mean, but never says when to reach for this tool versus configure_chart/configure_dual_axis/configure_chart_recipe, nor any prerequisite (e.g., an existing worksheet/layered view). No when-to-use or when-not-to-use guidance is present.

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

configure_subtotalsC

Configure visual subtotals and per-dimension subtotal labels.

NameRequiredDescriptionDefault
labelNoAvg.
aggregationNoAverage
measure_fieldsYes
worksheet_nameYes
subtotal_fieldsNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Configure' implies mutation, but nothing says whether existing subtotals are replaced or merged, whether the label/aggregation defaults are applied on every call, or what permissions are needed.

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?

A single well-formed sentence with the core purpose front-loaded and no filler. It is terse to the point of being under-specified, but not padded or repetitive.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be described, but for a five-parameter mutation tool with zero annotation coverage and zero schema descriptions, the definition is far too thin. It leaves the agent guessing about field selection, aggregation behavior, and side effects.

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?

Schema description coverage is 0% across five parameters, and the description only obliquely gestures at labels and per-dimension subtotals. It gives no meaning for worksheet_name, measure_fields, subtotal_fields, aggregation, or the default 'Avg.' label, so it does not compensate for the schema gap.

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 (configure) and resource (subtotals), plus the sub-resource of per-dimension subtotal labels. An agent can tell this is the worksheet subtotals tool; it just doesn't need to name a sibling because no other tool covers subtotals.

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?

No indication of when to use this versus alternatives, no prerequisites (e.g., worksheet must exist or be opened first), and no mention of what state the worksheet must be in. The agent is left to infer everything from the name.

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

configure_worksheet_domain_rangeC

Complete missing dates for discrete exact-date fields; [] disables completion.

NameRequiredDescriptionDefault
fieldsYes
worksheet_nameYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description must carry the full behavioral burden, but it only hints that passing an empty list disables completion. It omits permission requirements, whether changes are reversible, side effects, and any other behavioral traits expected from a mutation-like configuration tool.

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?

The single-sentence description is compact and front-loads the main action, but it omits key identifying context for the tool, so its brevity comes at the cost of clarity rather than being fully earned.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a configuration tool with two required, undocumented parameters and no annotations, the description is too thin. Even though an output schema exists, essential input semantics and usage context are missing, leaving an agent with insufficient information to call it correctly.

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?

Schema description coverage is 0%, so the description must compensate; instead it only explains one behavior of the 'fields' parameter ([] disables completion) and says nothing about 'worksheet_name' or the expected format of field names. The schema provides only types/titles, leaving both parameters largely undocumented.

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

Purpose3/5

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

The description states a verb-like behavior ('Complete missing dates') and a scope ('discrete exact-date fields'), which hints at the resource (date range configuration for a worksheet). However, it never names the tool's actual resource (worksheet domain range) or clearly distinguishes it from the many sibling configure_* tools, making the purpose only moderately inferable.

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 guidance on when to use this tool versus alternatives like set_date_options or enable_domain_completion, both of which appear related. The only conditional fragment ('[] disables completion') is a parameter behavior, not a usage rule.

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

configure_worksheet_styleC

Apply worksheet-level styling: background color, axis/grid/border visibility.

pane_mark_style accepts mark-labels-range-field as a public field expression and resolves its native qualified reference for min/max labels.

For formatting best practices, read: read_resource('cwtwb://skills/formatting')

NameRequiredDescriptionDefault
hide_axesNo
map_styleNo
axis_styleNo
size_styleNo
color_styleNo
cell_formatsNo
hide_bordersNo
legend_styleNo
pane_formatsNo
hide_reflinesNo
hide_zerolineNo
label_formatsNo
table_formatsNo
gridline_styleNo
header_formatsNo
hide_droplinesNo
hide_gridlinesNo
worksheet_nameYes
disable_tooltipNo
hide_band_colorNo
pane_cell_styleNo
pane_mark_styleNo
background_colorNo
hide_sort_controlsNo
hide_table_dividersNo
pane_datalabel_styleNo
hide_col_field_labelsNo
hide_row_field_labelsNo
pane_trendline_hiddenNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses one behavioral quirk (pane_mark_style resolving native qualified references), but says nothing about whether styling overwrites existing settings, permissions required, reversibility, or scope of effect for a 29-parameter mutation tool.

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 purpose is front-loaded and the three blocks are short, but the middle sentence about pane_mark_style is an oddly narrow detail given the much larger undocumented surface, making the structure feel unbalanced rather than optimally prioritized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 29 parameters, 0% schema coverage, no annotations, and only a required worksheet_name plus an output schema, the description is far too thin to guide correct invocation. It covers a handful of style categories and one parameter quirk, leaving the agent to guess at the rest.

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?

Schema description coverage is 0% across 29 parameters, so the description must compensate but barely does. It mentions only background color, the axis/grid/border visibility flags collectively, and one specific parameter (pane_mark_style), leaving the vast majority of parameters (map_style, legend_style, cell_formats, etc.) undocumented anywhere.

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 description states a specific verb and resource ('Apply worksheet-level styling') and enumerates the style categories (background color, axis/grid/border visibility). This is distinguishable from siblings like set_field_format or set_worksheet_title. It stops short of explicitly naming an alternative tool, so it doesn't reach 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 explicit when-to-use or when-not guidance and no routing to alternatives among the many style-related siblings (set_field_format, set_shape_palette, add_reference_band). The only pointer is a formatting best-practices resource, which is not usage selection guidance.

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

configure_worksheet_time_seriesC

Extend a continuous date domain and allow calculations on added periods.

NameRequiredDescriptionDefault
fieldYes
periodsYes
period_typeNoyear
worksheet_nameYes
calculations_on_densified_marksNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.2/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, yet it does not disclose that this mutates the workbook, what happens to the existing domain, whether the field must already be continuous, permissions required, or reversibility. It implies a write operation ('extend', 'allow calculations') without characterizing it.

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?

A single front-loaded sentence with no filler, which is structurally fine, but it is under-specified rather than genuinely concise given the tool's complexity. Nothing is wasted, but little is said.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values needn't be explained, but for a 5-parameter mutation tool with zero annotation coverage and zero schema descriptions, the definition leaves critical calling information missing. It is not complete enough for reliable invocation.

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

Parameters1/5

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

All 5 parameters have 0% schema description coverage, and the description mentions none of them (field, periods, period_type, calculations_on_densified_marks, worksheet_name). Meaning such as what 'periods' counts or what period_type accepts is completely absent.

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

Purpose3/5

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

The description states a recognizable action (extend a continuous date domain) tied to a resource, but it is vague about scope and offers no differentiation from close siblings like configure_worksheet_domain_range or enable_domain_completion. An agent cannot reliably tell which of these overlapping tools to call.

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 when-to-use guidance, no prerequisites, and no named alternative. The clause 'allow calculations on added periods' hints at a scenario but never states the condition under which this tool should be chosen over configure_worksheet_domain_range.

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

convert_workbookA

Convert TWB, TWBX, YAML or JSON by output suffix without an editor session.

YAML/JSON contain an editable native XML tree, not a simplified chart DSL. Assets are copied alongside definitions; keep these files together. Unknown XML is retained. Only XML syntax is checked, not Tableau runtime behavior. The current editor session is not modified. Existing output requires force.

NameRequiredDescriptionDefault
forceNo
input_pathYes
output_pathYes

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses that YAML/JSON contain an editable native XML tree, assets are copied alongside definitions, unknown XML is retained, only XML syntax is checked, the current editor session is not modified, and existing output requires force. It omits permission requirements and error behavior, but covers important behavioral traits.

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

Conciseness5/5

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

Front-loads the core purpose, then adds necessary behavioral caveats in compact sentences. No redundant or filler content; every sentence adds value for a tool with no annotations.

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?

Given no annotations and no output schema, the description is fairly complete on behavior and caveats. It does not describe return values or error handling, which would be useful in the absence of an output schema.

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 explains that output format is determined by output suffix (output_path) and that force is needed to overwrite existing output, but leaves input_path and exact path/format semantics undocumented.

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 (convert), resources (TWB, TWBX, YAML, JSON), and key constraints (by output suffix, without an editor session). This distinguishes it from siblings like open_workbook or save_workbook that operate within an editor session.

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

Usage Guidelines4/5

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

Provides clear context: use when converting between formats without an editor session, and notes that existing output requires force. It does not name alternatives or explicitly exclude other tools, but the condition for use is clear.

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

copy_default_device_layoutC

Preserve default geometry in a custom Phone/Tablet layout with shared IDs.

NameRequiredDescriptionDefault
device_nameNoPhone
dashboard_nameYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It does not say whether an existing custom layout is overwritten, what 'shared IDs' means operationally, whether dashboard_name must already exist, or how conflicts are resolved — only the vague verb 'preserve'.

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?

A single short sentence with no filler, so it is concise. However, the brevity comes at the cost of clarity, and the one sentence is not front-loaded with a recognizable action verb.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values are covered elsewhere. But with zero annotation coverage, zero parameter documentation, and no usage context, the description leaves an agent without enough to call this tool correctly.

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?

Schema description coverage is 0% for two parameters. The description hints at device values by mentioning 'Phone/Tablet', which loosely maps to device_name, but dashboard_name — the required parameter — is never explained or constrained in either the schema or the description.

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

Purpose2/5

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

The name promises a copy operation, but the description says only 'Preserve default geometry', never stating that it copies a default device layout onto a custom one. 'Shared IDs' and 'geometry' are unexplained jargon, so the agent cannot confidently say what the tool produces.

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 when-to-use statement, no condition for choosing this over siblings like enable_automatic_phone_layout or generate_layout_json, and no prerequisite noted. The agent is left to infer everything from the name.

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

create_workbookC

Create a new workbook from a TWB or TWBX template file.

NameRequiredDescriptionDefault
template_pathNo
workbook_nameNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It does not state whether the tool modifies existing files, requires specific permissions, or if the creation is reversible. The word 'create' implies a write operation, but no further details are given.

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?

The description is a single, short sentence that directly states the tool's purpose. It is concise and front-loaded, though it could benefit from additional context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and the relatively simple operation (creation from template), the description provides the core purpose. However, it lacks details on parameter behavior, error conditions, or what happens to existing workbooks. It is adequate but not comprehensive.

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?

The input schema has 2 parameters with 0% description coverage, meaning the description adds no detail beyond the schema. However, the parameter names ('template_path', 'workbook_name') are fairly self-explanatory. The description clarifies that the template is from a TWB/TWBX file, which adds context.

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 description specifies the action ('create a new workbook') and the source material ('from a TWB or TWBX template file'). However, it does not differentiate from siblings like 'generate_workbook_from_run' or 'save_workbook', which could create ambiguity.

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?

The description lacks any guidance on when to use this tool versus alternatives (e.g., 'generate_workbook_from_run' or 'open_workbook'). It does not mention prerequisites, such as whether the template file must exist or be provided via a path.

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

describe_capabilityB

Describe one declared capability and its support tier.

NameRequiredDescriptionDefault
kindYes
nameYes

Output Schema

NameRequiredDescription
resultYes

TDQS

B3/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the full burden. It accurately states the tool's behavior (describing one capability) but does not disclose side effects, permissions, or error conditions. The description is honest but minimal.

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?

The description is a single, efficient sentence with no wasted words. It is front-loaded with the key action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity is low (simple retrieval with 2 parameters and an output schema), the description is mostly adequate. However, the lack of parameter semantics and usage guidance reduces completeness for an agent without external knowledge.

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?

Schema description coverage is 0%, and the description does not explain what 'kind' and 'name' refer to or how to obtain valid values. The description adds no meaning beyond the schema field titles, leaving the agent to guess.

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 description clearly states the tool retrieves a capability and its support tier, using a specific verb ('describe') and resource ('capability'). It distinguishes from sibling tools like 'list_capabilities' by focusing on a single capability, though it does not explicitly contrast them.

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?

No guidance is provided on when to use this tool versus alternatives (e.g., 'list_capabilities'). The description lacks context on prerequisites or appropriate usage scenarios, leaving the agent to infer from the name.

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

diff_template_gapC

Summarize the non-core capability gap of a TWB template.

NameRequiredDescriptionDefault
file_pathYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It does not mention if the tool is read-only, has side effects, requires authentication, or any constraints. The description only states the purpose but not the behavior.

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

Conciseness5/5

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

The description is a single sentence, front-loaded with the action, and contains no unnecessary words. It is appropriately concise for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (one parameter, no annotations, but an output schema exists), the description is too sparse. It does not explain the tool's purpose relative to siblings, the format of the summary, or prerequisites. The output schema may provide return structure, but the description should still set expectations.

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?

Schema coverage is 0%, meaning the input schema provides no description for the 'file_path' parameter. The description does not explain what 'file_path' should point to (e.g., a TWB file, a specific format). With only one parameter, the description should add context beyond the schema.

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 description states 'Summarize the non-core capability gap of a TWB template', which is a specific verb ('Summarize') and resource ('non-core capability gap of a TWB template'). It is clear and distinct from sibling tools like 'profile_twb_for_migration' or 'analyze_twb'.

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?

No guidance is provided on when to use this tool versus alternatives like 'profile_twb_for_migration' or 'analyze_twb'. The description does not explain what constitutes a 'non-core capability gap' or in what context this is relevant.

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

enable_automatic_phone_layoutC

Derive a scrolling Phone layout from the default dashboard objects.

NameRequiredDescriptionDefault
dashboard_nameYes
worksheet_heightNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It does not disclose whether the operation mutates the workbook, whether it is reversible, whether it overwrites an existing phone layout, or any permission requirement – all important for a layout-generation action.

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?

A single, front-loaded sentence with no filler. It is appropriately sized for the operation, though its brevity comes partly at the cost of the missing detail noted elsewhere.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, but the 0% schema coverage means the description should cover the parameters and basic behavior. It omits both, leaving the agent under-informed for a two-parameter layout action.

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?

Schema coverage is 0% and the description explains neither parameter. 'Default dashboard objects' loosely hints at dashboard_name, but worksheet_height – a non-obvious tuning parameter with a default – is never mentioned, so the description fails to compensate for the empty schema.

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 description gives a specific verb ('Derive') and resource ('a scrolling Phone layout from the default dashboard objects'), making the operation's intent clear. It does not, however, differentiate itself from related siblings such as copy_default_device_layout, so an agent must infer which layout tool applies.

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 when-to-use guidance, no prerequisites (e.g. a dashboard must already exist), and no reference to the sibling copy_default_device_layout that a reader would naturally confuse this with. The agent gets no routing help.

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

enable_domain_completionC

Add an INDEX() detail table calculation to trigger Tableau densification.

NameRequiredDescriptionDefault
field_nameNoDomain Completion Index
ordering_typeNoRows
worksheet_nameYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It reveals the underlying mechanism (an INDEX() detail table calculation) but says nothing about which worksheet artifacts are mutated, whether existing calculations are affected, reversibility, required permissions, or side effects.

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?

A single, front-loaded sentence with no wasted words. It is appropriately terse for a narrowly scoped operation, though the terseness contributes to the missing usage and parameter information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values needn't be explained, but for a mutation tool with zero annotation coverage and 0% parameter documentation, the description is far too thin. It omits when to use it, what the parameters mean, and any behavioral side effects an agent needs.

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

Parameters1/5

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

Schema description coverage is 0% and none of the three parameters are described. The description never mentions worksheet_name, field_name, or ordering_type, nor their defaults ('Domain Completion Index', 'Rows'), so it adds zero meaning to the schema.

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 description gives a specific verb and mechanism: it adds an INDEX() detail table calculation to trigger Tableau densification. This is more concrete than a generic 'enable' verb. However, it does not distinguish itself from closely related siblings such as configure_worksheet_domain_range or add_calculated_field, so an agent cannot route between them from the text alone.

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 explicit guidance on when to use this tool versus alternatives like configure_worksheet_domain_range (domain range) or add_calculated_field. The phrase 'trigger Tableau densification' implies a context but never states conditions, prerequisites, or exclusions.

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

generate_layout_jsonA

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

NameRequiredDescriptionDefault
layout_treeYes
output_pathYes
ascii_previewYes

Output Schema

NameRequiredDescription
resultYes

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.

generate_layout_yamlA

Generate and save a dashboard layout YAML 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 YAML file

  4. Call add_dashboard with layout=<this_file_path>

The layout_tree uses the same declarative container DSL as generate_layout_json.

NameRequiredDescriptionDefault
layout_treeYes
output_pathYes
ascii_previewYes

Output Schema

NameRequiredDescription
resultYes

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 discloses the file-write side effect and the ordering dependency on add_dashboard, plus that ascii_preview is required for user confirmation, but omits overwrite behavior, path/permission requirements, and what happens if the file already exists.

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, then presents a compact numbered workflow where every step earns its place. The closing note on the shared DSL is useful rather than padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values needn't be explained, and the workflow dependencies are covered. But for a 3-required-param tool with a nested, undocumented layout_tree object, the description gives only a pointer ('same DSL as generate_layout_json') rather than enough to construct the tree.

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 coverage is 0%, so the description must compensate. It gives partial meaning for all three: layout_tree references the generate_layout_json DSL, ascii_preview is tied to confirmation, and output_path is the <this_file_path> consumed by add_dashboard. However, no format or structure details are provided for the nested layout_tree or the 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+resource ('Generate and save a dashboard layout YAML file') and explicitly contrasts with the sibling generate_layout_json by noting they share the same container DSL. It's clear what the tool produces, though it stops short of stating when YAML should be preferred over the JSON variant.

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

Usage Guidelines4/5

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

Provides an explicit numbered workflow placing this tool between list_worksheets and add_dashboard, which is strong when-to-use guidance and names the downstream consumer (add_dashboard with layout=<this_file_path>). It lacks an explicit exclusion or rule for choosing YAML vs the JSON sibling.

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

get_mcp_statusA

Report cwtwb MCP server version, workbook state, and safe usage guardrails.

Use this when an AI client seems stale, cannot see expected tools, or is about to edit MCP configuration to switch Tableau credentials. This tool never returns secret values.

NameRequiredDescriptionDefault

No parameters

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 disclosure burden. It states that the tool never returns secret values and what it reports, which is useful safety context; however, it does not explicitly confirm read-only/no side effects or auth requirements.

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

Conciseness5/5

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

Three short sentences, front-loaded with the tool's purpose, followed by usage guidance and a safety note. Every sentence earns its place with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple zero-parameter diagnostic tool with no output schema, the description is complete: it states what is reported, when to use it, and that secrets are never returned.

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?

The tool takes zero parameters, so there are no parameter semantics to document. This meets the baseline for a no-parameter tool.

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?

The description states a specific verb ('Report') and resource ('cwtwb MCP server version, workbook state, and safe usage guardrails'). It clearly distinguishes this diagnostic tool from the many workbook-editing siblings.

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

Usage Guidelines4/5

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

It gives explicit triggers for use: stale AI client, missing expected tools, or about to edit MCP configuration to switch Tableau credentials. It does not name alternatives or when-not-to-use, but the context is clear.

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

import_blended_fieldC

Define a primary aggregate proxy for a secondary source field.

NameRequiredDescriptionDefault
aliasYes
fieldYes
secondary_datasourceYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.1/5.0
Behavior2/5

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

No annotations are provided, so the description bears the full behavioral burden. It implies a definition/mutation ('Define', 'import') but discloses nothing about side effects, required permissions, reversibility, or whether it creates/modifies a blend. Only the vaguest hint of intent is present.

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?

It is a single, front-loaded sentence with no padding, so it is concise. However, the brevity stems from under-specification rather than economy of wording, leaving it merely structurally adequate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described. But for a blend-related definition tool with no annotations, zero parameter documentation, and no usage context, the description is far too thin to let an agent call it correctly.

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?

Schema description coverage is 0% for all three required parameters, so the description must compensate and does not. 'Secondary source field' loosely gestures at secondary_datasource and field, but 'alias' is never explained and no format or constraint guidance is added.

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

Purpose2/5

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

The phrase 'Define a primary aggregate proxy for a secondary source field' is domain jargon that never states plainly what the tool does. It does not name the resource (a blended field / data-source blend) or distinguish itself from the closely related sibling configure_datasource_blend, so an agent cannot confidently tell them apart.

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?

No when-to-use, prerequisites, or alternatives are given. With siblings like configure_datasource_blend, add_calculated_field, and configure_datasource_blend present, the description offers no routing signal at all.

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

initialize_dashboard_filter_actionC

Initialize an existing native filter action's targets with overridable members.

NameRequiredDescriptionDefault
membersYes
action_nameYes
dashboard_nameYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full disclosure burden. It implies a mutation ('Initialize ... with ... members') but never says what state is overwritten, what permissions are required, or whether the operation is idempotent or reversible.

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?

A single compact sentence that leads with the operation and places the target after it. It is well-sized for what it attempts, though brevity here comes at the cost of missing detail rather than trimming redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be described, but for a 3-required-param mutation tool with a nested object, zero schema descriptions, and no annotations, the description is far too thin to call safely. It should at minimum identify the dashboard/action the members attach to and what 'overridable' implies.

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?

Schema description coverage is 0% and the description only loosely gestures at two of the three parameters via 'targets' and 'overridable members'. The required 'dashboard_name' and 'action_name' are not explained at all, and the nested 'members' object structure is undocumented in both places.

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

Purpose3/5

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

The verb 'Initialize' and the resource 'native filter action's targets' are named, so the agent knows roughly what is being modified. However, the phrasing is jargon-dense ('overridable members') and does little to separate this tool from close siblings like add_dashboard_action, add_dashboard_set_action, or link_worksheet_filters.

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 this tool should be used rather than alternatives, no prerequisites, and no exclusions. The agent is left to infer from the name alone that this applies only to an already-existing filter action.

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

inspect_excel_connectionC

Preview how an Excel workbook will be interpreted before connection setup.

NameRequiredDescriptionDefault
file_pathYes
sheet_nameNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. "Preview" hints at a non-mutating inspection, but it never states whether the file must exist, what permissions are required, whether anything is written, or what interpretation decisions are surfaced. This is thin for a tool whose whole value is diagnostic output.

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?

A single front-loaded sentence with no filler or redundancy. It is efficient, though the terseness is part of why the other dimensions are weak.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, but the description still omits the parameter meanings and any behavioral context for a tool with zero annotation coverage. For a pre-flight inspection tool, the agent is left guessing what is inspected and under what conditions.

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?

Schema coverage is 0% and neither parameter is mentioned in the description. file_path is at least inferable from its name, but sheet_name's empty-string default and its role in scoping the preview are entirely undocumented in both the schema and the description.

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 ("Preview") and resource ("how an Excel workbook will be interpreted"), and the phrase "before connection setup" implicitly positions it as the dry-run counterpart to set_excel_connection. It stops short of naming that sibling explicitly, but the purpose is clear enough to distinguish it from actual connection creation.

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?

"before connection setup" gives an implied timing/context for use, so the agent can infer it precedes set_excel_connection. However, there is no explicit when-to-use statement, no when-not-to-use, and no named alternative, leaving the routing decision partly to inference.

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

inspect_target_schemaB

Inspect the first-sheet schema of a target Excel datasource.

NameRequiredDescriptionDefault
target_sourceYes

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

No annotations provided, so description carries burden. It discloses it inspects only the first sheet of Excel, but does not mention any side effects or permissions. With no annotations, this is adequate but minimal.

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

Conciseness5/5

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

Single sentence, 10 words, no filler. Front-loaded with verb and resource. Every word earns its place.

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?

Given only 1 parameter, no annotations, but with an output schema (which presumably explains return value), the description is nearly complete. Could add that it returns field names and types, but output schema likely covers that.

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?

Schema coverage is 0%, yet description adds no meaning to the 'target_source' parameter. The description only mentions 'target Excel datasource' but does not explain what 'target_source' is or how to specify it.

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?

Description states verb 'inspect' and resource 'first-sheet schema of a target Excel datasource'. It clearly distinguishes from siblings like 'intake_datasource_schema' by specifying Excel and first-sheet scope.

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?

No explicit when-to-use or when-not-to-use guidance. However, from context it's implied to inspect schema before using other datasource tools. No alternatives mentioned.

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

list_capabilitiesA

List cwtwb's declared capability boundary.

This reports what workbook features/charts are supported by cwtwb. It does not enumerate callable MCP tools and should not be used to infer whether a tool like add_dashboard or save_workbook exists.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.1/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 it does disclose the crucial behavioral trait: the output describes supported features, not callable tools. This prevents a common misuse. It adds nothing about output shape, but an output schema exists to cover that.

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

Conciseness5/5

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

Three tight sentences, front-loaded with the core purpose and immediately followed by the scope limitation. Every sentence earns its place, and no filler is present.

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 zero-parameter, read-only introspection tool with an output schema, the description covers what it returns in scope terms (feature/chart support) and warns against the main misinterpretation. Nothing essential is missing, though naming describe_capability as the complement would have made it airtight.

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?

The tool takes zero parameters, so per the rubric the baseline is 4. There is nothing for the description to explain about arguments, and it does not waste space pretending otherwise.

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 ("List cwtwb's declared capability boundary") and clarifies the resource is supported workbook features/charts. It explicitly distances itself from enumerating MCP tools, which is useful given how many list_* siblings exist. It does not, however, distinguish itself from the closely-related describe_capability sibling.

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

Usage Guidelines4/5

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

Gives explicit negative guidance: it should not be used to infer whether a tool like add_dashboard or save_workbook exists. That exclusion is concrete and actionable. It stops short of stating the positive when-to-use case or naming an alternative such as describe_capability, so it is clear context without full routing.

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

list_dashboardsA

List dashboards and their worksheet zones in the current workbook.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.5/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 describes the tool as listing dashboards and zones, implying a read-only operation, which is reasonable but lacks details on side effects or access requirements.

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

Conciseness5/5

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

The description is a single, clear sentence with no extraneous information. It is appropriately concise.

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 is simple with zero parameters and an output schema exists (not shown). The description is sufficient given the simplicity, though it could mention that it operates on the currently open workbook.

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% with zero parameters, so the description does not need to add parameter info. It correctly states the scope (current workbook) which adds context beyond the empty schema.

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 description clearly states the tool lists dashboards and their worksheet zones in the current workbook, with a specific verb and resource. However, it does not differentiate from siblings like 'add_dashboard' or 'list_worksheets'.

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?

No guidance on when to use this tool versus alternatives (e.g., 'add_dashboard' or 'list_worksheets'). The context of 'current workbook' is implied but not explicit.

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

list_fieldsA

List all available fields in the current workbook datasource.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations provided, so description carries the burden. It states the tool 'lists' fields, implying a read-only operation with no side effects. However, it does not clarify behavior like caching, pagination, or what 'available' means exactly (e.g., include hidden fields?). The description is minimally adequate but lacks depth.

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

Conciseness5/5

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

The description is a single sentence that is concise and front-loaded with the key action. Every word earns its place. No wasted text.

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?

Given no parameters, presence of output schema, and low complexity, the description is nearly complete. It identifies the resource and scope. It could optionally mention that the output includes field names and types, but the output schema presumably covers that. Slight lack of detail on what 'available' means, but adequate for a zero-parameter tool.

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?

The input schema has zero parameters, so the description does not need to add parameter details. The description correctly implies no configuration is needed. With 100% schema coverage (trivially), a baseline of 3 applies, but the description adds value by specifying the source ('current workbook datasource').

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 description clearly states the tool lists all available fields in the current workbook datasource. It specifies the resource ('fields') and scope ('current workbook datasource'). While it distinguishes from sibling tools like 'add_calculated_field' and 'remove_calculated_field', it does not explicitly differentiate from potential field-related tools.

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?

The description implies usage before other actions that require knowledge of available fields (e.g., adding calculated fields). However, it does not explicitly state when to use this tool versus alternatives, nor does it mention any prerequisites or exclusions.

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

list_worksheetsA

List worksheet names in the current workbook.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

The description states it lists 'names', which is a non-destructive read operation. Since no annotations are provided, the description carries the full burden. It clearly indicates no side effects, though it doesn't mention what happens if the workbook is empty or if there are many worksheets.

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

Conciseness5/5

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

The description is a single sentence of 5 words, perfectly concise and front-loaded. Every word is necessary and earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no parameters, no output schema needed since output is presumably list of strings), the description is complete. It tells the agent exactly what to expect.

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?

The input schema has no parameters, so there is nothing to explain. The description adds no parameter semantics, but this is acceptable since there are none. Baseline 3 applies.

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?

The description clearly states it lists worksheet names in the current workbook, using a specific verb ('list') and resource ('worksheet names'). It is distinct from siblings like list_dashboards, list_fields, and add_worksheet, which have different purposes.

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

Usage Guidelines4/5

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

The description implies usage when you need to know worksheet names, and it is clearly a read-only operation. However, it does not explicitly state when not to use it or compare to alternatives like list_fields or list_dashboards, which might be relevant if the agent needs other information.

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

open_workbookA

Open an existing workbook (.twb or .twbx) for in-place worksheet editing.

NameRequiredDescriptionDefault
file_pathYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.5/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 states 'in-place worksheet editing', which implies the tool modifies the workbook directly. However, it does not disclose whether it requires specific permissions, locks the file, or how it handles unsaved changes. The behavioral transparency is adequate but not thorough.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that clearly states the purpose. Every word is necessary, with no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that there is an output schema (not shown but present) and a single parameter, the description is minimally adequate. However, it lacks context about what happens after opening (e.g., if the workbook is loaded into memory, if subsequent tools operate on it) and does not mention prerequisites like file existence or format validity.

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%, but there is only one parameter (file_path). The description adds no additional meaning beyond the parameter name; it does not specify path format, allowed file extensions (though implied), or whether absolute/relative paths are accepted. With low coverage, the description should compensate but does not.

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 description clearly states the verb 'Open' and the resource 'existing workbook', specifying file types (.twb or .twbx) and the purpose 'for in-place worksheet editing'. It distinguishes this from sibling tools like 'create_workbook' or 'save_workbook' by focusing on opening an existing file.

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?

The description implies usage when you need to edit worksheets in an existing workbook, but it does not explicitly state when not to use it or provide alternatives. Among many sibling tools, it doesn't clarify that for creating new workbooks one should use 'create_workbook' or for saving use 'save_workbook'.

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

preview_twb_migrationC

Preview a workbook migration onto a target datasource.

NameRequiredDescriptionDefault
scopeNoworkbook
file_pathYes
target_sourceYes
mapping_overridesNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It does not disclose whether the tool is read-only or destructive, what side effects occur (if any), or if it modifies any state. The term 'preview' suggests no mutation, but this is not explicit.

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?

The description is a single sentence, which is concise. However, it is too terse and lacks necessary detail, making it underspecified rather than efficiently packed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (4 parameters, 0% schema coverage, no annotations, but has an output schema), the description is incomplete. It does not explain what the preview returns (despite output schema existing), nor does it provide context about when to use this tool in the migration workflow.

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?

Schema description coverage is 0%, so the description must compensate, but it does not explain any parameter. The description mentions 'migration' and 'target datasource' vaguely, but does not elaborate on 'file_path', 'target_source', 'scope', or 'mapping_overrides'. The purpose of 'scope' with default 'workbook' and 'mapping_overrides' is not explained.

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

Purpose3/5

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

The description states the tool 'Previews a workbook migration onto a target datasource.' The verb 'preview' and resource 'workbook migration' are clear, but the description is vague about what 'preview' entails (e.g., does it show potential issues, a diff, or a success/failure indicator?). It does not distinguish this from siblings like 'apply_twb_migration' or 'profile_twb_for_migration'.

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?

No guidance is provided on when to use this tool vs. alternatives like 'apply_twb_migration' or 'migrate_twb_guided'. There is no mention of prerequisites (e.g., need to profile first) or conditions under which preview is useful.

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

preview_worksheet_refactorB

Preview worksheet-scoped field rewrites without mutating the workbook.

NameRequiredDescriptionDefault
replacementsYes
worksheet_nameYes

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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

Annotations are absent, so the description must convey behavior. It clearly states 'without mutating the workbook' (read-only preview). However, it does not disclose return value structure, whether changes are simulated, or any side effects. The output schema exists but is not described; without it, the agent may not know what the preview returns.

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

Conciseness5/5

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

The description is a single sentence that concisely captures purpose and key constraint. No wasted words; front-loaded with action and scope.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, the description need not detail return values. However, the tool has nested objects and 0% schema coverage, so the description should explain the replacements map. It partially compensates with 'worksheet-scoped field rewrites' but lacks detail on what constitutes a rewrite. Completeness is adequate but not thorough.

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?

Schema description coverage is 0%, so the description must compensate. It does not describe the parameters 'worksheet_name' or 'replacements' beyond their names. The description mentions 'worksheet-scoped' hinting at worksheet_name, but does not explain that 'replacements' is a map from old field names to new names. The agent has no semantic guidance beyond the schema titles.

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 description states 'Preview worksheet-scoped field rewrites without mutating the workbook,' which clearly specifies the action (preview), scope (worksheet-scoped field rewrites), and key trait (non-mutating). It distinguishes from sibling tools like 'apply_worksheet_refactor' (which applies changes) and 'preview_twb_migration' (which is workbook-level). However, the term 'field rewrites' could be more explicit about what is being replaced.

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?

The description implies use when wanting to see the effect of field replacements before committing, contrasting with 'apply_worksheet_refactor'. No explicit when-not-to-use or alternative guidance is provided. The sibling list includes 'preview_twb_migration' and 'apply_worksheet_refactor', but the description does not directly compare.

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

profile_twb_for_migrationB

Profile workbook datasources and worksheet scope before migration.

NameRequiredDescriptionDefault
scopeNoworkbook
file_pathYes
target_sourceNo

Output Schema

NameRequiredDescription
resultYes

TDQS

B3/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 full burden. It states the tool profiles datasources and worksheet scope, implying it is a read-only analysis tool. However, it does not disclose side effects, authentication needs, or whether it modifies the workbook. The term 'profile' suggests no destructive action, but this is implicit.

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?

The description is concise (one sentence) and front-loaded with the verb and resource. It is appropriately sized, but could benefit from a brief mention of parameters or output without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (3 parameters, output schema exists, and multiple sibling tools), the description is minimally adequate. It covers the core purpose but lacks detail on parameters and usage context. The presence of an output schema somewhat mitigates the need to describe return values.

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?

Schema description coverage is 0%, meaning no parameter descriptions exist in the schema. The description does not explain what 'file_path', 'scope', or 'target_source' mean or how they affect behavior. The parameter names are self-explanatory to some extent, but the description fails to add semantic value beyond their names.

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 description 'Profile workbook datasources and worksheet scope before migration' clearly identifies the tool's purpose with a specific verb ('profile') and resource ('workbook datasources and worksheet scope'). It distinguishes from sibling tools like 'analyze_twb' and 'migrate_twb_guided' by focusing on pre-migration profiling.

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?

The description provides no guidance on when to use this tool versus alternatives like 'analyze_twb' or 'preview_twb_migration'. It does not mention prerequisites or conditions that would trigger its use, leaving the agent to infer from the tool name alone.

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

propose_field_mappingC

Scan source and target schema and propose a field mapping.

NameRequiredDescriptionDefault
scopeNoworkbook
file_pathYes
target_sourceYes
mapping_overridesNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only says 'Scan source and target schema.' It does not disclose if this is a read-only operation, whether it modifies state, what permissions are needed, or how long it might take. The output schema exists but the description doesn't hint at what it returns.

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?

The description is a single sentence of 8 words, which is very concise. However, it is too minimal; it sacrifices clarity and completeness for brevity. Still, it avoids unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that there is an output schema, the description does not need to explain return values, but it still lacks context on tool behavior, prerequisites, and how to use parameters. The tool has 4 parameters with 0% schema description coverage, so more detail in the description is warranted.

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?

Schema coverage is 0%, meaning the description adds no parameter details. The description does not explain the meaning of 'file_path,' 'target_source,' 'scope,' or 'mapping_overrides.' The schema provides some hints (e.g., 'scope' defaults to 'workbook'), but the description fails to clarify how these parameters affect the mapping proposal.

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 description clearly states the verb 'Scan' and the resource 'source and target schema' to 'propose a field mapping.' It distinguishes itself from siblings like 'inspect_target_schema' and 'migrate_twb_guided' by focusing on proposing a mapping rather than just inspecting or executing migration.

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?

The description provides no guidance on when to use this tool versus alternatives like 'inspect_target_schema' or 'migrate_twb_guided.' There is no mention of prerequisites (e.g., schema must be available), nor any exclusion criteria (e.g., when not to use).

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

remove_calculated_fieldA

Remove a previously added calculated field.

NameRequiredDescriptionDefault
field_nameYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.6/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 full burden. It states the removal action, which implies a destructive operation (deletion). However, it does not clarify whether the field is permanently deleted or can be recovered, nor does it mention any prerequisites (e.g., field must exist). The description is adequate but minimal.

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

Conciseness5/5

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

The description is a single, concise sentence that front-loads the action. Every word is necessary and there is no extraneous text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has one parameter, no annotations, and an output schema exists. Given the simplicity, the description is reasonably complete but could mention that the field must exist and that the operation may affect formulas depending on it. The output schema likely covers return values, so that is not a gap.

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?

The input schema has one required parameter 'field_name' with 0% schema description coverage. The description adds meaning by specifying it's a 'previously added calculated field', clarifying that the field must exist. This provides context beyond the parameter name alone.

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 description uses the verb 'Remove' and the resource 'calculated field', clearly stating the action and object. It distinguishes from sibling tools like 'add_calculated_field' by implying the inverse operation. However, it could be more specific about the scope (e.g., from the active worksheet or workbook).

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?

The description implies the tool is for removing a calculated field that was previously added. It does not provide explicit when-to-use or when-not-to-use guidance, nor does it reference alternatives. The sibling 'add_calculated_field' is the obvious counterpart, but no explicit comparison is made.

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

repair_calculated_field_issuesB

Preview or explicitly apply selected calculated-field metadata repairs.

NameRequiredDescriptionDefault
dry_runNo
field_namesNo
issue_codesNo
datasource_namesNo

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.1/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 usefully signals that this is a mutating operation gated behind a preview/apply distinction, implying a safe non-destructive default, but it does not state what is destroyed on apply, whether changes are reversible, or what permissions are needed.

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?

A single tight sentence with the verb front-loaded and no filler. Efficient, though it is perhaps too terse given the breadth of undocumented behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be described, but for a mutation tool with no annotations and four undocumented parameters the description is too thin. It omits what issue types can be repaired, prerequisites (e.g., a prior audit), and the meaning of the dry_run default.

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?

Schema description coverage is 0% and there are 4 parameters, yet the description never explains dry_run, field_names, issue_codes, or datasource_names. The word 'selected' only faintly implies the filtering params; the agent gets no semantics for how repairs are scoped.

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 (repair) and resource (calculated-field metadata issues) and clarifies the two operating modes (preview vs apply). It is clearly distinguishable from add/remove/validate siblings, though it never names audit_calculated_fields, the closest related tool, leaving the distinction to be inferred.

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?

The phrase 'preview or explicitly apply' hints at the intended two-step workflow, but there is no explicit when-to-use guidance, no mention of running audit_calculated_fields first, and no exclusions for when repairs should not be attempted.

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

save_workbookA

Save the active workbook as a .twb or .twbx file. Use a .twbx extension to produce a packaged workbook (ZIP) that bundles the XML with any data extracts and images carried over from the source .twbx.

This is the only default MCP tool that writes the active in-memory workbook to disk. After create_workbook/open_workbook plus worksheet/chart/dashboard edits, call save_workbook with the desired output_path to create the final .twb or .twbx file. validate_workbook and analyze_twb do not save files.

NameRequiredDescriptionDefault
output_pathYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses the write-to-disk behavior, the packaging semantics of .twbx (ZIP bundling XML, extracts, images), and that it is the sole file-writing tool. It does not address overwrite behavior, required permissions, or error conditions for an existing output_path, leaving a real gap for a mutation tool.

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 with the core action and format choice, then usage context. Slightly repetitive in restating 'create the final .twb or .twbx file' after the opening sentence already covered the formats, but overall tight and well-ordered.

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?

An output schema exists, so return values need not be explained. The description covers usage sequencing, format semantics, and sibling disambiguation, which is nearly everything an agent needs. The remaining gap is overwrite/error behavior, which matters for a file-writing tool with no annotations.

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 0% and the single output_path parameter has no schema description, so the description must compensate. It does explain that the file extension drives output format (.twb vs packaged .twbx), which is meaningful parameter semantics, though it doesn't clarify path expectations (absolute vs relative, directory creation).

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+resource ('Save the active workbook') and specifies the output formats (.twb/.twbx). It explicitly differentiates itself from siblings by claiming to be 'the only default MCP tool that writes the active in-memory workbook to disk,' which an agent can distinguish from upload_workbook, convert_workbook, validate_workbook, and analyze_twb.

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 explicit sequencing ('After create_workbook/open_workbook plus worksheet/chart/dashboard edits, call save_workbook with the desired output_path') and names non-alternatives ('validate_workbook and analyze_twb do not save files'). The when-to-use condition and the disambiguation from lookalike siblings are both present.

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

screenshot_workbookA

Screenshot a published workbook's view for human review.

Use after upload_workbook to capture a visual snapshot. The screenshot is saved locally for human inspection.

Args: workbook_id: The workbook ID returned by upload_workbook. output_dir: Directory to save screenshot (default: output/validation). view_index: Index of the view to screenshot (default: 0). view_name: Name of the view to screenshot (overrides view_index). env_path: Optional path to a .env file with Tableau credentials. Explicit env_path takes priority over process environment variables.

Returns: {success, path, view_name, view_id, size_kb, error}

NameRequiredDescriptionDefault
env_pathNo
view_nameNo
output_dirNooutput/validation
view_indexNo
workbook_idYes

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden and does well: it discloses that the screenshot is saved locally, that Tableau credentials may be needed via a .env file, and that explicit env_path overrides process environment variables. It also enumerates the return keys. It stops short of stating whether the operation is read-only or has side effects on the published workbook.

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 with the one-line purpose, then workflow context, then structured Args/Returns. Well organized; the Returns block is justified because there is no output schema, though it adds mild length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, and 0% schema coverage, the description supplies everything an agent needs: purpose, workflow placement, all parameter semantics, credential handling, and the return shape. Nothing material is missing for correct invocation.

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

Parameters5/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, and it does: it documents all five parameters, their defaults, the precedence rule ('view_name overrides view_index'), and the env_path priority semantics. This is meaning the schema alone does not convey.

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 ('Screenshot a published workbook's view') plus the purpose ('for human review'). This is clearly distinguishable from siblings like upload_workbook or validate_workbook.

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

Usage Guidelines4/5

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

Explicitly places itself in a workflow: 'Use after upload_workbook to capture a visual snapshot.' It doesn't name alternatives or exclusions, but the sequencing guidance is clear enough that an agent knows when to reach for it.

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

select_datasourceC

Select the source for subsequent field and worksheet authoring.

NameRequiredDescriptionDefault
nameYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It does not say whether the selection mutates session/workbook state, whether it persists, what happens on an unknown name, or whether it is required before add_calculated_field/add_worksheet. Only the downstream authoring scope is implied.

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?

A single 11-word sentence with no filler, front-loaded on the action. Its brevity is the only thing holding it back, since more content is clearly needed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be explained, but for a state-setting selection tool with no annotations and an undocumented parameter, the description leaves the agent guessing about the argument value and the effect on subsequent calls.

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 single parameter 'name' has 0% schema description coverage and the description adds nothing about it (is it a datasource name, a workbook-internal identifier, a file name?). With one undocumented required parameter, the description should compensate but does not.

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

Purpose3/5

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

It states a verb (Select) and resource (datasource) and hints at the downstream effect ('subsequent field and worksheet authoring'). However, 'the source' is never pinned down (datasource by name? by id?) and no sibling is referenced, so an agent cannot tell how this differs from add_hyper_datasource, set_csv_connection, or configure_datasource_blend.

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?

The clause 'for subsequent field and worksheet authoring' implies this is a prerequisite/setup step before other authoring tools, which is useful implied usage. There is no explicit when-to-use vs when-not, no ordering rules, and no named alternative.

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

set_compound_color_paletteC

Map ordered categorical tuples to colors, including Measure Names.

NameRequiredDescriptionDefault
fieldsYes
mappingsYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full structural burden. It doesn't disclose whether this overwrites existing palettes, whether it requires a prepared worksheet, how many fields are expected, or what 'ordered categorical tuples' means operationally. For a mutation tool with zero annotation coverage, this is a significant gap.

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?

Extremely short and front-loaded, but brevity here stems from under-specification rather than efficient prose. The single sentence omits necessary information rather than compressing it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A two-required-parameter mutation tool with no annotations and zero param coverage needs far more: parameter formats, overwrite behavior, and at least one usage scenario. The output schema means return values needn't be explained, but the input side is severely incomplete.

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

Parameters1/5

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

Schema coverage is 0% and the description adds no parameter detail. Neither 'fields' nor 'mappings' is explained — the crucial question of how tuples map to colors in mappings is left entirely undocumented in both schema and description.

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

Purpose3/5

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

The description states a specific action (map ordered categorical tuples to colors) but the phrasing 'compound color palette' and 'Measure Names' is jargon that doesn't clearly establish scope or differentiate it from set_shape_palette or configure_worksheet_style. An agent gets the gist (assign colors to data tuples) but sibling differentiation is absent.

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?

No indication of when to use this versus set_shape_palette or configure_worksheet_style, no prerequisites, no exclusions. The mention of 'Measure Names' hints at a special case but doesn't explain it.

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

set_csv_connectionC

Configure the workbook datasource to use a local CSV connection.

NameRequiredDescriptionDefault
fieldsNo
charsetNoutf-8-sig
filepathYes
delimiterNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It does not say whether this replaces an existing datasource connection, whether it requires a prior upload_workbook, whether it mutates the in-memory workbook or persists it, or what side effects occur — all significant gaps for a mutation tool.

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?

A single, front-loaded sentence with no wasted words. Brevity here reflects missing content rather than tight writing, but the structure itself is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be described, but for a four-parameter mutation tool with 0% schema coverage and no annotations, the description leaves too much unspecified — parameter meaning, prerequisites, and connection-replacement behavior are all absent.

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?

Schema description coverage is 0%, so the schema documents none of the four parameters. The phrase 'local CSV connection' weakly implies filepath is a local filesystem path, but fields, charset, and delimiter (including that delimiter defaults to an empty string, which is unusual) are entirely unexplained.

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 description states a specific verb (configure) and resource (CSV connection on the workbook datasource), which is clearly distinct from the connection siblings such as set_mysql_connection, set_excel_connection, and set_hyper_connection. It does not explicitly name those alternatives, so it falls short of full sibling routing.

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 guidance on when to choose this over the other set_*_connection tools, nor any prerequisites (e.g., that the CSV must already exist locally or be uploaded). The agent must infer usage entirely from the name.

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

set_date_optionsC

Set datasource weekday origin for date-part headers and week calculations.

NameRequiredDescriptionDefault
start_of_weekNosunday

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It implies a mutation but says nothing about whether existing week calculations are recomputed, whether the change is reversible, or what permissions are required. The presence of an output schema covers return values, but the mutation semantics remain undisclosed.

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?

One tight sentence with the action and scope front-loaded and no filler. It is efficient, though the brevity is partly under-specification rather than pure economy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter setter with an output schema, the core idea is conveyed. However, with no annotations and an undocumented enum-like parameter, the allowed values and effect on existing calculations are missing, leaving the definition only minimally complete.

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 single parameter 'start_of_week' has 0% schema description coverage, so the description must compensate. It conveys only the general concept ('weekday origin') and never names the parameter or lists valid values, despite the schema default hinting at a discrete set like sunday/monday.

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 ('Set') and resource ('datasource weekday origin') with the scope it affects ('date-part headers and week calculations'). It is distinguishable from otherwise-similar date tools like set_field_fiscal_year_start, though it does not name any sibling explicitly.

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 when-to-use guidance, no prerequisite context, and no mention of the nearest alternative (set_field_fiscal_year_start), which also configures a date-related setting. The agent must infer usage entirely from the purpose sentence.

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

set_excel_connectionC

Configure the workbook datasource to use a local Excel connection.

NameRequiredDescriptionDefault
fieldsNo
filepathYes
sheet_nameNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden for behavioral disclosure. It does not explain whether the connection replaces an existing one, what happens to existing data, or any side effects. It also doesn't mention permission requirements or file accessibility. The output schema exists but isn't referenced in the description.

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?

The description is a single sentence of 9 words, efficient and front-loaded. It uses active voice and clear terminology. However, it could be slightly improved by adding a brief note about parameters or behavior without significant bloat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 3 parameters, 0% schema coverage, no annotations, and a task that likely involves file I/O and connection configuration, the description is incomplete. It lacks information about return values (output schema exists but not described), error conditions, and parameter details. The output schema existence suggests richer behavior, but the description doesn't leverage it.

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 only mentions 'local Excel connection' but doesn't describe individual parameters like filepath, sheet_name, or fields. The schema provides names, but the description adds no additional meaning, missing an opportunity to clarify the purpose of sheet_name (e.g., which sheet to use) or fields (e.g., column mapping).

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 description clearly states the tool configures a workbook datasource to use a local Excel connection, specifying the action (configure), resource (workbook datasource), and target type (local Excel connection). It distinguishes itself from sibling tools like set_hyper_connection or set_mysql_connection, which target different datasource types.

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?

No guidance on when to use this tool versus alternatives (e.g., set_hyper_connection for Hyper files). It doesn't mention prerequisites like whether a workbook must already be open or if the Excel file must exist. Sibling tools suggest different datasource types, but the description provides no comparative context.

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

set_field_fiscal_year_startC

Set the native fiscal year starting month on a date field and dependencies.

NameRequiredDescriptionDefault
fieldYes
monthYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It hints at side effects by mentioning 'and dependencies', which is genuinely useful, but says nothing about permissions, reversibility, what happens to dependent calculations, or the month range accepted. For a mutation tool with zero annotation coverage this is a substantial gap.

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?

A single compact sentence with the operation front-loaded and no filler. It is efficient, though the trailing 'and dependencies' clause is vague enough that it reads as an afterthought rather than an explanation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described. However, with no annotations and no parameter documentation, the description is only minimally complete: it identifies the target and the effect but leaves the type precondition, valid month values, and dependency consequences unexplained.

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% for both parameters, so the description must compensate. It does partially: 'date field' implies the type constraint for 'field' and 'starting month' explains 'month'. But it omits format details such as the 1–12 range or whether the field is passed by name or identifier.

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 ('Set') and a specific resource ('the native fiscal year starting month on a date field'), so an agent knows exactly what operation is performed. It does not, however, distinguish itself from near-neighbours like set_date_options or set_field_format, leaving sibling selection 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 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 set_date_options, no prerequisites (e.g. the field must already be a date type), and no exclusions. The agent gets no routing guidance at all.

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

set_field_formatC

Set or clear a field's default Tableau display format.

NameRequiredDescriptionDefault
fieldYes
default_formatYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It doesn't disclose whether the change persists to disk, requires an open workbook, applies to a datasource vs worksheet, or is reversible. The 'clear' path is especially opaque — no indication of what value signals clearing.

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?

A single efficient sentence with the action front-loaded and no filler. It is perhaps too terse for a mutation tool, but nothing in it is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values needn't be explained, but with zero annotations, zero parameter documentation, and a mutation that affects persisted workbook state, the description leaves far too much undefined for reliable invocation.

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?

Schema description coverage is 0%, so the schema adds nothing, and the description only echoes the two parameter concepts. It gives no format syntax (number/date/currency patterns) and never explains how to clear a format when default_format is a required parameter — a real contradiction the agent must guess at.

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: 'Set or clear a field's default Tableau display format.' This clearly distinguishes it from neighbors like set_field_geographic_role or set_field_fiscal_year_start, which touch different field attributes. It stops short of naming an alternative sibling, but the resource scope is unambiguous.

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 guidance on when to use this versus the many other set_field_* / configure_* siblings, and no prerequisites (workbook must be open? field must exist on a worksheet or datasource?). The word 'or clear' hints at a second mode but never says when or how to invoke it.

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

set_field_geographic_roleC

Assign or clear a field's geographic role.

NameRequiredDescriptionDefault
fieldYes
geographic_roleYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of disclosure. It implies mutation via 'Assign or clear', but says nothing about required permissions, what value clears a role (empty string? null?), whether the change is persisted to the workbook, or what happens to fields that don't support geographic roles.

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?

A single front-loaded sentence with no filler or redundancy. It is efficient, though its brevity reflects under-specification rather than disciplined editing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, 0% parameter coverage, and no enums, this mutation tool leans entirely on one sentence. The output schema covers return values, but the agent still lacks the valid role vocabulary and the clearing semantics needed to call it correctly.

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?

Schema description coverage is 0% for both required parameters, so the schema contributes nothing. The description hints that geographic_role can be cleared but never enumerates valid roles (country, state, city, lat/long, etc.) nor clarifies what 'field' must reference, leaving the most error-prone input 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 description gives a specific verb pair (assign/clear) and a specific resource (a field's geographic role), which an agent can act on immediately. It does not, however, distinguish itself from the nearby sibling set_geocoding_context, so the agent has no stated basis for choosing between them.

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 guidance on when this tool applies versus set_geocoding_context or set_field_format, and no prerequisites (e.g. the field must be a dimension of an appropriate type). The agent must infer the context entirely.

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

set_geocoding_contextC

Set geographic lookup context for generated map coordinates.

NameRequiredDescriptionDefault
stateNo
countryYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden, and it discloses almost nothing: no scope (workbook- vs. session-level), no persistence semantics, no statement of whether existing geocoded fields are affected, and no permission requirements. It only conveys that this is a setter influencing generated map coordinates.

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?

It is a single front-loaded sentence with no redundant phrasing or filler. However, the brevity edges toward under-specification rather than genuine economy, so it does not reach a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Although an output schema exists and need not be re-explained, a mutation-style setter with no annotations, 0% parameter coverage, and two undocumented parameters is missing essentials: what the context governs, its scope, and how to format inputs. The description is too thin for the tool's actual complexity.

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?

Schema description coverage is 0% for both parameters, and the description never mentions them at all. An agent gets no guidance on expected format for country (ISO code vs. name) or state, nor on the interaction between the required country and optional state, so the description fails to compensate for the coverage gap.

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

Purpose3/5

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

The description states a verb and a resource ("Set geographic lookup context"), so the basic action is identifiable, but "geographic lookup context" is abstract and "generated map coordinates" is vague about what is actually affected. It offers no differentiation from the related sibling set_field_geographic_role, which an agent could easily confuse with this tool.

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 when-to-use guidance, no prerequisites, and no mention of alternatives or when-not-to-use. The only hint is the trailing phrase "for generated map coordinates," which implies a context but is too weak to route an agent between this and set_field_geographic_role.

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

set_hyper_connectionC

Configure the workbook datasource to use a local Hyper extract connection.

NameRequiredDescriptionDefault
tablesNo
filepathYes
table_nameNoExtract
relationshipsNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It says 'configure' (implying mutation of the datasource) but does not disclose whether it overwrites an existing connection, what permissions are required, what side effects occur, or what happens to the current datasource. For a mutation tool with zero annotation coverage this is a significant gap.

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?

A single clean, front-loaded sentence with no filler, so structurally efficient. However, the brevity reflects under-specification rather than genuine conciseness, leaving it adequate at best.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values needn't be explained, but the definition is still incomplete for a 4-parameter mutation tool: no parameter documentation, no usage guidance, and no behavioral disclosure in the absence of annotations. It leaves the agent poorly equipped to invoke it correctly.

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

Parameters1/5

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

Schema description coverage is 0% across 4 parameters (filepath, tables, table_name, relationships), and the description mentions none of them—not even the required filepath. It provides no meaning, format, or defaults beyond what the bare schema titles already show.

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 (Configure) and resource (workbook datasource) scoped to a local Hyper extract connection, which distinguishes it from siblings like set_tableauserver_connection, set_csv_connection, and set_mysql_connection by the connection type. It stops short of explicitly naming an alternative or contrasting with add_hyper_datasource, so it's clear but not maximally differentiating.

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 when-to-use guidance, no prerequisites, and no comparison to overlapping siblings such as set_tableauserver_connection, set_csv_connection, inspect_excel_connection, or add_hyper_datasource. The agent must infer the selection criteria entirely.

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

set_measure_name_aliasesC

Alias actual Measure Names members, including table calculation measures.

NameRequiredDescriptionDefault
mappingYes
worksheet_nameYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full disclosure burden. It conveys only that aliases are set (an implied mutation) but says nothing about whether existing aliases are overwritten, what permissions are needed, or what happens to measures not in the mapping.

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?

A single short sentence with no waste, but it is under-specified rather than tight – the brevity stems from missing information rather than disciplined editing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need no explanation, but for a mutation tool with zero annotations, 0% schema coverage, and a nested mapping object, the description is far too thin to let an agent invoke it correctly.

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?

Schema description coverage is 0%, so the description must compensate for two undocumented parameters. It never explains what 'mapping' should contain (source name to alias string) or confirms that worksheet_name selects the worksheet scope, leaving both parameters semantically opaque.

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

Purpose3/5

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

The description names a verb ('Alias') and a resource ('Measure Names members'), and adds the qualifier 'including table calculation measures'. However, 'actual Measure Names members' is domain jargon that is not clarified, and there is no scoping to a worksheet despite the worksheet_name parameter, so an agent cannot fully pin down the operation from the description alone.

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, when not to, or which sibling to prefer. In a large sibling set containing set_worksheet_caption, configure_custom_label, and set_worksheet_title, no routing guidance is given.

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

set_mysql_connectionC

Configure the workbook datasource to use a local MySQL connection.

NameRequiredDescriptionDefault
portNo3306
dbnameYes
serverYes
usernameYes
table_nameYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so description must fully disclose behavior. It does not state whether the tool modifies the workbook immediately, requires an open workbook, or what happens on failure. No mention of side effects or required permissions.

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?

Single sentence, no wasted words. But lacks structure; could benefit from a note about required vs optional parameters or order of operations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters (4 required), no output schema info (though output schema exists, its content is not described), and no annotations, the description is too sparse to ensure correct invocation. Missing details like whether the connection is persistent or temporary.

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?

Schema description coverage is 0%, meaning no descriptions for parameters. The description adds no parameter-level semantics; it just names the tool. Parameters like 'server', 'dbname' are self-explanatory but 'table_name' could be confused with a table to create or select. No hint about how 'port' default is used.

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

Purpose3/5

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

The description states it configures a workbook datasource for a local MySQL connection, which is clear. However, 'local' may be confusing as parameters include a 'server' field. It distinguishes from sibling connection tools (set_excel_connection, etc.) but not explicitly.

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?

No guidance on when to use this vs other connection tools (set_excel_connection, set_hyper_connection, etc.). No prerequisites or alternative suggestions provided.

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

set_shape_paletteC

Embed local shape assets and map categorical members to the native palette.

NameRequiredDescriptionDefault
fieldYes
shapesYes
paletteNoCustom

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. 'Embed local shape assets' hints at a mutation that writes assets into the workbook, but nothing is said about overwriting an existing palette, required permissions, or what happens to previously mapped members.

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?

A single compact sentence with no filler, and the core operation is front-loaded. It is efficient, though the economy comes partly at the cost of the missing detail noted elsewhere.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A mutation tool with no annotations, zero schema descriptions, and a nested object parameter needs substantially more than one sentence. The output schema is present, so return values need not be covered, but input formats and side effects remain undocumented.

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?

Schema description coverage is 0% across 3 parameters. The description loosely gestures at 'categorical members' (field), shape assets (shapes), and 'native palette' (palette), but gives no format for the field name, the shape-value mapping object, or valid palette names.

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

Purpose3/5

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

The verb+resource ('set_shape_palette') is stated, but the sentence mixes two operations ('embed local shape assets' and 'map categorical members to the native palette') without clarifying which this tool actually performs, and 'native palette' blurs the line with the color-palette sibling set_compound_color_palette.

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?

No when-to-use guidance, no prerequisites, and no mention of the closely related set_compound_color_palette or when to pick shapes over colors. The agent must infer all routing from the name alone.

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

set_tableauserver_connectionA

Configure the workbook datasource to use a Tableau Server connection.

This edits the workbook datasource connection only. It does not configure Tableau REST API/PAT credentials for validate_workbook_api, upload_workbook, or screenshot_workbook; pass env_path to those validation tools instead.

NameRequiredDescriptionDefault
portNo82
dbnameYes
serverYes
usernameYes
directoryNo/dataserver
table_nameYes

Output Schema

NameRequiredDescription
resultYes

TDQS

A3.5/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 full behavioral burden. It discloses the mutation scope ('edits the workbook datasource connection only'), which is helpful, but says nothing about required permissions, reversibility, or side effects on existing connection settings — a notable gap for an unannotated mutation tool.

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

Conciseness5/5

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

Two short paragraphs with zero filler; the primary purpose is front-loaded and the scope caveat follows logically. Nothing is redundant or padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described, and the scope/non-overlap messaging is solid. However, with six undocumented parameters at 0% coverage and no annotations, the description leaves an agent without enough information to supply correct arguments confidently.

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?

Schema description coverage is 0% across 6 parameters (server, dbname, username, table_name, port, directory). The description explains none of them — not even formats like expected server URL, port meaning, or directory defaults — so it fails to compensate for the total absence of schema documentation.

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: 'Configure the workbook datasource to use a Tableau Server connection.' An agent can identify the action without opening the schema. It does not explicitly distinguish itself from the sibling connection tools (set_csv_connection, set_hyper_connection, set_mysql_connection, set_excel_connection), which keeps it from 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 Guidelines4/5

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

Provides a clear when-not: it edits the datasource connection only and does not configure REST API/PAT credentials, directing the agent to pass env_path to validation tools instead. This is useful scoping guidance, though it offers no explicit comparison against the other datasource-connection siblings.

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

set_worksheet_captionB

Set or clear a plain-text worksheet caption.

NameRequiredDescriptionDefault
captionYes
worksheet_nameYes

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so description must carry behavioral information. It states the tool sets or clears a caption, implying a mutation. However, it does not disclose if the operation is reversible, if it requires permissions, or what the output schema indicates (return value).

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

Conciseness5/5

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

The description is a single, concise sentence that efficiently communicates the core functionality with no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 2 required parameters and no nested objects, the description is reasonably complete. However, it lacks details about return value (output schema exists but description doesn't mention it) and edge cases like clearing caption behavior.

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 add meaning. It explains that the caption is 'plain-text' and that the tool can 'clear' (likely by empty string). This adds value beyond the schema, which only lists names and types. However, it does not detail what 'clear' means in terms of input.

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 description clearly states the tool sets or clears a plain-text worksheet caption, using the verb 'set' and specifying the resource (worksheet caption). It distinguishes from siblings like 'set_worksheet_hidden' by focusing on caption content.

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?

No guidance on when to use this tool versus alternatives. For instance, there is no mention that to clear a caption one can pass an empty string, nor when to use this over other worksheet modification tools.

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

set_worksheet_hiddenB

Hide or unhide a worksheet tab by updating worksheet window metadata.

NameRequiredDescriptionDefault
hiddenNo
worksheet_nameYes

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.2/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 full burden. It discloses the action (hide/unhide) and the metadata context, but does not mention if there are side effects (e.g., impacts on other sheets or workbook structure) or prerequisites (e.g., worksheet must exist).

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?

The description is a single sentence, concise and front-loaded. However, it could be slightly more informative without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 params, output schema exists but not described), the description is adequate but not thorough. It omits explanation of the output schema and potential constraints (e.g., cannot hide the only visible worksheet).

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 only mentions 'worksheet window metadata' without detailing the two parameters. The schema itself defines worksheet_name (string) and hidden (boolean with default true), but the description adds no additional meaning beyond that.

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 description clearly states the tool hides or unhides a worksheet tab, specifying the verb (hide/unhide) and resource (worksheet tab). It distinguishes from siblings like add_worksheet or clone_worksheet by focusing on visibility rather than creation or duplication.

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?

No guidance is provided on when to use this tool versus alternatives. For example, when to use set_worksheet_hidden versus set_worksheet_caption or other worksheet configuration tools is not addressed.

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

set_worksheet_titleC

Set or clear the visible plain-text worksheet title.

NameRequiredDescriptionDefault
titleYes
worksheet_nameYes

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. 'Set or clear' hints at clearing behavior but does not explain how clearing is triggered (empty string vs null), whether the change is persisted to the workbook, or what permissions are needed — significant gaps for a mutation tool.

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?

One front-loaded sentence with no filler. It is efficient, though the extreme brevity contributes to the missing details elsewhere rather than being a model of completeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. However, with no annotations, 0% parameter coverage, and an unexplained 'clear' mechanism, the definition leaves the agent without enough to invoke the tool correctly.

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?

Schema description coverage is 0% and neither parameter has a description, so the description must compensate and does not. It mentions 'title' conceptually but says nothing about how 'title' signals a clear, nor what 'worksheet_name' expects (internal name vs display name).

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 ('set or clear') and resource ('the visible plain-text worksheet title'), which is more precise than the generic siblings. It implicitly separates itself from set_worksheet_caption via 'plain-text title', but never names caption/hidden explicitly, so the sibling boundary 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 Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no mention of the closely related siblings (set_worksheet_caption, set_worksheet_hidden). The agent must guess the context in which a worksheet title is set versus a caption.

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

upload_workbookA

Publish a .twb/.twbx to Tableau Cloud for openability or screenshots.

Prefer validate_workbook_api for the default cloud semantic validation path because it does not publish or store the workbook. Use upload_workbook only when you explicitly need a published workbook_id, visual screenshot, TWBX packaging validation, or publish/openability evidence.

Args: twb_path: Path to .twb or .twbx file. data_path: Optional data file (.xlsx/.xls/.hyper) to package. name: Workbook name on Tableau Cloud (defaults to filename stem). overwrite: Whether to overwrite existing workbook with same name. env_path: Optional path to a .env file with Tableau credentials. Explicit env_path takes priority over process environment variables.

Returns: {success, workbook_id, workbook_url, views, twbx_path, twbx_size_kb, error}

NameRequiredDescriptionDefault
nameNo
env_pathNo
twb_pathYes
data_pathNo
overwriteNo

TDQS

A4.9/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full burden. It discloses the key side effect (publishing/storing to Tableau Cloud), the state-change semantics (overwrite existing workbook with same name), and credential sourcing behavior (env_path takes priority over process env vars). This is rich behavioral context beyond structured data.

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?

Well front-loaded with the core purpose first, then routing guidance, then Args and Returns. It is somewhat long, but every section (guidelines, args, returns) earns its place given the 0% schema coverage and no annotations. Slightly verbose but appropriately structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations, 0% schema coverage, and no output schema, the description provides everything: publishing side effect, credential handling, parameter docs, and even the return shape. Nothing an agent needs to call this correctly is missing.

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

Parameters5/5

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

Schema coverage is 0%, so the description must compensate fully. It documents all 5 parameters with meaning: twb_path format (.twb/.twbx), data_path acceptable file types, name default (filename stem), overwrite behavior, and env_path precedence over environment variables. This fully compensates for the schema gap.

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+resource ('Publish a .twb/.twbx to Tableau Cloud') with explicit outcome ('for openability or screenshots'). It directly distinguishes itself from validate_workbook_api, a sibling tool, by naming the exact conditions under which each is preferred.

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 explicit when-to-use guidance: 'Prefer validate_workbook_api ... because it does not publish or store the workbook' followed by the exact conditions selecting upload_workbook (published workbook_id, visual screenshot, TWBX packaging validation, publish/openability evidence). This is precisely the when/when-not/alternative structure.

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

validate_formulaC

Check Tableau function names without mutating the active workbook.

NameRequiredDescriptionDefault
formulaYes
field_nameNo

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.7/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, and it does disclose one key trait: the check runs "without mutating the active workbook," i.e. it is non-destructive. It says nothing about what happens on an invalid formula (error vs. returned diagnostics) or whether the active workbook must be open, leaving significant behavioral gaps.

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?

A single compact sentence with no filler, and the non-mutation guarantee is stated immediately. It is efficient, though the brevity borders on under-specification rather than pure conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, but for a 2-parameter validation tool with 0% schema coverage the description leaves too much open: the role of field_name, the meaning of "formula" vs "function names," and failure behavior are all unaddressed.

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?

Schema description coverage is 0% and neither parameter is documented in the schema. The description hints that function names are checked, which loosely maps to the required "formula" param, but the optional "field_name" parameter is never mentioned and neither param's expected format is clarified. The description fails to compensate for the coverage gap.

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

Purpose3/5

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

The description gives a specific verb ("Check") and resource ("Tableau function names"), which narrows the tool beyond its ambiguous name validate_formula. However, it is unclear whether the tool validates a full formula expression or only function-name validity, and it never distinguishes itself from the nearby validate_workbook and validate_workbook_api siblings. Adequate but with a real scope ambiguity.

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 when-to-use guidance, no prerequisites, and no mention of the sibling validators (validate_workbook, validate_workbook_api) that an agent would otherwise confuse this with. The agent is left to infer the trigger condition entirely.

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

validate_workbookA

Validate a workbook against the official Tableau TWB XSD schema.

Checks whether the generated XML conforms to Tableau's published schema. This tool does not save or export the active workbook. If file_path is omitted, it validates the current in-memory workbook before save; if file_path is provided, it validates an existing .twb/.twbx file on disk. Call save_workbook when you need to write the workbook to a file.

Args: file_path: Path to a .twb or .twbx file to validate. If omitted, validates the currently open workbook (in memory, before save).

Returns: PASS/FAIL summary with error details.

NameRequiredDescriptionDefault
file_pathNo

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

No annotations, so description must carry the burden. It discloses key behavioral traits: no side effects (does not save/export), what gets validated (generated XML vs published schema), and both validation modes. Does not cover performance or output details, but the output schema exists.

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 purpose, follows with mode selection and the save_workbook cross-reference. The Args/Returns block is slightly verbose given the output schema exists, but overall efficient and well-organized.

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?

Covers purpose, the two validation modes, side-effect absence, and parameter semantics. Output schema exists so return explanation is unnecessary. Adequate for a low-complexity single-param tool, though not exhaustive.

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 0% and the single parameter is undocumented in the schema, so the description must compensate. It explains the format (.twb/.twbx) and the dual meaning of omission vs. presence. This is a strong compensation for a null-coverage schema.

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 specific verb+resource (validate a workbook) and names the exact schema (Tableau TWB XSD). Distinguishes itself from siblings by clarifying it does not save or export, explicitly deferring to save_workbook.

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?

Explicitly covers the when: omitted file_path validates the in-memory workbook before save, provided file_path validates a disk file. Names save_workbook as the alternative for writing, satisfying the alternatives requirement.

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

validate_workbook_apiA

Validate a .twb file via Tableau Cloud REST API (no publish).

This performs semantic validation that checks whether the workbook will actually open in Tableau — beyond what local XSD schema validation can detect (calculated field formulas, field references, data source connectivity, etc.). The file is NOT stored on the server.

Only .twb files are supported. For .twbx files, use upload_workbook.

Requires Tableau Cloud June 2026+ / Server 2026.2+ (API version 3.29+).

Args: twb_path: Path to .twb file. validation_level: "syntactic" (XSD only) or "semantic" (full, default). env_path: Optional path to a .env file with Tableau credentials. Explicit env_path takes priority over process environment variables.

Returns: {success, validation_level, valid, errors, warnings, error}

NameRequiredDescriptionDefault
env_pathNo
twb_pathYes
validation_levelNosemantic

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does disclose meaningful traits: it does not publish, the file is NOT stored on the server, it requires a specific API/server version, and it only supports .twb. It also spells out the return shape. It stops short of describing auth requirements beyond env_path, so a 4 rather than a 5.

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 core purpose in the first line, then adds scope, exclusions, prerequisites, Args, and Returns. Every section is relevant, though the Args/Returns blocks make it longer than a one-line tool needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/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 ({success, validation_level, valid, errors, warnings, error}). Combined with the prerequisites and file-type constraints, an agent has everything needed to call and interpret the result.

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

Parameters5/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 and it does: it explains validation_level's two values ('syntactic' = XSD only vs 'semantic' = full, default) and env_path's precedence over process environment variables, plus twb_path's expected file type.

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 (validate), resource (.twb workbook), and mechanism (Tableau Cloud REST API, no publish). It further distinguishes itself from local XSD validation by scoping semantic validation (formulas, field references, data source connectivity), so an agent can differentiate it from the validate_workbook sibling without opening a 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?

Explicitly states when to use it ('Only .twb files are supported') and names the alternative for the excluded case ('For .twbx files, use upload_workbook'). It also gives prerequisites (Tableau Cloud June 2026+ / Server 2026.2+, API 3.29+) and clarifies that the file is not stored on the server.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 76 tool updatesv0.28.0
    • Changedadd_calculated_field3 fields changed
      • addedInput schema / properties / internal_name
        Added value: +{
        +  "default": "",
        +  "title": "Internal Name",
        +  "type": "string"
        +}
      • addedInput schema / properties / table_calc
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "additionalProperties": {
        +        "type": "string"
        +      },
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Table Calc"
        +}
      • addedInput schema / properties / validate_formula
        Added value: +{
        +  "default": true,
        +  "title": "Validate Formula",
        +  "type": "boolean"
        +}
    • Addedadd_combined_set
    • Changedadd_dashboard1 field changed
      • changedInput schema / properties / layout / default
        Previous value: -"vertical"New value: +"auto"
    • Changedadd_dashboard_action11 fields changed
      • addedInput schema / properties / aggregation
        Added value: +{
        +  "default": "attr",
        +  "title": "Aggregation",
        +  "type": "string"
        +}
      • addedInput schema / properties / clear_behavior
        Added value: +{
        +  "default": "keep-current",
        +  "title": "Clear Behavior",
        +  "type": "string"
        +}
      • addedInput schema / properties / clear_value
        Added value: +{
        +  "default": "",
        +  "title": "Clear Value",
        +  "type": "string"
        +}
      • addedInput schema / properties / field_mappings
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": {
        +        "type": "string"
        +      },
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Field Mappings"
        +}
      • addedInput schema / properties / source_field
        Added value: +{
        +  "default": "",
        +  "title": "Source Field",
        +  "type": "string"
        +}
      • addedInput schema / properties / source_sheet / default
        Added value: +""
      • addedInput schema / properties / source_sheets
        Added value: +{
        +  "anyOf": [
        +    {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Source Sheets"
        +}
      • addedInput schema / properties / target_dashboard
        Added value: +{
        +  "default": "",
        +  "title": "Target Dashboard",
        +  "type": "string"
        +}
      • addedInput schema / properties / target_parameter
        Added value: +{
        +  "default": "",
        +  "title": "Target Parameter",
        +  "type": "string"
        +}
      • addedInput schema / properties / target_sheets
        Added value: +{
        +  "anyOf": [
        +    {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Target Sheets"
        +}
      • changedInput schema / required
        Previous value: -[
        -  "dashboard_name",
        -  "action_type",
        -  "source_sheet"
        -]New value: +[
        +  "dashboard_name",
        +  "action_type"
        +]
    • Addedadd_dashboard_extension
    • Addedadd_dashboard_set_action
    • Addedadd_dashboard_toggle_button
    • Addedadd_group
    • Addedadd_hierarchy
    • Addedadd_hyper_datasource
    • Changedadd_parameter3 fields changed
      • addedInput schema / properties / alias
        Added value: +{
        +  "default": "",
        +  "title": "Alias",
        +  "type": "string"
        +}
      • addedInput schema / properties / allowed_aliases
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": {
        +        "type": "string"
        +      },
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Allowed Aliases"
        +}
      • addedInput schema / properties / internal_name
        Added value: +{
        +  "default": "",
        +  "title": "Internal Name",
        +  "type": "string"
        +}
    • Addedadd_percentage_band
    • Addedadd_reference_band
    • Addedadd_reference_line
    • Addedadd_set
    • Addedaudit_calculated_fields
    • Removedbuild_analysis_brief
    • Removedbuild_execution_plan
    • Removedbuild_wireframe
    • Changedconfigure_chart4 fields changed
      • addedInput schema / properties / map_layer_mode
        Added value: +{
        +  "default": "overlay",
        +  "title": "Map Layer Mode",
        +  "type": "string"
        +}
      • addedInput schema / properties / map_partition
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Map Partition"
        +}
      • addedInput schema / properties / separate_measure_domains
        Added value: +{
        +  "default": false,
        +  "title": "Separate Measure Domains",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / sort_field
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Sort Field"
        +}
    • Addedconfigure_custom_label
    • Addedconfigure_custom_tooltip
    • Addedconfigure_datasource_blend
    • Changedconfigure_dual_axis2 fields changed
      • addedInput schema / properties / sort_field
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Sort Field"
        +}
      • addedInput schema / properties / table_calc_overrides
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": {
        +        "items": {
        +          "additionalProperties": true,
        +          "type": "object"
        +        },
        +        "type": "array"
        +      },
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Table Calc Overrides"
        +}
    • Addedconfigure_layered_chart
    • Addedconfigure_subtotals
    • Addedconfigure_worksheet_domain_range
    • Changedconfigure_worksheet_style8 fields changed
      • addedInput schema / properties / color_style
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": true,
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Color Style"
        +}
      • addedInput schema / properties / gridline_style
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": true,
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Gridline Style"
        +}
      • addedInput schema / properties / hide_sort_controls
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "boolean"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Hide Sort Controls"
        +}
      • addedInput schema / properties / legend_style
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": true,
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Legend Style"
        +}
      • addedInput schema / properties / map_style
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": true,
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Map Style"
        +}
      • addedInput schema / properties / pane_formats
        Added value: +{
        +  "anyOf": [
        +    {
        +      "items": {
        +        "additionalProperties": true,
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Pane Formats"
        +}
      • addedInput schema / properties / size_style
        Added value: +{
        +  "anyOf": [
        +    {
        +      "additionalProperties": true,
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Size Style"
        +}
      • addedInput schema / properties / table_formats
        Added value: +{
        +  "anyOf": [
        +    {
        +      "items": {
        +        "additionalProperties": true,
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Table Formats"
        +}
    • Addedconfigure_worksheet_time_series
    • Removedconfirm_authoring_stage
    • Addedconvert_workbook
    • Addedcopy_default_device_layout
    • Removeddraft_authoring_contract
    • Addedenable_automatic_phone_layout
    • Addedenable_domain_completion
    • Removedfinalize_analysis_brief
    • Removedfinalize_authoring_contract
    • Removedfinalize_wireframe
    • Addedgenerate_gallery_layout
    • Addedgenerate_layout_yaml
    • Removedgenerate_workbook_from_run
    • Removedget_client_interaction_capabilities
    • Addedget_mcp_status
    • Removedget_run_status
    • Addedimport_blended_field
    • Addedinitialize_dashboard_filter_action
    • Addedinspect_excel_connection
    • Removedintake_datasource_schema
    • Removedinteractive_stage_confirmation
    • Addedlink_worksheet_filters
    • Removedlist_authoring_runs
    • Addedlist_gallery_templates
    • Removedmigrate_twb_guided
    • Addedrecommend_gallery_templates
    • Removedreopen_authoring_stage
    • Addedrepair_calculated_field_issues
    • Removedresume_authoring_run
    • Removedreview_authoring_contract
    • Removedreview_authoring_contract_for_run
    • Addedscreenshot_workbook
    • Addedselect_datasource
    • Addedset_compound_color_palette
    • Addedset_csv_connection
    • Addedset_date_options
    • Addedset_field_fiscal_year_start
    • Addedset_field_format
    • Addedset_field_geographic_role
    • Addedset_geocoding_context
    • Changedset_hyper_connection1 field changed
      • addedInput schema / properties / relationships
        Added value: +{
        +  "anyOf": [
        +    {
        +      "items": {
        +        "additionalProperties": true,
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "title": "Relationships"
        +}
    • Addedset_measure_name_aliases
    • Addedset_shape_palette
    • Addedset_worksheet_title
    • Removedstart_authoring_run
    • Addedupload_workbook
    • Addedvalidate_formula
    • Addedvalidate_workbook_api
  2. 56 tool updatesv0.18.1
    • First observedadd_calculated_field
    • First observedadd_dashboard
    • First observedadd_dashboard_action
    • First observedadd_parameter
    • First observedadd_worksheet
    • First observedanalyze_twb
    • First observedapply_twb_migration
    • First observedapply_worksheet_refactor
    • First observedbuild_analysis_brief
    • First observedbuild_execution_plan
    • First observedbuild_wireframe
    • First observedclone_worksheet
    • First observedconfigure_chart
    • First observedconfigure_chart_recipe
    • First observedconfigure_dual_axis
    • First observedconfigure_worksheet_style
    • First observedconfirm_authoring_stage
    • First observedcreate_workbook
    • First observeddescribe_capability
    • First observeddiff_template_gap
    • First observeddraft_authoring_contract
    • First observedfinalize_analysis_brief
    • First observedfinalize_authoring_contract
    • First observedfinalize_wireframe
    • First observedgenerate_layout_json
    • First observedgenerate_workbook_from_run
    • First observedget_client_interaction_capabilities
    • First observedget_run_status
    • First observedinspect_target_schema
    • First observedintake_datasource_schema
    • First observedinteractive_stage_confirmation
    • First observedlist_authoring_runs
    • First observedlist_capabilities
    • First observedlist_dashboards
    • First observedlist_fields
    • First observedlist_worksheets
    • First observedmigrate_twb_guided
    • First observedopen_workbook
    • First observedpreview_twb_migration
    • First observedpreview_worksheet_refactor
    • First observedprofile_twb_for_migration
    • First observedpropose_field_mapping
    • First observedremove_calculated_field
    • First observedreopen_authoring_stage
    • First observedresume_authoring_run
    • First observedreview_authoring_contract
    • First observedreview_authoring_contract_for_run
    • First observedsave_workbook
    • First observedset_excel_connection
    • First observedset_hyper_connection
    • First observedset_mysql_connection
    • First observedset_tableauserver_connection
    • First observedset_worksheet_caption
    • First observedset_worksheet_hidden
    • First observedstart_authoring_run
    • First observedvalidate_workbook

TDQS

C2.8/5.0

Scored across 84 tools

Disambiguation3/5

Many tools are distinct and descriptions disambiguate, but several clusters overlap: multiple validate/analyze tools, several configure_chart variants, and duplicate layout generators (JSON vs YAML) make selection uncertain. The agent can usually recover from descriptions, but not all boundaries are crisp.

Naming Consistency5/5

All names use snake_case with a consistent verb_noun or verb_noun_phrase pattern (add_, set_, configure_, list_, validate_, etc.). No mixed conventions or cryptic abbreviations appear in tool names.

Tool Count1/5

84 tools is an extreme over-scoping for a single MCP server; the rubric treats 50+ as an extreme mismatch. Even with a broad Tableau authoring domain, this volume imposes heavy selection and maintenance burden.

Completeness4/5

The surface covers workbook lifecycle, worksheets, dashboards, fields, calculations, connections, migration, validation, and publishing. Some deletion/removal operations (e.g., dashboards, worksheets, parameters) are absent, but most authoring workflows are covered.

Maintenance

ActivityActive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI applications to integrate with Tableau through tools, resources, and prompts for querying data, exploring content, and retrieving visualizations from Tableau workbooks and datasources.
    26,488 npm
    363
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables integration with Tableau to query data, explore workbook content, and retrieve visualization images through natural language. It provides developer primitives for building AI applications that interact seamlessly with Tableau servers.
    26,488 npm
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI applications to interact with Tableau through tools for querying data, exploring content, and retrieving views.
    26,488 npm
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI applications to interact with Tableau for querying data, exploring content, and retrieving views through natural language.
    26,488 npm
    Apache 2.0