Skip to main content
Glama
vilsem-mcp
by bcsnpc

read_visual

Retrieve a saved vilsem visual's full spec, field bindings, layout, scoped measures, format overrides, and live PNG via connection ID or definition.pbir; native visuals excluded.

Instructions

Read a saved vilsem visual: migrated full spec, original-version provenance, field bindings, layout, scoped measures, separate format-pane overrides and current live PNG. Uses connectionId or connects through definition.pbir. Never reads native visuals.

Input Schema

NameRequiredDescriptionDefault
pageNameYes
reportDirYes
visualNameYes
connectionIdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

B3.4/5.0
Behavior4/5

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

With no annotations supplied, the description carries the full burden and does fairly well: 'Read' signals a non-destructive operation, and it discloses the exact return payload including the current live PNG, which is behavior an agent cannot get from the schema. It omits failure modes (missing visual, bad connectionId, missing definition.pbir) and any cost/time expectations, keeping it short of 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?

Two tight sentences with the payload enumeration front-loaded and the connection rule second. The long comma-separated list of return fields is dense jargon but each item is informative rather than filler; no sentence is wasted.

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?

Because there is no output schema, the description's enumeration of returned artifacts is the main compensating strength. Against that, three required identifiers are undocumented in both schema and description, and no error behavior is described, so completeness is adequate but has clear gaps.

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 four parameters, so the description must compensate and largely does not. Only connectionId receives added meaning (an alternative to resolving the model through definition.pbir); reportDir, pageName, and visualName are never explained, so an agent must guess how they compose to identify a visual.

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?

Uses a specific verb (Read) plus a named resource (saved vilsem visual) and enumerates exactly what the read yields: migrated spec, provenance, bindings, layout, scoped measures, format-pane overrides, and PNG. It also carves out a scope boundary ('Never reads native visuals'), which separates it from preview_visual/explain_visual implicitly, though those siblings are not named.

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 states the connection requirement ('Uses connectionId or connects through definition.pbir') and one hard exclusion (native visuals), which is real usage guidance. However, it never says when an agent should choose this over explain_visual, preview_visual, or diff_visual, so the routing decision is left to inference.

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