overleaf-connect
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OVERLEAF_SESSION | Yes | Your Overleaf session cookie, used as a seed for authentication. The server will automatically refresh and store the session after requests. | |
| OVERLEAF_HOME_DIR | No | Directory that holds session.json | |
| OVERLEAF_CACHE_DIR | No | Compiled-PDF cache directory | |
| OVERLEAF_OUTPUT_DIR | No | Allowed download_pdf destination root (default: ~/Downloads/overleaf-connect, or ~/Documents/overleaf-connect, else ~/overleaf-connect) | |
| OVERLEAF_SESSION_FILE | No | Exact session.json path |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| statusA | Check whether OVERLEAF_SESSION is set and still a valid Overleaf login. |
| list_projectsA | List Overleaf projects (id, name, owner email, last updated). |
| create_projectA | Create a new blank Overleaf project. Returns id and editor URL. |
| duplicate_projectA | Duplicate an Overleaf project. Returns the new id and editor URL. |
| list_filesA | List file and folder paths in an Overleaf project. |
| read_fileA | Read a text file from an Overleaf project. Files over 100000 characters are truncated unless full=True, and the response sets truncated=true. write_file refuses to replace a file that was only read in part, because the unseen tail would be lost. |
| write_fileA | Create or replace a text file. Missing folders are created. Refuses to overwrite a file that changed since the last read_file, or that was only read in part, unless force=True. |
| edit_fileA | Replace an exact substring in a project file and upload the result. Fails if old is missing, or if it appears more than once and replace_all is false. Prefer this over write_file for a paragraph or sentence change. |
| trash_projectA | Move an Overleaf project to trash. Recoverable from the Overleaf dashboard. |
| download_pdfA | Compile the project and copy the PDF to dest. If dest ends with .pdf it is the file path; otherwise dest is treated as a directory. |
| compile_projectA | Compile the project on Overleaf and save output.pdf locally. Returns status, local pdf_path on success, and parsed LaTeX errors. |
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 11 tools
Most tools are clearly distinct, but compile_project and download_pdf both trigger a compile and produce a PDF, differing mainly in the output destination. This overlap could cause occasional confusion.
The naming pattern is largely consistent with snake_case verb_noun (list_projects, create_project, read_file, download_pdf), except 'status' stands out as a noun-only command. Overall the convention is clear and predictable.
With 11 tools, the surface is well-scoped for an Overleaf integration covering projects, files, compilation, and PDF download. It is neither too sparse nor overloaded.
Core workflows are covered: project listing/creation/duplication/trash, file read/write/edit, and compile/download. Minor gaps exist such as project renaming, file deletion, or folder management, but these are not essential for typical use.