Skip to main content
Glama
lira-sapr-mcp

lira-sapr-mcp

by EvgenVer

lira_model_picture

Capture a PNG of a LIRA model exactly as drawn, including loads, numbers, and colours, in isometric, XOZ, XOY, or current view; optionally save it to a specified path.

Instructions

A PNG picture of a model (default: the active one) as LIRA draws it: with its loads, numbers and colours as set in LIRA's window. view: isometric, xoz, xoy or current (LIRA's view is switched to it and fitted to the window). save_path: also write the PNG there (absolute .png path). LIRA's window must not be minimized.

Input Schema

NameRequiredDescriptionDefault
viewNoisometric
modelNo
save_pathNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

Beyond the annotations it discloses real side effects: the 'current' view switches LIRA's view and fits it to the window, save_path writes a file to disk, and LIRA's window must not be minimized — all of which explain why readOnlyHint is false despite this being a picture tool. It does not say what happens on failure (e.g. minimized window error) or whether the view switch persists.

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 output is front-loaded, roughly 60 words, and every clause adds information — what is returned, then view, then save_path, then the window constraint. Nothing is repeated from the schema or wasted.

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 three-optional-parameter tool with no output schema, the description covers the return value (a PNG), the file-write option, and an environment prerequisite. It leaves open whether image dimensions/quality are fixed and how errors surface, but an agent has enough to call it correctly.

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 carries the full burden and does so: it enumerates the view values (isometric, xoz, xoy, current) that the schema lacks as an enum, explains the model default, and specifies that save_path must be an absolute .png path. The only minor gap is that the model parameter's identifier format (name vs. id) is not stated.

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 exactly what the tool produces: a PNG rendering of a model with its loads, numbers and colours as LIRA draws them. That is a specific output plus resource, and no sibling tool (model_summary, export_text, etc.) produces a visual render, so the agent can distinguish it without opening any 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?

It gives the default target ('the active one') and lets the caller pick a view, which is clear operating context. It does not explicitly say when to prefer this over textual siblings like lira_model_summary or lira_export_text, so it stops short of full alternative routing.

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