Skip to main content
Glama

describe_prototype

Get item, entity, and recipe details for up to 10 Factorio names in a single call.

Instructions

Everything about up to 10 names at once — the item (stack size, fuel value), the entity it places (footprint, power use in kW, crafting/mining speed, mining area, drill drop offset, inserter pickup/drop offsets, module slots, belt speed) and the recipe that makes it (ingredients, products, time, unlocked or not).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
namesYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It does a good job: it explicitly discloses the batch limit, the categories of information returned, and that recipes include whether they are unlocked. It does not mention what happens for unknown names or partially-applicable prototypes, but for a read-only describe tool this is reasonably transparent.

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?

The description is long but every clause earns its place by adding concrete output details. It is front-loaded with the core claim ('Everything about up to 10 names at once') and then expands into specifics. It could be more readable as structured bullets, but there is no fluff or repetition.

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 single-parameter read-only lookup tool with an output schema, the description covers the essential aspects: the query unit (names), the batching limit, and the returned data categories. It does not discuss error behavior or exact name format, but the combination of the detailed description and existing output schema is sufficient for an agent to invoke the tool correctly in most cases.

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 schema only says the parameter is an array of strings, with 0% schema coverage. The description adds valuable constraints ('up to 10 names') and implies the names refer to item/entity/recipe prototypes. However, it never clarifies exactly what a valid 'name' is or whether these are internal prototype names, localized names, or something else, so it only partially compensates for the missing schema descriptions.

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 names a specific verb ('describe'), a specific resource ('prototype'), and a clear scope ('up to 10 names at once'). It goes further than the tool name by enumerating exactly what is returned: item properties, entity properties, and the crafting recipe. This makes its purpose unmistakable and clearly separate from narrower or action-oriented siblings.

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?

The description implies the tool is for bulk lookup of full prototype details ('Everything about up to 10 names at once'), which gives useful context. However, it never states when to prefer this tool over alternatives such as inspect_entity, nor does it give exclusions or conditions. The usage guidance is implied rather than explicit.

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