# save_document

A write tool on the FreeCAD Robust MCP Server MCP server.

Agent View of the PolicyLayer registry record for `save_document`. HTML page: https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/save-document

## Facts

- Tool: `save_document`
- Server: FreeCAD Robust MCP Server (`spkane/freecad-addon-robust-mcp-server`) — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server.md
- Homepage: https://github.com/spkane/freecad-addon-robust-mcp-server
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "save_document",
    "arguments": {}
  }
}
```

## Why save_document is rated Medium

The tool creates or modifies data on disk in a reversible manner. While it changes persistent state, it does not delete or irreversibly destroy data, fitting the Write category. Severity is high because an AI agent could overwrite important design files without user consent, though the blast radius is limited to the affected document and recovery is possible via backups or undo workflows.

From the tool's own definition: "Tool name 'save_document' indicates it persists data to disk. No description provided, but in the context of FreeCAD (a 3D modeling application), saving a document modifies file system state by writing model data."

## Use case

AI agents use save_document to create or update resources in FreeCAD Robust MCP Server, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your FreeCAD Robust MCP Server environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches FreeCAD Robust MCP Server:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "save_document": {
      "limits": [
        {
          "counter": "save_document_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on FreeCAD Robust MCP Server (151)

- `close_document` — Destructive — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/close-document.md
- `delete_macro` — Destructive — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/delete-macro.md
- `delete_object` — Destructive — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/delete-object.md
- `delete_sketch_constraint` — Destructive — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/delete-sketch-constraint.md
- `delete_sketch_geometry` — Destructive — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/delete-sketch-geometry.md
- `spreadsheet_clear_cell` — Destructive — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/spreadsheet-clear-cell.md
- `activate_workbench` — Execute — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/activate-workbench.md
- `boolean_operation` — Execute — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/boolean-operation.md
- `draft_extrude_shapestring` — Execute — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/draft-extrude-shapestring.md
- `execute_python` — Execute — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/execute-python.md
- `explode_compound` — Execute — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/explode-compound.md
- `part_sweep` — Execute — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/part-sweep.md
- `recompute` — Execute — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/recompute.md
- `recompute_document` — Execute — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/recompute-document.md
- `revolution_sketch` — Execute — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/revolution-sketch.md
- `run_macro` — Execute — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/run-macro.md
- `safe_execute` — Execute — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/safe-execute.md
- `scale_object` — Execute — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/scale-object.md
- `set_camera_position` — Execute — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/set-camera-position.md
- `shell_object` — Execute — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/shell-object.md
- `slice_shape` — Execute — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/slice-shape.md
- `subtractive_loft` — Execute — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/subtractive-loft.md
- `subtractive_pipe` — Execute — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/subtractive-pipe.md
- `common_all` — Other — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/common-all.md
- `draft_feature` — Other — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/draft-feature.md
- `draft_shapestring_to_face` — Other — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/draft-shapestring-to-face.md
- `draft_text_on_surface` — Other — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/draft-text-on-surface.md
- `section_shape` — Other — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/section-shape.md
- `set_display_mode` — Other — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/set-display-mode.md
- `set_view_angle` — Other — https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server/set-view-angle.md
- …and 121 more: https://policylayer.com/tools/spkane-freecad-addon-robust-mcp-server.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=spkane-freecad-addon-robust-mcp-server · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/spkane-freecad-addon-robust-mcp-server
