The everything Overleaf MCP server — Git bridge, project sync, and LaTeX compile for Claude and any MCP client.
Give Claude, Cursor, and any MCP client real, read-write access to your Overleaf projects — pull and push files over the official Git bridge, compile LaTeX to PDF, parse the logs, check your refs, and ship the paper — all without leaving the chat. Four auto-detected capability tiers, from the paid Git token down to a free-tier experimental path. Open-source. One command.
npx -y @oscardvs/vibetexAdd to Cursor · Docs · Tools · Configuration
vibeTeX is an independent open-source project and is not affiliated with, endorsed by, or sponsored by Overleaf or Digital Science. "Overleaf" is used here only nominatively to describe interoperability.
| Client | Install |
|---|---|
| Claude Code | claude mcp add vibetex -e OVERLEAF_GIT_TOKEN=your_token -e OVERLEAF_PROJECT_ID=your_project_id -- npx -y @oscardvs/vibetex |
| Cursor | Add to Cursor · or paste the mcp.json snippet below |
| VS Code | paste the mcp.json snippet below into your MCP config |
| Claude Desktop (one-click) | download vibetex.dxt from the latest release → double-click |
| claude.ai (hosted, paid) | add a custom connector → https://mcp.vibetex.dev/mcp |
Cursor / VS Code — drop this into your MCP config (mcp.json):
Get your Git authentication token in Overleaf under Account Settings → Git Integration (a paid Overleaf feature). The project id is the 24-hex string in your project URL:
overleaf.com/project/<this>. No paid plan? See the free-tier tiers below — local compile needs no Overleaf account at all.
Other Overleaf MCP servers stop at one trick — read-only Git, or local-only compile, or nothing for free-tier users. vibeTeX does the whole loop: it pulls your real project, edits files, compiles to PDF, reads the error log back to your AI, and pushes the result — and it degrades gracefully across four capability tiers so everyone gets something, paid plan or not.
| vibeTeX | Git-only MCPs | Local-only MCPs | Editing by hand | |
|---|---|---|---|---|
| Read and write your real Overleaf project | ✅ | read-only | ❌ | ✅ (you) |
| Official Git bridge — full file + history access | ✅ | ✅ | ❌ | ❌ |
| Compile LaTeX → PDF + parsed error log | ✅ | ❌ | ✅ | manual |
| Ref / citation / lint / outline checks | ✅ | ❌ | varies | manual |
| Create a new project from generated LaTeX (no auth) | ✅ | ❌ | ❌ | copy-paste |
| Works for free-tier Overleaf users | ✅ (experimental) | ❌ | local only | ✅ (you) |
| Self-host free · Open-source (MIT) | ✅ | varies | varies | n/a |
26 agent-first tools, one npx |
✅ | partial | partial | n/a |
- Ship a paper without leaving the chat. "Pull my thesis, fix the undefined references in chapter 3, recompile, and push." — vibeTeX pulls over the Git bridge, edits the files, runs
latexmk, and pushes the commit back to Overleaf. - Compile and read the log.
latex_compilebuilds the PDF;latex_logreturns the parsed errors and warnings (file, line, message) so your AI can actually fix the build — not guess. - Catch problems before submission.
latex_check_refsfinds undefined\ref/\citeand duplicate labels;latex_lintflags common LaTeX smells;latex_outlinegives the document structure;latex_word_countcounts real words (not markup). - Draft, then hand off. Generate fresh LaTeX and
overleaf_create_projectopens it as a new Overleaf project via the official "Open in Overleaf" flow — no token required. - Inspect history and diffs.
overleaf_history,overleaf_status, andoverleaf_diffshow exactly what changed, so a review loop stays grounded in the real repository. - Flatten for submission.
latex_flatteninlines every\input/\include/\subfileinto one self-contained.tex— ready for arXiv or a single-file export. - Built for agents. 26 consolidated, well-described
overleaf_*/latex_*tools with structured output, namespaced and discoverable viaoverleaf_whoamiandlatex_search_tools.
vibeTeX auto-detects what your environment can do and exposes exactly those tools. Run overleaf_whoami to see which tiers are active.
- Git bridge (official · requires a paid Overleaf Git authentication token) — the robust core. Full read/write of every file plus history, over Overleaf's official Git integration. Set
OVERLEAF_GIT_TOKENandOVERLEAF_PROJECT_ID(orOVERLEAF_PROJECTSfor several). - Open in Overleaf (official · no auth) — one-way: create a new project from LaTeX you generated. Always available, nothing to configure.
- Local / CLSI compile (no premium needed) — compile to PDF and parse logs with your local
latexmk/tectonic/pdflatex, or pointVIBETEX_CLSI_URLat a self-hosted CLSI. Works with no Overleaf account at all. - Session cookie (unofficial · experimental · OFF by default) — the only way free-tier Overleaf users get list / pull / push / compile against their hosted projects. Best-effort, ToS-grey, and clearly labeled. You paste your own
overleaf_session2cookie (no passwords stored). Enable withVIBETEX_EXPERIMENTAL_SESSION=true+OVERLEAF_SESSION_COOKIE=….
The experimental session tier is unofficial and may break at any time. It exists so free-tier users aren't locked out. It is off by default; you opt in explicitly and supply your own cookie. Prefer the Git bridge (tier 1) whenever you have a paid Overleaf plan.
- Install — one
npxcommand (or the one-click.dxt). - Connect — paste your Overleaf Git token + project id (or just run a local TeX install for compile-only, no account).
- Ask — your AI can now pull, edit, compile, check, and push your Overleaf project.
vibeTeX speaks the official Overleaf Git bridge for read/write/history, runs LaTeX locally (or against a CLSI) for compile + log parsing, uses the no-auth Open in Overleaf flow to spawn new projects, and — only if you opt in — a best-effort session-cookie path for free-tier accounts. Each tier is detected at startup and reported by overleaf_whoami.
All configuration is via environment variables. The full authoritative list lives in src/config.ts; the essentials:
| Variable | Default | Purpose |
|---|---|---|
OVERLEAF_GIT_TOKEN |
— | Tier 1. Overleaf Git authentication token (paid feature). |
OVERLEAF_PROJECT_ID |
— | Default 24-hex project id. |
OVERLEAF_PROJECTS |
— | alias=projectId,… to register several projects. |
OVERLEAF_BASE_URL |
https://www.overleaf.com |
Overleaf web base (Server Pro: your site). |
OVERLEAF_GIT_BASE_URL |
https://git.overleaf.com |
Git bridge base (Server Pro: <site>/git). |
VIBETEX_EXPERIMENTAL_SESSION |
false |
Tier 4. Enable the unofficial session-cookie path. |
OVERLEAF_SESSION_COOKIE |
— | Your own overleaf_session2 cookie (tier 4 only). |
VIBETEX_COMPILE_ENGINE |
auto |
auto|latexmk|tectonic|pdflatex|xelatex|lualatex. |
VIBETEX_CLSI_URL |
— | Self-hosted CLSI base for remote compile (tier 3). |
VIBETEX_LATEX_TIMEOUT_SEC |
120 |
Hard cap on a single compile run. |
VIBETEX_READ_ONLY |
false |
Expose only read tools (recommended for public endpoints). |
VIBETEX_ALLOW_DELETE |
false |
Must be true to expose file deletion. |
VIBETEX_DATA_DIR |
OS data dir | Where cloned projects / compile workdirs live. |
Hosting a shared/remote instance (OAuth, rate limits, metrics)? See .env.example and the deployment docs.
26 tools, namespaced overleaf_* (project + sync) and latex_* (compile + quality). Discover them at runtime with latex_search_tools.
Discovery — overleaf_whoami · latex_search_tools
Project sync (Git bridge / session) — overleaf_list_projects · overleaf_pull · overleaf_status · overleaf_push · overleaf_diff · overleaf_history · overleaf_list_files · overleaf_read_file · overleaf_write_file · overleaf_edit_file · overleaf_delete_file · overleaf_create_project · overleaf_download_zip
Compile (local / CLSI / session) — latex_compile · latex_compile_plan · latex_log · latex_get_pdf
Quality — latex_outline · latex_check_refs · latex_lint · latex_format · latex_word_count · latex_bib · latex_flatten
📚 vibetex.dev — quickstart, the four tiers, every tool, and the self-host / deployment guide.
Self-host free, forever — clone, npx, done. The optional hosted remote MCP at mcp.vibetex.dev/mcp (so claude.ai web and other cloud clients can connect without running anything locally) is €30/year, pay once — a one-time license key with a 1-year expiry, no subscription.
Contributions of all kinds are welcome — see CONTRIBUTING.md and our CODE_OF_CONDUCT.md. Found a security issue? See SECURITY.md.
vibeTeX never stores your passwords. The Git token and (optional) session cookie you provide stay in your environment / local config. For public/remote deployments, run with VIBETEX_READ_ONLY=true and the OAuth layer enabled — see .env.example. Report vulnerabilities privately per SECURITY.md.
Built on the Model Context Protocol and the LaTeX toolchain (latexmk, tectonic, TeX Live). Interoperates with Overleaf via its official Git integration and "Open in Overleaf" flow.
vibeTeX is an independent open-source project and is not affiliated with, endorsed by, or sponsored by Overleaf or Digital Science. Overleaf® is a trademark of Digital Science.
MIT © 2026 Oscar Devos
{ "mcpServers": { "vibetex": { "command": "npx", "args": ["-y", "@oscardvs/vibetex"], "env": { "OVERLEAF_GIT_TOKEN": "your_overleaf_git_token", "OVERLEAF_PROJECT_ID": "your_24_hex_project_id" } } } }