# unifi_set_switch_port_profile

Assign a port profile to a specific switch port.

Agent View of the PolicyLayer registry record for `unifi_set_switch_port_profile`. HTML page: https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/unifi-set-switch-port-profile

## Facts

- Tool: `unifi_set_switch_port_profile`
- Server: UniFi Access MCP (`pypi:unifi-protect-mcp`) — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp.md
- Install: `npx -y pypi:unifi-protect-mcp`
- Homepage: https://github.com/sirkirby/unifi-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": "unifi_set_switch_port_profile",
    "arguments": {}
  }
}
```

## Why unifi_set_switch_port_profile is rated Medium

This tool modifies network infrastructure configuration by assigning port profiles to switch ports. While it creates or updates configuration state (Write category), it is reversible and does not delete data or execute arbitrary code. The severity is medium because misconfiguration could disrupt network connectivity or create security gaps, but the blast radius is limited to network port settings.

From the tool's own definition: "The tool name 'unifi_set_switch_port_profile' and description 'Assign a port profile to a specific switch port' indicate a modification operation that changes network switch configuration. This is a reversible change (a profile can be reassigned or reverted)."

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## Other tools on UniFi Access MCP (271)

- `access_delete_visitor` — Destructive — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/access-delete-visitor.md
- `access_revoke_credential` — Destructive — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/access-revoke-credential.md
- `protect_alarm_delete_rule` — Destructive — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/protect-alarm-delete-rule.md
- `protect_delete_known_face` — Destructive — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/protect-delete-known-face.md
- `protect_delete_known_license_plate` — Destructive — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/protect-delete-known-license-plate.md
- `protect_delete_liveview` — Destructive — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/protect-delete-liveview.md
- `protect_delete_recording` — Destructive — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/protect-delete-recording.md
- `unifi_delete_acl_rule` — Destructive — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/unifi-delete-acl-rule.md
- `unifi_delete_ap_group` — Destructive — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/unifi-delete-ap-group.md
- `unifi_delete_backup` — Destructive — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/unifi-delete-backup.md
- `unifi_delete_client_group` — Destructive — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/unifi-delete-client-group.md
- `unifi_delete_content_filter` — Destructive — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/unifi-delete-content-filter.md
- `unifi_delete_dns_record` — Destructive — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/unifi-delete-dns-record.md
- `unifi_delete_dynamic_dns` — Destructive — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/unifi-delete-dynamic-dns.md
- `unifi_delete_firewall_group` — Destructive — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/unifi-delete-firewall-group.md
- `unifi_delete_firewall_policy` — Destructive — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/unifi-delete-firewall-policy.md
- `unifi_delete_oon_policy` — Destructive — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/unifi-delete-oon-policy.md
- `unifi_delete_port_forward` — Destructive — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/unifi-delete-port-forward.md
- `unifi_delete_port_profile` — Destructive — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/unifi-delete-port-profile.md
- `unifi_delete_wlan` — Destructive — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/unifi-delete-wlan.md
- `unifi_forget_client` — Destructive — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/unifi-forget-client.md
- `unifi_revoke_voucher` — Destructive — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/unifi-revoke-voucher.md
- `unifi_unauthorize_guest` — Destructive — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/unifi-unauthorize-guest.md
- `access_lock_door` — Execute — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/access-lock-door.md
- `access_reboot_device` — Execute — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/access-reboot-device.md
- `access_unlock_door` — Execute — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/access-unlock-door.md
- `protect_ptz_move` — Execute — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/protect-ptz-move.md
- `protect_ptz_preset` — Execute — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/protect-ptz-preset.md
- `protect_reboot_camera` — Execute — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/protect-reboot-camera.md
- `protect_trigger_chime` — Execute — https://policylayer.com/tools/io-github-sirkirby-unifi-access-mcp/protect-trigger-chime.md
- …and 241 more: https://policylayer.com/tools/io-github-sirkirby-unifi-access-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-sirkirby-unifi-access-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/io-github-sirkirby-unifi-access-mcp
