MCP server: One MCP server.

Overleaf Web MCP

@mhmdaskariMCP server ยท External

Read, edit, compile, and review Overleaf projects through your own signed-in web session.

Academic writingv0.5.1MITTypeScript
Freeno charge per call

Runs on your machine from its package; the steps are below.

An MCP client connected through an authenticated web session to an Overleaf workspace for project files, LaTeX editing, compilation, and review replies
From the README

What it does

  1. Reads
  2. Writes
  3. High impact

Not assessed yet.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted โ€” your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

npmoverleaf-web-mcpv0.5.1

Run

npx -y overleaf-web-mcp

MCP client config

{
  "mcpServers": {
    "overleaf-web-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "overleaf-web-mcp"
      ]
    }
  }
}
README10 min read

Let Claude, Cursor, or any MCP client read, edit, compile, and review your Overleaf projects, signed in as you.

npm version Total npm downloads Node.js 20 or newer 29 MCP tools Documentation MIT license

An MCP client connected through an authenticated web session to an Overleaf workspace for project files, LaTeX editing, compilation, and review replies

Overleaf Web MCP is an unofficial Model Context Protocol server. It signs in to Overleaf once through a browser window you control, then lets an AI assistant work on your projects the way you would in the web editor: browse files, make revision-checked edits, optionally as tracked changes, compile, and handle review comments. It uses the same browser-facing endpoints the Overleaf editor uses, so no Git integration or premium plan is needed for the core workflow.

What you can say

Once connected, talk to your assistant in plain language. It picks the tools.

  • "Create a new project called Grant renewal from the folder I zipped, and make proposal.tex the root."
  • "List my Overleaf projects and open the one called Thesis."
  • "Rewrite the introduction of main.tex for a general audience, as a tracked change."
  • "Compile the paper and tell me whether it built."
  • "Which figures in ./figures differ from what's in the project? Upload only those."
  • "Make the project match ~/papers/thesis, and show me what would be deleted first."
  • "Summarize the open review comments and reply to the one about Table 2."

Caution

This client uses Overleaf's private, browser-facing APIs, which Overleaf may change without notice. Automating www.overleaf.com may carry Terms-of-Service and account risk. Start with a disposable project and keep request volume low.

Get started

You need Node.js 20 or newer, a Chrome-family browser (Chrome, Chromium, Brave, or Edge), and an Overleaf account.

1. Sign in once. A dedicated browser window opens. Complete the normal Overleaf login, including SSO or two-factor. Only cookies for the Overleaf origin are saved, to a file only your user can read. The session lasts five days from its last use, so sign in again after five idle days, or schedule npx overleaf-web-mcp keepalive daily to keep it alive (see configuration).

bash
npx overleaf-web-mcp login

2. Connect your MCP client. For Claude Code:

bash
claude mcp add overleaf --scope user -- npx -y overleaf-web-mcp serve

For Claude Desktop, Cursor, VS Code, and other clients, add this to their MCP configuration:

json
{
  "mcpServers": {
    "overleaf": {
      "command": "npx",
      "args": ["-y", "overleaf-web-mcp", "serve"]
    }
  }
}

3. Restart the client and ask it to check your Overleaf connection.

Client-by-client steps, self-hosted Overleaf, and troubleshooting, including the "failed to connect" you get when node is older than 20, are in the installation guide.

What it can do

  • Start and manage projects. Create a blank or example project, clone one, or import a zip; rename, trash, restore, or archive projects with the name confirmed first; set the root document, TeX engine, and TeX Live image so the web editor's Recompile follows.
  • Browse and organize. List and search projects, read the file tree with the configured root document and compiler, create folders and files, rename, move, upload one file or a list of them, download a file or the whole project as a zip, and delete with confirmation.
  • Sync a folder. Compare a local folder with the project without changing anything, then upload only what changed, and optionally delete what you removed locally, in one confirmed call. Changed text files go through the same revision-checked edits as a single write, so a collaborator's concurrent edit is never overwritten.
  • Write safely. Replace a whole document or a single section. Every edit is checked against the revision you read first, so a collaborator's concurrent change is reported instead of overwritten. Edits can be recorded as Overleaf tracked changes.
  • Work by section. Parse \section headings in a file, read one section, replace one section.
  • Compile. Build the project's configured root document, or any document you name, and stop a running compile.
  • Review. List comment threads with their locations, reply, add a comment anchored to exact text, and resolve or reopen threads.
  • Follow history. Poll recent project history with a version cursor to see who changed what.

