# mikrotik_upload_file

Uploads a file to MikroTik device

Agent View of the PolicyLayer registry record for `mikrotik_upload_file`. HTML page: https://policylayer.com/tools/kevinpez-mikrotik-cursor-mcp/mikrotik-upload-file

## Facts

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

## Why mikrotik_upload_file is rated Medium

File uploads are Write operations as they create new data or modify existing data on the target system. Severity is high because unauthorized file uploads to network infrastructure could introduce malicious scripts, alter router configurations, or compromise device integrity.

From the tool's own definition: "Tool description states 'Uploads a file to MikroTik device' — a file upload operation that creates or modifies data on the target system. In the context of router management, file uploads can modify configurations, firmware, scripts, or system files."

## Use case

AI agents use mikrotik_upload_file 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_upload_file": {
      "limits": [
        {
          "counter": "mikrotik_upload_file_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
