Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Overleaf MCP server for Claude, Codex, ChatGPT, and Cursor with safe LaTeX editing and review.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
OVERLEAF_GIT_TOKEN, OVERLEAF_PROJECT_ID, OVERLEAF_SESSION_COOKIEValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Download the maker’s .mcpb file
The link goes to the maker’s own file; we do not host or repackage it. Open the file and Claude Desktop installs it.
Run this in your terminal
claude mcp add overleaf --env OVERLEAF_GIT_TOKEN=your-value --env OVERLEAF_PROJECT_ID=your-value --env OVERLEAF_SESSION_COOKIE=your-value -- npx -y mcp-server-overleaf --stdioFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"overleaf": {
"command": "npx",
"args": [
"-y",
"mcp-server-overleaf",
"--stdio"
],
"env": {
"OVERLEAF_GIT_TOKEN": "your-value",
"OVERLEAF_PROJECT_ID": "your-value",
"OVERLEAF_SESSION_COOKIE": "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.
Paste into .vscode/mcp.json in your project
{
"servers": {
"overleaf": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-server-overleaf",
"--stdio"
],
"env": {
"OVERLEAF_GIT_TOKEN": "your-value",
"OVERLEAF_PROJECT_ID": "your-value",
"OVERLEAF_SESSION_COOKIE": "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.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
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
The registry name was verified with the GitHub account yangzichao, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
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.
You need to fill in: OVERLEAF_GIT_TOKEN, OVERLEAF_PROJECT_ID, OVERLEAF_SESSION_COOKIE
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).
The GitHub repo last changed –, and the latest version (0.3.9) reached the registry 23 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js, MCPB on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Signoff
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
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Five gates that make an agent's 'done' provable: run them, read the verdict, audit the record.
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.
Connect Claude Code, Claude Desktop, Codex, ChatGPT, Cursor, VS Code, or any MCP client to Overleaf. Read, search, edit, compile, and review real LaTeX projects without copy-pasting your paper into a chat window.
npx --yes mcp-server-overleaf@0.3.9 setup
Edits stay in a local clone until you explicitly publish them. Before every read and every push, this Overleaf MCP server checks what your collaborators changed. If both of you touch the same lines, it stops the push and shows both versions instead of choosing a winner.
With an optional Overleaf session cookie, edits can also arrive as tracked-change suggestions for co-authors to accept or reject, and the existing review panel becomes readable. A plain Git push cannot express either.
[Download the one-click Claude Desktop bundle](https://github.com/yangzichao/mcp-server-overleaf/releases/latest/download/mcp-server-overleaf.mcpb) or use the setup command above for Claude Code, Codex, Cursor, and other local AI clients.
Independent community project; not affiliated with or endorsed by Overleaf.
Several Overleaf MCP servers exist. Of the ones built on Overleaf's official Git bridge, this is the most complete, and it is the only one that stops instead of overwriting when a co-author has already changed the lines you are editing.
push_changes refuses and shows you both versions.Related projects compares the alternatives tool by tool, and is equally direct about the things this server cannot do.
Common workflows include revising an academic paper by section, searching a large LaTeX project, checking a bibliography, compiling before publication, reviewing the exact diff, and sending an edit to Overleaf as a tracked suggestion.
Every route below reaches the same server and the same 18 tools, and every one of them keeps edits local until an explicit push. Pick the row for your client. The three tracked-changes tools are extra, and appear only once a session cookie is configured.
| Client | How to install it |
|---|---|
| Claude Desktop | Download the bundle and double-click it. One click |
| Claude Code | Add this repository as a plugin marketplace. Two commands |
| Codex CLI, desktop, and IDE extension | The same, with the Codex commands. Two commands |
| Cursor | npx --yes mcp-server-overleaf setup. One command |
| Visual Studio Code | A .vscode/mcp.json entry. Guide |
| ChatGPT on the web and desktop | An outbound-only Secure MCP Tunnel, no public endpoint and no open port. Guide |
| A catalogue that reads the MCP registry | Already listed as io.github.yangzichao/mcp-server-overleaf. Details |
| Any other MCP client | npx --yes mcp-server-overleaf --stdio, or Streamable HTTP. By hand |
| A machine you are developing on | A source checkout. From source |
Claude Desktop takes a packaged bundle; Claude Code and Codex each take a plugin. Everywhere else setup does the equivalent. All four routes end the same way: the token is verified against Overleaf, written to one file at mode 600, and no client configuration holds the secret.
.mcpb extension: what is inside it, how to build it, and how to remove it.An MCP server exposing 18 tools over stdio or Streamable HTTP, plus 3 more when a session cookie turns on tracked changes. One core, two transports; the tool implementations are identical and only the framing differs. setup connects it to the AI clients on this computer and is the only command most people need.
Requires Node 22.14+ and git on PATH; Node 24 LTS is recommended. compile_project additionally needs latexmk and a TeX distribution; every other tool works without them.
The release test matrix covers macOS and Linux. Windows Git and TeX workflows are not yet validated. This server is a command-line application, not an importable JavaScript library.
Git integration has to be available for the project. Overleaf documents it as a premium feature gated on the project owner's subscription, so a free account invited to a project owned by someone with a subscription can still use it, and that subscription can be individual, group, or institutional. Do not tell a user their own plan disqualifies them. Verify it directly in step 3 instead.
Download [mcp-server-overleaf.mcpb](https://github.com/yangzichao/mcp-server-overleaf/releases/latest/download/mcp-server-overleaf.mcpb) and double-click it. Claude Desktop opens an install panel, asks for the two values below, and starts the server itself. No terminal, no Node installation, no build.
The bundle carries the same server npm publishes, with its locked runtime dependencies and nothing else. It is macOS and Windows only, because that is where Claude Desktop runs. For any other client, use the command below. Details in Install the Claude Desktop bundle.
Store the token once:
npx --yes mcp-server-overleaf@0.3.9 setup --clients none
Then, in Claude Code:
claude plugin marketplace add yangzichao/mcp-server-overleaf
claude plugin install overleaf@mcp-server-overleaf
Or in Codex:
codex plugin marketplace add yangzichao/mcp-server-overleaf
codex plugin add overleaf@mcp-server-overleaf
Restart the client, then ask it to list the files in your project.
Until this local MCP server is accepted into a public directory, both clients install it from this repository's marketplace: Claude Code reads .claude-plugin/marketplace.json and Codex reads .agents/plugins/marketplace.json, and both point at the same plugins/overleaf directory. That plugin holds no token and sets no environment variable, because the first command writes the token to ~/.config/overleaf-mcp/projects.json and the server finds it there. Public directory review is separate from this repository-based installation. Details in Install the Claude Code and Codex plugins.
npx --yes mcp-server-overleaf@0.3.9 setup
It checks Node and git, asks for the project and a token, proves the token reaches Overleaf before writing anything, and registers the server with the clients it finds on this computer: Claude Code, Codex, Claude Desktop and Cursor. A failed run leaves no half-configuration behind, because nothing is written until Overleaf accepts the token.
Two things are needed, both from the browser:
The token is written to ~/.config/overleaf-mcp/projects.json at mode 600 and nowhere else. The server finds that file on its own, so no client configuration holds the secret, a path to it, or any environment variable. Clients are registered with an absolute Node path and an absolute entry point rather than npx, because a desktop application starts with a much smaller PATH than a terminal.
Restart Claude Desktop, Cursor, or Codex afterwards; Claude Code picks it up on the next run. Then ask the assistant to list the files in the project.
Setup can also run unattended:
printf '%s' "$OVERLEAF_TOKEN" | npx --yes mcp-server-overleaf@0.3.9 setup \
--project paper=https://www.overleaf.com/project/64a1b2c3d4e5f6a7b8c9d0e1 \ --token-stdin --yes
--clients claude-code,codex limits which clients are touched, and --clients none writes the configuration without registering anything. Run it again to add another project or to replace an expired token; the previous file is kept alongside it.
The server is listed in the official Model Context Protocol registry as io.github.yangzichao/mcp-server-overleaf. The listing names the npm package and the Claude Desktop bundle, and clients and catalogues that read the registry pick it up from there. The release workflow publishes the listing
Only the beginning is shown; read the rest in the repo