Skip to main content
Glama

List project files

list_files
Read-only

List all Overleaf project files by kind (LaTeX, bibliographies, figures) after pulling latest commits; filter by extension or include untracked files to find exact paths before editing.

Instructions

List every file in the project, grouped by kind (LaTeX sources, bibliographies, figures, other), after pulling the latest commits from Overleaf. Use it to find exact paths before reading or editing; use project_summary when counts are enough, and search_project to find which file mentions something. Files sparse checkout keeps off disk are listed too, since they are still part of the project. extension keeps only paths ending in that suffix, case-insensitively, and filters untracked files as well; includeUntracked adds files created locally that push_changes has not committed yet, marked (untracked). Returns the file count and the likely main document, then the paths under each kind. If the pull conflicts with unpushed local work, it fails, keeps that work, and says how to resolve it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
projectNoWhich project to use: its Overleaf address, its 24-character id, or a registered project name. Omit to use the default project.
extensionNoCase-insensitive extension, e.g. tex or .bib; omitted lists all kinds.
includeUntrackedNoAlso list files created locally and not yet pushed to Overleaf, excluding ignored build artifacts (default false).

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 only declare readOnlyHint and openWorldHint; the description adds the crucial implicit network behavior (pulls latest Overleaf commits first), the sparse-checkout caveat that off-disk files are still listed, the untracked-file marking convention, and the failure mode when the pull conflicts with unpushed work (fails, preserves work, explains resolution) — directly consistent with readOnly.

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?

Front-loaded with purpose before the routing advice, and nearly every sentence carries information (grouping, alternatives, params, return shape, failure mode). It is dense and the extension/untracked clause reads run-on, costing a point, but nothing is padding.

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?

With no output schema, the description still describes the return shape (file count, likely main document, then paths per kind), the disk/network side effects, and the conflict failure path. Nothing an agent needs to call this 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 semantics beyond the schema: extension matching is case-insensitive on path suffixes and also applies to untracked entries, and includeUntracked files are flagged '(untracked)'. The phrase 'filters untracked files as well' is slightly ambiguous about how extension interacts with untracked entries.

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 and resource ('List every file in the project'), plus the grouping scheme (LaTeX sources, bibliographies, figures, other) and the precondition that it pulls latest commits first. An agent can distinguish it from list_sections, project_summary, and search_project without opening a 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: use this to find exact paths before reading/editing, use project_summary when counts suffice, use search_project to find which file mentions something. This is textbook when-to-use and when-to-use-a-sibling guidance.

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