overleaf-claude-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GPTZERO_API_KEY | No | Enables the GPTZero detector. | |
| SAPLING_API_KEY | No | Enables the Sapling detector. | |
| OVERLEAF_BASE_URL | No | Base URL for Overleaf; point at a self-hosted instance. | https://www.overleaf.com |
| OVERLEAF_HOME_DIR | No | Where the session and selection live. | ~/.overleaf-claude-mcp |
| OVERLEAF_TREE_TTL_MS | No | File tree cache lifetime. | 15000 |
| OVERLEAF_SESSION_FILE | No | Path to the session file. | $OVERLEAF_HOME_DIR/session.json |
| OVERLEAF_COMPILE_TTL_MS | No | How long a compile result is reused before recompiling. | 120000 |
| OVERLEAF_DETECT_BROWSER | No | Playwright engine: chromium, firefox or webkit. | chromium |
| OVERLEAF_DOC_GREP_LIMIT | No | Above this many docs, grep uses the archive. | 40 |
| OVERLEAF_MAX_READ_CHARS | No | Point at which overleaf_read_file returns an outline instead. | 60000 |
| OVERLEAF_DETECT_HEADLESS | No | Set false to watch the detector pages being driven. | true |
| OVERLEAF_DETECT_MIN_CHARS | No | Least prose a check will accept. | 200 |
| OVERLEAF_LOGIN_TIMEOUT_MS | No | How long the login window waits. | 600000 |
| OVERLEAF_DETECT_TIMEOUT_MS | No | How long one detector or page is given to answer. | 90000 |
| OVERLEAF_SOCKET_TIMEOUT_MS | No | Socket timeout in milliseconds. | 20000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| overleaf_list_projectsB | List projects on the signed-in Overleaf account. |
| overleaf_select_projectA | Choose the project every other tool works on. Accepts a project id or part of a project name. |
| overleaf_current_projectA | Report which Overleaf project is currently selected. |
| overleaf_list_filesC | List every file and folder in the project. |
| overleaf_read_fileA | Read a LaTeX or other text file. Long files are truncated; use startLine and endLine to page through them. |
| overleaf_read_imageA | Fetch an image from the project so it can be viewed directly. |
| overleaf_download_fileC | Save any project file, including PDFs and images, to a local path. |
| overleaf_grepA | Regex search across every text file in the project. |
| overleaf_write_fileA | Create or overwrite a text file in the project. Missing parent folders are created. |
| overleaf_edit_fileC | Replace an exact string inside a project file. |
| overleaf_upload_fileB | Upload a local file, such as a figure, into the project. |
| overleaf_create_folderC | Create a folder, including any missing parents. |
| overleaf_renameB | Rename a file or folder in place. |
| overleaf_moveB | Move a file or folder into another folder. |
| overleaf_deleteB | Delete a file or folder from the project. Requires confirm to be true. |
| overleaf_compileB | Run a server-side LaTeX compile and report status plus output files. |
| overleaf_compile_logB | Compile the project and return parsed LaTeX errors and warnings. |
| overleaf_download_pdfA | Compile the project and save the resulting PDF locally. |
| overleaf_word_countC | Return the compiled word count for the project. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 19 tools
Most tools have distinct purposes (listing, reading, writing, compiling), but the three compile-related tools (overleaf_compile, overleaf_compile_log, overleaf_download_pdf) overlap in that they all trigger a compile, differing only in output handling. Similarly, read_file/read_image/download_file are distinct but share a 'get content' theme, though descriptions clarify their intended use.
All tools share the overleaf_ prefix and most follow a clear verb_noun pattern (e.g., list_projects, write_file, create_folder). Minor deviations exist: overleaf_current_project uses an adjective, overleaf_grep is just a verb, and overleaf_compile_log compounds nouns, but the overall style remains coherent and predictable.
With 19 tools, the set is slightly above the ideal 3-15 range but remains well-scoped for Overleaf's functionality, covering project selection, file operations, compilation, and reporting. Each tool adds value for typical LaTeX workflows, so the count feels justified rather than bloated.
The toolset covers the core workflow of selecting a project, editing files, uploading/downloading, and compiling with log and PDF output. Obvious gaps include lack of project creation or deletion (only listing/selecting existing projects), which may limit full lifecycle management but is not fatal for editing-focused use.