Skip to main content
Glama

Move or rename a project file

move_file
Destructive

Move or rename a file in an Overleaf project's local clone, creating missing parent folders; fix LaTeX references before pushing to apply.

Instructions

Move or rename a file inside one project, creating any missing parent directories. The move happens in the local clone only; nothing changes in Overleaf until push_changes. LaTeX references are not rewritten: an \input, \include or \includegraphics naming the old path will break, so search_project for it afterwards and fix the references with replace_text before pushing. Both paths are relative to the same project's root; to move a text file between projects, read_file it from one and write_file it into the other. Pulls from Overleaf first. If fromPath is not a file in the project or a file already exists at toPath, nothing moves and the reply says why.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toPathYesNew path for the file, relative to the project root, e.g. sections/intro.tex. Must stay inside the project and must not already exist.
projectNoWhich project to use: its Overleaf address, its 24-character id, or a registered project name. Omit to use the default project.
fromPathYesCurrent path of the file, relative to the project root, e.g. intro.tex.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.8

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations flag destructive=true and non-idempotent, and the description adds substantially beyond them: the move only touches the local clone, Overleaf is untouched until push_changes, a pull happens first, references are not rewritten, and the failure path is described (nothing moves, reply explains why).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and the local-vs-remote distinction are front-loaded, and the subsequent sentences each carry distinct operational information (reference breakage, cross-project workaround, pull behavior, failure semantics). It is dense and runs long, but no sentence is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, yet the description covers the return/behavior semantics an agent needs: the pull-first behavior, the local-only mutation, and what the reply reports on failure. Nothing required to invoke this mutation correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: both paths are relative to the same project's root and must stay inside the project, and fromPath must be an existing file. It does not restate the format examples already in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb pair (move or rename) on a precisely scoped resource (a file inside one project), and clarifies it also creates missing parent directories. An agent can distinguish it from write_file, delete_file and cross-project transfers without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent to alternatives and preconditions: cross-project moves should use read_file plus write_file, and stale LaTeX references must be found with search_project and repaired with replace_text before pushing. It also names the step that follows (push_changes).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.