Tools

All 29 tools, grouped as in the tool reference, which has every parameter and result. Read-only tools change nothing on Overleaf and write nothing on your computer. Destructive tools can replace or remove existing content. All but stop_compile need a value repeated back first: the path, name, or count of what they delete, the revision of the document they replace, the planToken of a folder sync, or overwrite for a file that exists. Until 0.6.0, an upload that replaces a file and a folder sync without a planToken still run without one and report a deprecation; from 0.6.0 they are refused. The last column shows which tools read or write files on the computer the server runs on.

GroupToolWhat it doesAnnotationLocal effect
Accountauth_statusVerify the saved session and report when it expiresread-only
Accountlist_projectsList and search projects, newest firstread-only
Project lifecyclecreate_projectCreate a blank or example project
Project lifecycleclone_projectCopy a project, files and settings included
Project lifecycleimport_project_zipCreate a project from a local .zip archivereads
Project lifecyclemanage_projectRename, trash, restore, archive, unarchive, or delete a projectdestructive
Project lifecycleupdate_project_settingsSet the root document, TeX engine, TeX Live image, or spell-check language
Filesget_project_treeRead the file tree with the project's compile settingsread-only
Filesread_fileRead a text document and its revisionread-only
Fileswrite_fileReplace a document with a revision-checked, minimal editdestructivereads
Filescreate_fileCreate a text document, optionally with content
Filesmanage_entityCreate a folder, or rename, move, or delete an entitydestructive
Filesupload_fileUpload a local file, replacing what is at that path when confirmeddestructivereads
Filesbatch_uploadUpload a list of local files to the paths given, creating missing foldersdestructivereads
Filesdownload_fileSave a document or binary file locallydestructivewrites
Filesdownload_project_zipSave the whole project locally as one zip archivedestructivewrites
Folder syncplan_syncCompare a local folder with the project and show what a sync would doread-onlyreads
Folder syncsync_directoryUpload what changed, and in mirror mode delete what is gone locallydestructivereads
Folder syncdelete_entitiesDelete several files or folders in one confirmed calldestructive
Sectionsget_sectionsParse the section headings of one fileread-only
Sectionsget_section_contentRead one section's bodyread-only
Sectionswrite_sectionReplace one section's body, revision-checkeddestructive
Compilationcompile_projectCompile the project
Compilationstop_compileStop the active compiledestructive
Reviewlist_commentsList review threads with their locationsread-only
Reviewreply_to_commentReply in an existing thread
Reviewadd_commentAdd a comment anchored to exact text
Reviewset_comment_statusResolve or reopen a threaddestructive
Historymonitor_project_historyPoll recent project history with a cursorread-only

How it keeps your project safe

  • Text edits require the revision from a prior read and fail with a conflict if the document changed underneath.
  • Tracked changes are opt-in and never silently downgraded to plain edits.
  • Deleting a file requires its path to be confirmed, deleting several requires their count, and trashing or deleting a project requires its name. Projects go to the trash first; permanent deletion only works from there. Downloads, including a whole-project zip, never overwrite a local file unless asked, and never write over the saved session.
  • A write that times out is observed, never resubmitted, so nothing is applied twice. The same holds for each file in a batch upload.
  • Given the planToken from plan_sync, a folder sync stops before changing anything if the project or the folder changed since the plan. Without one there is nothing to compare against, which 0.6.0 will refuse. It deletes only in mirror mode, only with the delete count confirmed, and never after a failed upload.
  • Optionally, you can limit which projects, which folders on your computer, and which kinds of change the server may touch (access policy). It keeps an assistant inside what you gave it; it is not a sandbox.
  • Your session cookie stays on your machine in a file only you can read, and is never returned by any tool.
  • While a project is open, up to 90 seconds after the last call, you may appear online to collaborators.

How it compares

