Skip to main content
Glama

App state

get_state
Read-only

Retrieve the current MIB2 Configurator state, including open skin, page, edit mode, driving side, unsaved changes, and undo availability.

Instructions

What the app shows now: the open skin and its head unit, the theme skin, the page, View / Edit mode, the car and driving side, unsaved changes (replaced images, moved positions per data file) and undo availability.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "get_state"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A3.8/5.0
Behavior4/5

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

readOnlyHint=true already tells the agent this is a safe read, so the description's added context is the valuable part: it discloses that unsaved changes are reported per data file (replaced images, moved positions) and that undo availability is included. That is behavior beyond the annotation. It does not describe shape or size of the response, but for a no-parameter getter that is a minor 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 sentence, front-loaded with 'What the app shows now:' before the enumerated fields, so a reader gets the frame immediately. The dense comma list of state items is long but every element is distinct state an agent would otherwise have to discover. Slightly list-heavy but no filler sentences.

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?

Because there is no output schema, the description carries the burden of explaining what comes back, and it does so field by field, including the non-obvious unsaved-changes breakdown. With zero parameters and a read-only annotation, there is little else an agent needs. Only the absence of any distinction from sibling state-reading tools keeps it from a 5.

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 applies and there is nothing for the description to disambiguate. The description correctly spends no words on input arguments and instead covers output content.

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 precisely what the tool returns: the open skin and head unit, theme skin, page, View/Edit mode, car and driving side, unsaved changes, and undo availability. That is a concrete, resource-specific enumeration rather than a restatement of the name. It stops short of distinguishing itself from overlapping siblings such as status, get_changes, and get_scene_data, so an agent must infer the boundary.

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: the enumeration of current UI state suggests calling it to orient before acting, and the mention of unsaved changes hints at pre-save checks. There is no explicit when-to-use, no when-not-to-use, and no routing to status or get_changes, which appear to overlap. Adequate but leaves selection to inference.

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