# lib_create_footprint

Create a new PCB footprint in the active library.

Agent View of the PolicyLayer registry record for `lib_create_footprint`. HTML page: https://policylayer.com/tools/eda-agent/lib-create-footprint

## Facts

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

## Why lib_create_footprint is rated Medium

This tool creates (writes) a new footprint artifact in a library, which is a reversible data modification. While it affects design data, the action itself is not destructive (footprints can be deleted or modified later), not financial, and not arbitrary code execution.

From the tool's own definition: "Tool name 'lib_create_footprint' and description 'Create a new PCB footprint in the active library' indicate creation of new design data in Altium Designer's library."

## Use case

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