# mikrotik_set_user_ssh_keys

Sets SSH public keys for a user

Agent View of the PolicyLayer registry record for `mikrotik_set_user_ssh_keys`. HTML page: https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-set-user-ssh-keys

## Facts

- Tool: `mikrotik_set_user_ssh_keys`
- Server: MikroTik Cursor MCP (`kevinpez/mikrotik-cursor-mcp`) — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp.md
- Homepage: https://github.com/kevinpez/mikrotik-cursor-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": "mikrotik_set_user_ssh_keys",
    "arguments": {}
  }
}
```

## Why mikrotik_set_user_ssh_keys is rated Medium

This tool modifies user authentication material (SSH public keys) reversibly. While credential manipulation carries significant risk (an attacker could lock out legitimate users or add backdoor access), it is classified as Write rather than Execute or Destructive because: (1) the operation itself is a data modification, not execution of arbitrary code; (2) it is theoretically reversible by re-setting keys to correct…

From the tool's own definition: "Tool name contains 'set' and description states 'Sets SSH public keys for a user' — this is a modification operation that creates or updates user authentication credentials."

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## Other tools on MikroTik Cursor MCP (451)

- `mikrotik_clear_address_list` — Destructive — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-clear-address-list.md
- `mikrotik_clear_logs` — Destructive — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-clear-logs.md
- `mikrotik_delete_custom_chain` — Destructive — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-delete-custom-chain.md
- `mikrotik_remove_address_list_entry` — Destructive — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-remove-address-list-entry.md
- `mikrotik_remove_bonding_interface` — Destructive — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-remove-bonding-interface.md
- `mikrotik_remove_bridge_port` — Destructive — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-remove-bridge-port.md
- `mikrotik_remove_bridge_vlan` — Destructive — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-remove-bridge-vlan.md
- `mikrotik_remove_capsman_configuration` — Destructive — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-remove-capsman-configuration.md
- `mikrotik_remove_capsman_datapath` — Destructive — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-remove-capsman-datapath.md
- `mikrotik_remove_capsman_provisioning_rule` — Destructive — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-remove-capsman-provisioning-rule.md
- `mikrotik_remove_certificate` — Destructive — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-remove-certificate.md
- `mikrotik_remove_container` — Destructive — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-remove-container.md
- `mikrotik_remove_container_env` — Destructive — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-remove-container-env.md
- `mikrotik_remove_container_mount` — Destructive — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-remove-container-mount.md
- `mikrotik_remove_container_veth` — Destructive — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-remove-container-veth.md
- `mikrotik_remove_dhcp_server` — Destructive — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-remove-dhcp-server.md
- `mikrotik_remove_dhcpv6_client` — Destructive — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-remove-dhcpv6-client.md
- `mikrotik_remove_dhcpv6_lease` — Destructive — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-remove-dhcpv6-lease.md
- `mikrotik_remove_dhcpv6_option` — Destructive — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-remove-dhcpv6-option.md
- `mikrotik_remove_dhcpv6_server` — Destructive — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-remove-dhcpv6-server.md
- `mikrotik_remove_dns_static` — Destructive — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-remove-dns-static.md
- `mikrotik_remove_eoip_tunnel` — Destructive — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-remove-eoip-tunnel.md
- `mikrotik_remove_file` — Destructive — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-remove-file.md
- `mikrotik_remove_filter_rule` — Destructive — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-remove-filter-rule.md
- `mikrotik_remove_gre_tunnel` — Destructive — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-remove-gre-tunnel.md
- `mikrotik_remove_hotspot_server` — Destructive — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-remove-hotspot-server.md
- `mikrotik_remove_ip_address` — Destructive — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-remove-ip-address.md
- `mikrotik_remove_ip_pool` — Destructive — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-remove-ip-pool.md
- `mikrotik_remove_ipv6_address` — Destructive — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-remove-ipv6-address.md
- `mikrotik_remove_ipv6_address_list_entry` — Destructive — https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-remove-ipv6-address-list-entry.md
- …and 421 more: https://policylayer.com/tools/kevinpez-mikrotik-cursor-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=kevinpez-mikrotik-cursor-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/kevinpez-mikrotik-cursor-mcp
