Skip to main content
Glama

Open a Java block/item model

open_java_model

Opens Java block/item model JSON files with elements in a new tab, resolving textures from the texture field, a same-named PNG, or assets textures; parent models are not followed.

Instructions

Opens a Java block/item model .json that has "elements" in a new tab. Its texture comes from "texture", a same-named PNG next to the model, or assets/textures/...; anything else shows blank. Parent models are not followed. If the file is already open it switches to that tab.

Input Schema

NameRequiredDescriptionDefault
nameNoTab name. Default the file name.
modelYesAbsolute path, or "output:<relative path>" / "assets:<relative path>". Must end with .json.
reloadNoIf the file is already open with no edits, close that tab and load the file again.
reopenNoOpen a new tab even if this file is already open.
textureNoAbsolute path, or "output:<relative path>" / "assets:<relative path>". Must end with .png.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.7/5.0
Behavior4/5

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

Beyond the annotations (readOnlyHint=false, destructiveHint=false), the description discloses non-obvious behavior: blank rendering when the texture cannot be resolved, no parent-model traversal, and tab reuse for already-open files. It does not say what happens on malformed or element-less input, which is the main remaining 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?

Four short sentences, front-loaded with what is opened and how textures resolve. The nested quoting around "elements" and "texture" is slightly awkward to parse, but no sentence is 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 five-parameter tab-opening tool with no output schema and adequate annotations, the description covers texture resolution, parent-model limits, and tab behavior. Missing only error handling for files without "elements", which the description itself flags as a requirement but does not explain the failure mode for.

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 description gives real added meaning for the texture parameter by spelling out the resolution order (explicit "texture", same-named PNG, then assets/textures/...), and the tab-switching sentence implies the intent behind reopen/reload. But reload and reopen are never described, and with 100% schema description coverage the schema already carries most 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?

The description names a specific verb and resource: opening a Java block/item model .json (one containing "elements") into a new tab. The 'Java block/item' qualifier implicitly separates it from the sibling open_model, but it never names that sibling or states the distinction explicitly, so differentiation is left partly 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 Guidelines3/5

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

There is an implicit precondition (the file must contain "elements") and a stated limit (parent models are not followed), plus a note that an already-open file switches to its existing tab. However, there is no explicit 'use this instead of open_model when...' guidance and no statement of when not to use it.

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