Skip to main content
Glama

ZeroMind (OrigoZero game engine)

zeromind.install

Destructive

Install ZeroMind content INTO the connected world — the step that wires found content into the project. Do not hand-write Luau or guids into execute(); pass the id from a search or inspect hit and this runs the right engine call, with the engine fetching every byte from ZeroMind itself. Pass world (a world guid) to add a whole world as a reusable library, or guid (an asset guid) to install an asset. INSTALL SEVERAL AT ONCE: both take a list — ten assets is one call, not ten. results matches the ids by position, and one that fails is reported against its id without failing the rest. Requires a connected world (call world.connect first). Install the candidate whose code you read and compared (zm ls-tree / zm grep / zm show / zm log @<guid> in the engine's bash), then verify it does the job; if it does not, remove what it wrote and install the next candidate.

Input Schema

NameRequiredDescriptionDefault
asNolibrary: the @<name> stem to mount under. One world per call.
atNoasset: the directory to install into (default /source); applies to every asset in the call.
refNoPin to a branch/tag/commit. One subject per call.
guidNoInstall these assets: one guid, several separated by commas ('a,b,c'), or an array. Up to 50 installs per call.
worldNoInstall these worlds as libraries: one guid, several separated by commas ('a,b,c'), or an array. Up to 50 installs per call.
commitNolibrary: pin to a concrete commit id. One world per call.
targetNoUsually inferred.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, openWorldHint=true, and idempotentHint=false, so the safety profile is covered. The description adds useful non-obvious behavior: batching up to 50, per-id partial-failure reporting, and the fact that the engine fetches bytes itself. It stops short of stating what existing files an install overwrites or how re-installing behaves.

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-loads the verb and scope, and each sentence carries distinct information (mechanism, alternatives, batching, prerequisites, workflow). It is on the long side and the closing verification paragraph borders on process advice, but nothing is truly 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?

With 7 optional params and no output schema, the description compensates well: it explains prerequisites, batch limits, and partial-failure reporting. The main remaining gap is the return shape beyond 'results matches the ids by position' and whether repeated installs overwrite prior output.

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 the baseline is 3, but the description adds real semantics beyond the schema: the guid-vs-world duality (asset vs reusable library), batching with 'ten assets is one call', and that 'results' matches ids by position. That positional-result mapping is not something the schema conveys.

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 and resource ('Install ZeroMind content INTO the connected world') and clarifies the mechanism: it runs the engine call instead of hand-writing Luau into execute(). It also implicitly separates itself from zeromind.search/inspect by positioning itself as the step after found content.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

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

Explicitly states the prerequisite ('Requires a connected world (call world.connect first)'), where the id comes from (a search or inspect hit), and the workflow: install the candidate whose code you read, verify it, and remove/replace it if it fails. This is strong when/when-not guidance.

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.