Skip to main content
Glama

Project summary

project_summary
Read-only

Summarize one Overleaf project into structured file counts, likely main document, section count, and pending local work to orient at the start of a task.

Instructions

Summarize one project in a single structured result (file counts by kind, the likely main document and its section count, pending local work) to orient at the start of a task. Use list_files for every path, list_sections for a document's outline, and project_status for commit-level sync state. mainFile is a guess: main.tex, paper.tex, manuscript.tex, root.tex, thesis.tex or article.tex at the root, otherwise the shallowest .tex file, so check it for \begin{document} before relying on it. Pulls from Overleaf first; if that pull conflicts with unpushed local work, it fails and keeps the work. project can name any project the default token reaches, registered or not; the first call on a project clones it, so it is slower than later calls.

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.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
filesYesThe first ten file paths, sorted. Call list_files for all of them.
mainFileYesBest guess at the root document, from conventional names and content; null when the project has no .tex file. Verify before relying on it.
categoriesYesFile counts by kind, keyed by category. A category with no files is absent rather than zero.
totalFilesYesFiles in the project: tracked files plus local files not yet pushed.
localChangesYesgit diff --stat for edits not yet pushed to Overleaf; empty string when there are none.
trackedFilesYesFiles Overleaf already has.
totalSectionsYesSectioning commands in mainFile only, not across every .tex file. 0 when mainFile is null.
untrackedFilesYesFiles created locally that Overleaf does not have yet, excluding ignored build artifacts.
sectionCountScopeYesStates what totalSections counted, so the number is not read as a project-wide total.

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 cover readOnly/openWorld safety; the description adds substantial behavioral context beyond them: mainFile is only a heuristic guess with the exact candidate list and a caution to verify \begin{document}; the Overleaf pull is attempted first and aborts on conflict with unpushed local work while preserving that work; the first call clones the project and is therefore slower.

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 and contents, then usage routing, then caveats; every sentence carries distinct information. It is dense and slightly long for one paragraph, but there is no 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?

With an output schema present, return shape need not be re-explained, yet the description still covers the main applicable risks: the guess-based mainFile, clone-on-first-call latency, and the pull-conflict failure mode. 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 parameter is already documented, but the description adds meaning the schema lacks: the project may be any project the default token reaches, registered or not, extending beyond the schema's 'registered project name' wording.

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 (summarize) and resource (one project), then enumerates the exact return contents (file counts by kind, likely main document and section count, pending local work) and the intent (orient at task start). It is immediately distinguishable from read-oriented siblings like list_files and project_status.

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: use list_files for every path, list_sections for a document's outline, project_status for commit-level sync state, and this tool to orient at the start of a task. When-to-use and when-to-use-something-else are both stated.

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