The three most-starred Overleaf MCP servers and the two closest in design to this one, each checked against its own source code on 2026-09-22. They change often, so follow the links for their current state. โœ… supported, ๐ŸŸก partly (see the numbered notes), โŒ not supported.

This projectOverleafMCPolclioverleaf-mcp-serveroverleaf-mcp-rtnetique/overleaf-mcp
Connects throughWeb sessionGit bridgeWeb sessionGit bridgeWeb sessionWeb session
Tools2981942217
Works without Overleaf's paid Git integrationโœ…โŒโœ…โŒโœ…โœ…
Self-hosted Overleafโœ…โŒโœ…๐ŸŸกยนโœ…๐ŸŸกยฒ
List and search your projectsโœ…๐ŸŸกยณ๐ŸŸกโดโŒ๐ŸŸกโตโœ…
Returns a document's text to the assistantโœ…โœ…๐ŸŸกโถโœ…โœ…โœ…
Sends edits as collaborative OT operations, not whole filesโœ…โŒโŒโŒโœ…โœ…
Refuses an edit if the document changed since it was readโœ…๐ŸŸกโทโŒโŒโœ…๐ŸŸกโธ
Writes as tracked changes when askedโœ…โŒโŒโŒโŒโœ…
Accepts or rejects tracked changesโŒโŒโŒโŒโŒโœ…
Reads and replaces one \sectionโœ…โœ…โŒโŒโŒโŒ
Creates, renames, moves, and deletes files and foldersโœ…๐ŸŸกโน๐ŸŸกยนโฐ๐ŸŸกโนโœ…โŒ
Uploads and downloads binary filesโœ…โŒโœ…โŒโœ…๐ŸŸกยนยน
Compares a local folder with the projectโœ…โŒโœ…โŒโŒโŒ
Compiles on Overleafโœ…โŒโœ…โŒโœ…โœ…
Reads the compile log and errorsโŒโŒโŒโŒโœ…โœ…
Review comments: list, reply, add, resolveโœ…โŒโœ…โŒโœ…๐ŸŸกยนยฒ
Creates, clones, imports, archives, and deletes projectsโœ…โŒ๐ŸŸกยนยณโŒโŒโŒ
Saves the root document, compiler, and TeX Live imageโœ…โŒโŒโŒโŒโŒ
Reads project historyโœ…โŒโŒโŒ๐ŸŸกยนโดโŒ
Installs fromnpmnpmnpm, Homebrewsourcenpmnpm
LicenseMITMITMITMITAGPL-3.0AGPL-3.0
  1. Only where Overleaf's Git bridge exists, which on a self-hosted instance means Server Pro.
  2. Documented, but sign-in appears to require overleaf.com's overleaf_session2 cookie, which Community Edition does not set by default.
  3. Only the projects named in its own configuration.
  4. Lists projects without search, and leaves out archived and trashed ones.
  5. Lists projects, with no search or filter.
  6. Files are saved to the server's disk; no tool returns a document's text.
  7. Git rejects the push if Overleaf moved on after the tool's own pull, but an edit made between the assistant's read and that pull is overwritten.
  8. Only with strict_version: true; by default a concurrent edit is reported after the write.
  9. Creates files by writing them; no rename, move, or delete.
  10. Creates, renames, and deletes files and folders; no move.
  11. Downloads binary files; no upload.
  12. Lists, replies to, resolves, and reopens threads, but cannot add a comment.
  13. Creates and renames projects.
  14. Reports what collaborators changed during the session.

Documentation

PageWhat it covers
InstallClaude Code, Claude Desktop, Cursor, VS Code, self-hosted Overleaf, troubleshooting
Using itExample prompts and what happens underneath
Tool referenceAll 29 tools with parameters and results
Safety modelRevisions, tracked changes, confirmations, error codes
ConfigurationEnvironment variables, the access policy, proxies, where the session is stored, and keeping it alive
InternalsProtocol notes, reliability guarantees, related projects
Roadmap and ChangelogWhere this is going and what changed

For AI agents

The server sends usage instructions to the MCP client when it connects, and every tool description is self-contained, so an assistant does not need this README to use it correctly. Coding agents contributing to the repository should read AGENTS.md.

License

MIT.

Similar modules

Browse Academic writing