Skip to main content
Glama

Compile with Overleaf

compile

Build LaTeX projects on Overleaf servers to report errors and warnings with file:line for fixes, then optionally save the PDF locally.

Instructions

Compiles the project on Overleaf's servers and reports LaTeX errors and warnings with file:line, so they can be fixed with edit_file. Optionally saves the PDF locally.

Input Schema

NameRequiredDescriptionDefault
draftNoFaster draft mode (no images)
projectNoProject name, id or Overleaf URL. May be omitted when exactly one project is pinned.
rootFileNoCompile this file instead of the main document
savePdfToNoAbsolute local path to save output.pdf to
maxWarningsNoDefault 15
stopOnFirstErrorNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.1.1

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, destructiveHint=false and openWorldHint=true; the description adds meaningful behavior beyond that: compilation happens remotely on Overleaf's servers, diagnostics come back with file:line, and there is an optional local PDF side effect. It does not mention cost, latency, or whether an existing output.pdf gets overwritten, which keeps it below a 5.

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

Conciseness5/5

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

One compact sentence that front-loads the action and its result, then appends the optional side effect. No filler or restatement of the tool name.

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

Completeness4/5

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

With no output schema present, the description carries the return-value burden and does so adequately: it promises errors and warnings tagged with file:line. It omits the shape of a successful result (e.g. confirmation or artifact path), but nothing needed to invoke the tool correctly is missing.

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

Parameters3/5

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

Schema description coverage is 83%, so the schema already explains draft mode, project resolution, rootFile, savePdfTo and maxWarnings. The description only alludes to savePdfTo ('optionally saves the PDF locally') and adds no format or default detail, so it sits at the baseline for a well-documented 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 precise verb (compiles) and resource (the project, on Overleaf's servers) plus the value it returns (LaTeX errors and warnings with file:line). It also names a sibling, edit_file, so an agent can place it in a workflow rather than guessing.

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

Usage Guidelines4/5

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

The phrase 'so they can be fixed with edit_file' establishes the compile-check-fix cycle and implicitly tells the agent when to call it. It stops short of explicit when-not-to-use guidance or naming alternatives for viewing output (e.g. download_file), so it is clear context without full routing rules.

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