Skip to main content
Glama

edit_factory

Destructive

Name, amend, rename, forget, or set storage stance for named factory machine sets in Satisfactory saves; preview changes with dry run.

Instructions

Name, amend, rename or forget a named factory (a set of machine ids), or set its storage stance.

Ids survive moves and autosaves. name on an existing name replaces its machines. amend adds, drops, then prune_missing clears gone anchors; one machine is machine:; the last can't be dropped. rename: saved plans follow. forget keeps the machines. storage: is full storage at a line's end stock or a blockage. dry_run previews.

Input Schema

NameRequiredDescriptionDefault
toNorename: new name; storage: stockpile|flow|default
addNoamend: selector terms to add
dropNoamend: selector terms to drop
nameYes
saveNo
as_ofNopin to one save: the sav:… token an earlier answer printed
notesNo
splitNoname: keep only the largest spatial cluster
worldNo
actionYesname | amend | rename | forget | storage
expandNoname: pull in everything belted to the result
selectNoname: selector terms: product:<item> | recipe:<name> | building:<name or class> | near:<place>@<radius_m> | base:<n> | line:<n> | slab:<n> | proposal:<n> | label:<name> | machine:<instance> | pin:<n> | all. Terms are ANDed; commas inside one term OR; a leading '-' excludes
dry_runNo
prune_missingNoamend: drop every anchor this save no longer has

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.3.0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true and idempotentHint=false, but the description adds real disclosure beyond them: overwriting an existing name replaces its machines, forget keeps the machines, rename propagates to saved plans, and dry_run previews before committing. Those are exactly the consequences an agent needs before invoking a destructive tool. It omits any mention of permissions, confirmation requirements, or what dry_run actually returns.

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?

Roughly ninety words for a 14-parameter, five-action tool is efficiently sized, and the action inventory is front-loaded in the first sentence. The telegraphic fragment style ('storage: is full storage at a line's end stock or a blockage') is dense to the point of being cryptic, and 'Ids survive moves and autosaves' sits awkwardly between action definitions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive 14-param tool with no output schema, the description covers the five actions and the highest-risk parameters but leaves save, world, and notes unexplained, and never says what a dry_run preview produces. An agent can pick the right action but would still be guessing about scope parameters and return shape. Adequate rather than complete.

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?

With 64% schema coverage across 14 params, the description adds meaningful semantics the schema lacks: the ordering of add → drop → prune_missing, the 'machine:<instance>' anchor form and the rule that the last machine can't be dropped, and the interpretation of 'to' for the storage action. It does not explain save, world, or notes, and does not clarify dry_run's effect per action, leaving a meaningful remainder undocumented.

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?

Opens with a specific multi-verb statement naming the resource and its scope: 'Name, amend, rename or forget a named factory (a set of machine ids), or set its storage stance.' An agent immediately knows this is the mutation surface for factory groupings, as opposed to read siblings like list_factories or factory_query. It stops short of naming a sibling explicitly, so it lands at 4 rather than 5.

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 gives good per-action selection guidance internally ('name on an existing name replaces its machines', 'amend adds, drops, then prune_missing clears gone anchors', 'rename: saved plans follow'), which is genuinely useful for choosing among the five actions. However, it never states when to reach for edit_factory versus edit_plan, plan_factory, or plan_from_factory, and gives no prerequisites or when-not-to-use conditions. Usage is implied through action semantics rather than declared.

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