Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Overleaf Web MCP

by mhmdaskariversion 0.9.0i★ –iRuns on your computer
Registry nameio.github.mhmdaskari/overleaf-web-mcp

Install

Overview

Description from the maker (original English)

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

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Other

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: OVERLEAF_BASE_URL, OVERLEAF_COOKIE_JAR_FILE, OVERLEAF_ALLOWED_PROJECTS, OVERLEAF_LOCAL_READ_ROOTS, OVERLEAF_LOCAL_WRITE_ROOTS, OVERLEAF_ALLOWED_EFFECTS

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "overleaf-web": {
      "command": "npx",
      "args": [
        "-y",
        "overleaf-web-mcp",
        "serve"
      ],
      "env": {
        "OVERLEAF_BASE_URL": "your-value",
        "OVERLEAF_COOKIE_JAR_FILE": "your-value",
        "OVERLEAF_ALLOWED_PROJECTS": "your-value",
        "OVERLEAF_LOCAL_READ_ROOTS": "your-value",
        "OVERLEAF_LOCAL_WRITE_ROOTS": "your-value",
        "OVERLEAF_ALLOWED_EFFECTS": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add overleaf-web --env OVERLEAF_BASE_URL=your-value --env OVERLEAF_COOKIE_JAR_FILE=your-value --env OVERLEAF_ALLOWED_PROJECTS=your-value --env OVERLEAF_LOCAL_READ_ROOTS=your-value --env OVERLEAF_LOCAL_WRITE_ROOTS=your-value --env OVERLEAF_ALLOWED_EFFECTS=your-value -- npx -y overleaf-web-mcp serve

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "overleaf-web": {
      "command": "npx",
      "args": [
        "-y",
        "overleaf-web-mcp",
        "serve"
      ],
      "env": {
        "OVERLEAF_BASE_URL": "your-value",
        "OVERLEAF_COOKIE_JAR_FILE": "your-value",
        "OVERLEAF_ALLOWED_PROJECTS": "your-value",
        "OVERLEAF_LOCAL_READ_ROOTS": "your-value",
        "OVERLEAF_LOCAL_WRITE_ROOTS": "your-value",
        "OVERLEAF_ALLOWED_EFFECTS": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "overleaf-web": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "overleaf-web-mcp",
        "serve"
      ],
      "env": {
        "OVERLEAF_BASE_URL": "your-value",
        "OVERLEAF_COOKIE_JAR_FILE": "your-value",
        "OVERLEAF_ALLOWED_PROJECTS": "your-value",
        "OVERLEAF_LOCAL_READ_ROOTS": "your-value",
        "OVERLEAF_LOCAL_WRITE_ROOTS": "your-value",
        "OVERLEAF_ALLOWED_EFFECTS": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • OVERLEAF_BASE_URL env
    Overleaf origin to use, for a self-hosted instance. Use the same value for login and serve.
  • OVERLEAF_COOKIE_JAR_FILE env
    Where the saved session is read from, if not the platform configuration directory.
  • OVERLEAF_ALLOWED_PROJECTS env
    Comma-separated project ids the server may touch. Unset allows every project.
  • OVERLEAF_LOCAL_READ_ROOTS env
    Absolute folders local reads must stay inside, separated by : (; on Windows). Unset allows any.
  • OVERLEAF_LOCAL_WRITE_ROOTS env
    Absolute folders local writes must stay inside, separated by : (; on Windows). Unset allows any.
  • OVERLEAF_ALLOWED_EFFECTS env
    Comma-separated kinds of change operations may make, such as overleaf-read. Unset allows all.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account mhmdaskari, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Otheri

  • More stars than 0% of the other 32680 servers in this category
  • Published to the registry more recently than 100% of the other 32680 servers in this category
  • Basic checks equal to or better than 100% of the other 32680 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Overleaf Web MCP safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.9.0) reached the registry today.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, EmbeddedCI BenchPod

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Spec Driven Development

by formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Runs on your computer★ 440MITUpdated 14 months ago
Install

Remote Desktop Commander

by desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Runs in the cloud★ 211Updated 2 days ago
Install

EmbeddedCI BenchPod

by embeddedci-com

Drive a BenchPod hardware-in-the-loop bench: power, flash, UART, I2C, CAN, analog and logic.

Runs on your computerUpdated today
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

Overleaf Web MCP

Read, edit, compile, and review your Overleaf projects, signed in as you, from Claude, Codex, Cursor, or any MCP client, or from a shell or a TypeScript program.

Docs · Get started · Command line · Tools · Safety · Compare · Changelog

Overleaf Web MCP is a Model Context Protocol server, the overleaf-web-mcp command line, and a TypeScript library, createOverleafClient from overleaf-web-mcp/core, all over one engine with the same safety checks. It signs in to Overleaf once through a browser window you control, then lets an AI assistant, a script, or your own program 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 and tracked changes. 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 cleanly, and where any errors are."
  • "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."
  • "Go through the tracked changes in main.tex with me, and accept the ones I approve."

Get started

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

[!NOTE]

The server uses Overleaf's private web APIs, which can change without notice, and automating www.overleaf.com may carry Terms-of-Service and account risk. Try it on a disposable project first and keep request volume low.

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).

npx overleaf-web-mcp login

2. Connect your MCP client. For Claude Code:

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

For Codex:

codex mcp add overleaf -- npx -y overleaf-web-mcp serve

Claude Desktop, Cursor, VS Code, and other clients

Add this to the client's MCP configuration:

{

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

VS Code uses a servers key and "type": "stdio" instead; the installation guide has the exact block for each client.

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.

Without an MCP client

Every tool is also a command, for scripts, CI jobs, and agents that work in a shell. After npx overleaf-web-mcp login:

npx overleaf-web-mcp projects list --query thesis

npx overleaf-web-mcp files read main.tex npx overleaf-web-mcp call get_sections --request request.json

Each command prints one JSON value on stdout, or one JSON error line on stderr, and its exit code says what is safe to do next: 0 complete, 1 failed, 2 fix the call, 3 not allowed, 4 read or plan again, 5 outcome unknown (never re-run it blindly), 6 partial, 7 retry later. Document text goes through a file or stdin, never the command line. The command line guide has every command and exit code. Three Agent Skills in skills/ use it to revise a manuscript, handle reviewer comments, and sync figures and sources.

From TypeScript, overleaf-web-mcp/core has one typed method per tool (TypeScript SDK):

import { createOverleafClient } from 'overleaf-web-mcp/core'

const client = await createOverleafClient() try { const file = await client.readFile({ projectId, filePath: 'main.tex' }) } finally { await client.close() }

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 get the errors and warnings from its log by file and line, with a clear yes or no on whether it built cleanly. Read the full log, save the PDF or any other output locally, or stop a running compile.
  • Review. List comment threads with their locations, reply, add a comment anchored to exact text, and resolve or reopen threads. List tracked changes with their authors and locations, and accept or reject them once you have confirmed which. Accepting or rejecting them needs a project whose owner's Overleaf plan includes track changes, and on self-hosted Overleaf an edition that includes it; otherwise the decision is refused with nothing changed.
  • Follow history. Poll recent project history with a version cursor to see who changed what.

Tools

33 tools in eight groups: account, project lifecycle, files, folder sync, sections, compilation, review, and history. Read-only tools change nothing on Overleaf and write nothing on your computer. Destructive tools can replace or remove existing content, and 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.

All 33 tools , with their annotations and local effects

An upload that would replace a file, and a folder sync without a planToken, are refused unless that replacement or unplanned sync is asked for by name. The last column shows which tools read or write files on the computer the server runs on. Every parameter and result is in the tool reference; each tool is also overleaf-web-mcp call and a method of createOverleafClient.

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 edit of only the changed wordsdestructivereads
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

| Files | batch_upload | Upload a list of local files to the pat

Only the beginning is shown; read the rest in the repo

Ask PopNx