Skip to main content
Glama

validate_lua_power_draft

Read-onlyIdempotent

Validate a draft Lua script against the local Nightbreak Forge Lua validator. Use this before finalizing generated Lua files to catch unknown helpers, invalid fields, or malformed file structure. IMPORTANT: pass script_type matching the file you are generating. Use "lua-power" (default) for EliteMobs custom-boss Lua powers (files in powers/), "fmm-script" for FreeMinecraftModels prop scripts (files in scripts/), "npc-script" for EliteMobs NPC scripts (files in npc_scripts/), "mind-behavior" for Mind programs and modules (files in behaviors/), "fmm-pet-behavior" (FreeMinecraftModels pet behavior modules in pet_behaviors/, id fmm:pet/<file name>; loaded from FMM 2.13.0), or "em-enchantment-script" / "fmm-enchantment-script" for EliteMobs or FreeMinecraftModels enchantment scripts (files in enchantments/). They have different valid hook names and context namespaces — passing the wrong type produces false-positive errors (e.g. on_right_click is valid for fmm-script, on_npc_interact for npc-script, but both are rejected for lua-power).

Input Schema

NameRequiredDescriptionDefault
pathNoOptional path such as "powers/example.lua" or "scripts/fireball_wand.lua" for reporting context.
contentYesFull Lua script file content to validate.
script_typeNoWhich validator ruleset to apply. `"lua-power"` for EliteMobs boss powers, `"fmm-script"` for FMM prop scripts, `"npc-script"` for EliteMobs NPC scripts, `"mind-behavior"` for behaviors/ programs and modules, `"fmm-pet-behavior"` (FreeMinecraftModels pet behavior modules in `pet_behaviors/`, id `fmm:pet/<file name>`; loaded from FMM 2.13.0). Defaults to `"lua-power"`.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description goes beyond them to disclose a concrete failure mode: passing the wrong script_type yields false-positive errors, illustrated with hook-name examples (on_right_click vs on_npc_interact). That is real behavioral context an agent cannot get from annotations.

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 the IMPORTANT callout before the per-type enumeration. The lengthy list of script types partially restates the schema enum, making it denser than strictly necessary, but each clause carries actionable mapping information.

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 read-only validator with no output schema, the description covers what to pass, when, and the dominant failure mode. It doesn't say what the validation response looks like (error list shape), which is the remaining gap, but everything needed to invoke correctly is present.

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%, so baseline would be 3, but the description adds genuine meaning beyond the enum: it maps each script_type to its directory (powers/, scripts/, npc_scripts/, behaviors/, pet_behaviors/, enchantments/) and the fmm:pet/<file> id form. Minor duplication of the enum list, but the error-consequence framing is added value.

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) and resource (draft Lua script against the local Nightbreak Forge validator), and its timing/purpose (before finalizing generated Lua files). It is clearly distinguishable from the sibling validate_config_files, which targets configs rather than Lua scripts.

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 says when to use it ('before finalizing generated Lua files') and what it catches (unknown helpers, invalid fields, malformed structure). It does not name sibling alternatives like validate_config_files, so it stops short of full when-not routing, but the usage context is unambiguous.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources