# pcb_add_layer

A write tool on the Eda Agent MCP server.

Agent View of the PolicyLayer registry record for `pcb_add_layer`. HTML page: https://policylayer.com/tools/eda-agent/pcb-add-layer

## Facts

- Tool: `pcb_add_layer`
- Server: Eda Agent (`salitronic/eda-agent`) — https://policylayer.com/tools/eda-agent.md
- Homepage: https://github.com/salitronic/eda-agent
- 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": "pcb_add_layer",
    "arguments": {}
  }
}
```

## Why pcb_add_layer is rated Medium

The tool creates new data (a PCB layer) within a design document, which is a Write operation. While layer addition modifies design structure, it is reversible and does not destroy existing data. The empty description lowers confidence slightly, but the name strongly implies layer creation.

From the tool's own definition: "Tool name 'pcb_add_layer' indicates creation of a new PCB layer. In the context of a 290+ tool Altium Designer automation suite, adding a layer modifies the design structure reversibly (layers can be deleted or modified afterward)."

## Use case

AI agents use pcb_add_layer to create or update resources in Eda Agent, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Eda Agent environment.

## Recommended policy (PolicyLayer)

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

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

## Other tools on Eda Agent (344)

- `lib_uninstall_library` — Destructive — https://policylayer.com/tools/eda-agent/lib-uninstall-library.md
- `obj_batch_delete` — Destructive — https://policylayer.com/tools/eda-agent/obj-batch-delete.md
- `obj_delete` — Destructive — https://policylayer.com/tools/eda-agent/obj-delete.md
- `pcb_clear_source_footprint_library` — Destructive — https://policylayer.com/tools/eda-agent/pcb-clear-source-footprint-library.md
- `pcb_delete_design_rule` — Destructive — https://policylayer.com/tools/eda-agent/pcb-delete-design-rule.md
- `pcb_delete_invalid_objects` — Destructive — https://policylayer.com/tools/eda-agent/pcb-delete-invalid-objects.md
- `pcb_delete_net` — Destructive — https://policylayer.com/tools/eda-agent/pcb-delete-net.md
- `pcb_delete_object` — Destructive — https://policylayer.com/tools/eda-agent/pcb-delete-object.md
- `pcb_remove_layer` — Destructive — https://policylayer.com/tools/eda-agent/pcb-remove-layer.md
- `pcb_remove_teardrops` — Destructive — https://policylayer.com/tools/eda-agent/pcb-remove-teardrops.md
- `proj_delete_sheet` — Destructive — https://policylayer.com/tools/eda-agent/proj-delete-sheet.md
- `proj_remove_document` — Destructive — https://policylayer.com/tools/eda-agent/proj-remove-document.md
- `app_attach` — Execute — https://policylayer.com/tools/eda-agent/app-attach.md
- `app_run_menu` — Execute — https://policylayer.com/tools/eda-agent/app-run-menu.md
- `design_execute_plan` — Execute — https://policylayer.com/tools/eda-agent/design-execute-plan.md
- `design_validate` — Execute — https://policylayer.com/tools/eda-agent/design-validate.md
- `design_validate_plan` — Execute — https://policylayer.com/tools/eda-agent/design-validate-plan.md
- `obj_refresh_document` — Execute — https://policylayer.com/tools/eda-agent/obj-refresh-document.md
- `obj_run_process` — Execute — https://policylayer.com/tools/eda-agent/obj-run-process.md
- `obj_switch_view` — Execute — https://policylayer.com/tools/eda-agent/obj-switch-view.md
- `obj_zoom` — Execute — https://policylayer.com/tools/eda-agent/obj-zoom.md
- `pcb_build_from_project` — Execute — https://policylayer.com/tools/eda-agent/pcb-build-from-project.md
- `pcb_panelize` — Execute — https://policylayer.com/tools/eda-agent/pcb-panelize.md
- `pcb_plan_placement` — Execute — https://policylayer.com/tools/eda-agent/pcb-plan-placement.md
- `pcb_run_drc` — Execute — https://policylayer.com/tools/eda-agent/pcb-run-drc.md
- `pcb_scale` — Execute — https://policylayer.com/tools/eda-agent/pcb-scale.md
- `pcb_start_polygon_placement` — Execute — https://policylayer.com/tools/eda-agent/pcb-start-polygon-placement.md
- `pcb_tune_length` — Execute — https://policylayer.com/tools/eda-agent/pcb-tune-length.md
- `proj_compile` — Execute — https://policylayer.com/tools/eda-agent/proj-compile.md
- `proj_force_recompile` — Execute — https://policylayer.com/tools/eda-agent/proj-force-recompile.md
- …and 314 more: https://policylayer.com/tools/eda-agent.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=eda-agent · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/eda-agent
