# undo

撤销操作（回退到之前的状态）。

Agent View of the PolicyLayer registry record for `undo`. HTML page: https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/undo

## Facts

- Tool: `undo`
- Server: Pypi:best Cad (`pypi:best-cad-mcp`) — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp.md
- Install: `npx -y pypi:best-cad-mcp`
- Homepage: https://github.com/LokmenoWer/best-cad-mcp
- 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": "undo",
    "arguments": {}
  }
}
```

## Why undo is rated Medium

Undo is a reversible write operation that modifies the current drawing state by reverting to a previous state. It does not permanently delete data or prevent recovery of the original state through redo or other mechanisms. The blast radius is minimal since it only affects the current working drawing and can itself be undone.

From the tool's own definition: "Tool name 'undo' and description '撤销操作（回退到之前的状态）' meaning 'undo operation (revert to previous state)'. This reversibly reverts prior modifications in CAD drawings."

## Use case

AI agents use undo to create or update resources in Pypi:best Cad, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Pypi:best Cad environment.

## Recommended policy (PolicyLayer)

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

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

## Other tools on Pypi:best Cad (320)

- `clear_spatial_annotations` — Destructive — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/clear-spatial-annotations.md
- `clear_understanding_cache` — Destructive — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/clear-understanding-cache.md
- `delete_entities` — Destructive — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/delete-entities.md
- `delete_entity` — Destructive — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/delete-entity.md
- `delete_layer` — Destructive — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/delete-layer.md
- `delete_named_view` — Destructive — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/delete-named-view.md
- `delete_selection_set` — Destructive — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/delete-selection-set.md
- `erase_selection_entities` — Destructive — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/erase-selection-entities.md
- `purge_drawing` — Destructive — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/purge-drawing.md
- `remove_hyperlink` — Destructive — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/remove-hyperlink.md
- `build_drawing_ir` — Execute — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/build-drawing-ir.md
- `check_runtime_environment` — Execute — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/check-runtime-environment.md
- `execute_cad_plan` — Execute — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/execute-cad-plan.md
- `execute_query` — Execute — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/execute-query.md
- `execute_sql_query` — Execute — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/execute-sql-query.md
- `highlight_entities` — Execute — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/highlight-entities.md
- `pan` — Execute — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/pan.md
- `plot_preview` — Execute — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/plot-preview.md
- `plot_to_device` — Execute — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/plot-to-device.md
- `regen` — Execute — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/regen.md
- `reload_xref` — Execute — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/reload-xref.md
- `render_drawing_view` — Execute — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/render-drawing-view.md
- `restart_mcp` — Execute — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/restart-mcp.md
- `restore_named_view` — Execute — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/restore-named-view.md
- `revolve_region` — Execute — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/revolve-region.md
- `select_on_screen` — Execute — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/select-on-screen.md
- `send_command` — Execute — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/send-command.md
- `set_active_layout` — Execute — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/set-active-layout.md
- `set_active_ucs` — Execute — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/set-active-ucs.md
- `set_variable` — Execute — https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp/set-variable.md
- …and 290 more: https://policylayer.com/tools/io-github-lokmenower-best-cad-mcp.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=io-github-lokmenower-best-cad-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/io-github-lokmenower-best-cad-mcp
