Skip to main content
Glama

save_document

Save the active FreeCAD document to a specified .FCStd path, automatically hiding consumed intermediate elements to prevent double-rendering on reopen.

Instructions

Save the active document to the given .FCStd path.

visibility_hygiene (default True): before saving, hide any object that has been consumed as a producer-input (the Base/Tool of a Cut, the BaseFeature of a Body, every feature inside a Body's Group, etc.). Without this the re-opened doc double-renders intermediates on top of the final shape — a failure mode that looks identical to broken geometry. Pass False to keep explicit set_visibility overrides intact.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYes
visibility_hygieneNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It does well by disclosing a non-obvious side effect: visibility_hygiene hides consumed producer-input objects before saving to prevent double-rendering on reopen, and explains the failure mode. It does not mention overwrite behavior, permissions, or error handling, so it is not complete.

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 front-loaded with the core purpose and then structured into a clear parameter explanation with a concrete failure mode. Every sentence contributes useful information, though the explanation is somewhat long, which is justified by the non-obvious behavior.

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?

Given no annotations and no output schema, the description covers the key purpose and the important visibility side effect thoroughly. It still lacks contextual details about overwriting existing files, permissions, or return behavior, but it is largely complete for an agent to call the tool correctly.

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 0%, so the description must compensate. It thoroughly explains visibility_hygiene: its default, what it hides, why it matters, and when to pass False. The path parameter is only partially covered as 'the given .FCStd path,' but its meaning is largely inferable from the schema type and name.

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 states a specific verb and resource: 'Save the active document to the given .FCStd path.' It is clear what the tool does. However, it does not differentiate itself from similar siblings such as export_shape or close_document, so it misses the top score.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use save_document versus alternatives like export_shape, close_document, or transaction_commit. The description only explains a parameter's behavior, not when this tool should be selected over its siblings.

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

Deploy Server

Other Tools