apply_move
Move a symbol to a different file or rename/move a file, updating all import paths across the codebase. Dry-run by default (safe preview). Modifies source files. Use plan_refactoring with type=
This record as markdown: /tools/nikolai-vysotskyi-trace-mcp/apply-move.md
What apply_move does on Trace
AI agents use apply_move to create or update resources in Trace, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Trace environment.
Why apply_move is rated Medium
apply_move performs reversible modifications to source code (moving symbols/files and updating imports). It does not delete data irreversibly (thus not Destructive), nor does it execute arbitrary code or external commands (thus not Execute). The tool defaults to dry-run mode for safety, which further supports Write rather than higher-severity categories.
From the tool's definition Tool description states: 'Move a symbol to a different file or rename/move a file, updating all import paths across the codebase' and 'Modifies source files.' These are clear write operations that create/modify code files.
Attacks that exploit this kind of access
The rule that runs apply_move safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Trace, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For apply_move, this is the rule to start with:
apply_move stays usable, but capped: an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Trace, apply this rule, and every apply_move call is checked against it from then on.
Questions about apply_move
Move a symbol to a different file or rename/move a file, updating all import paths across the codebase. Dry-run by default (safe preview). Modifies source files. Use plan_refactoring with type=. It is categorised as a Write tool in the Trace MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
Register the Trace MCP server in PolicyLayer and add a rule for apply_move: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Trace. Nothing to install.
apply_move is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the apply_move rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for apply_move. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
apply_move is provided by the Trace MCP server (nikolai-vysotskyi/trace-mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Trace, and thousands of servers like it.
This server
Across the catalogue