# create_hole

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

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

## Facts

- Tool: `create_hole`
- 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": "create_hole",
    "arguments": {}
  }
}
```

## Why create_hole is rated Medium

The tool creates new geometry in a 3D model, which is reversible (holes can be removed/modified in CAD software). This is a Write operation rather than Execute because it modifies the model state directly rather than running arbitrary code. Severity is medium because misuse could corrupt or make an intentional design unusable, but changes can be undone with undo/version control.

From the tool's own definition: "Tool name 'create_hole' in FreeCAD context indicates creation/modification of 3D model geometry. Empty description limits precision, but naming pattern aligns with sibling tools (add_sketch_arc, add_sketch_circle) that perform constructive operations."

## Use case

AI agents use create_hole 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": {
    "create_hole": {
      "limits": [
        {
          "counter": "create_hole_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
