# move_file

Move or rename files and directories. Can move files between directories and rename them in a single operation. Both source and destination must be within allowed directories. ${PATH_GUIDANCE} ${CMD_PREFIX_DESCRIPTION}

Agent View of the PolicyLayer registry record for `move_file`. HTML page: https://policylayer.com/tools/desktop-commander/move-file

## Facts

- Tool: `move_file`
- Server: Desktop Commander (`wonderwhy-er/DesktopCommanderMCP`) — https://policylayer.com/tools/desktop-commander.md
- Homepage: https://github.com/wonderwhy-er/DesktopCommanderMCP
- 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": "move_file",
    "arguments": {}
  }
}
```

## Why move_file is rated Medium

Moving and renaming files are write operations that modify file system metadata and organization reversibly. While the tool has significant blast radius (could reorganize critical system files if paths are misconfigured), the operations are not destructive (files are not deleted) and not permanent in the sense that moves can typically be undone.

From the tool's own definition: "Tool description explicitly states 'Move or rename files and directories' and 'Can move files between directories and rename them in a single operation.' These are reversible modifications to file system state."

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## Other tools on Desktop Commander (10)

- `force_terminate` — Destructive — https://policylayer.com/tools/desktop-commander/force-terminate.md
- `get_config` — Read — https://policylayer.com/tools/desktop-commander/get-config.md
- `get_file_info` — Read — https://policylayer.com/tools/desktop-commander/get-file-info.md
- `get_recent_tool_calls` — Read — https://policylayer.com/tools/desktop-commander/get-recent-tool-calls.md
- `get_usage_stats` — Read — https://policylayer.com/tools/desktop-commander/get-usage-stats.md
- `kill_process` — Read — https://policylayer.com/tools/desktop-commander/kill-process.md
- `list_processes` — Read — https://policylayer.com/tools/desktop-commander/list-processes.md
- `list_searches` — Read — https://policylayer.com/tools/desktop-commander/list-searches.md
- `create_directory` — Write — https://policylayer.com/tools/desktop-commander/create-directory.md
- `set_config_value` — Write — https://policylayer.com/tools/desktop-commander/set-config-value.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=desktop-commander · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/desktop-commander
