Skip to content

oscardvs/vibetex

🔶 vibeTeX

Overleaf and LaTeX, inside every AI conversation.

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.

npm npm downloads License: MIT MCP CI

npx -y @oscardvs/vibetex

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


Install in 30 seconds

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

{
  "mcpServers": {
    "vibetex": {
      "command": "npx",
      "args": ["-y", "@oscardvs/vibetex"],
      "env": {
        "OVERLEAF_GIT_TOKEN": "your_overleaf_git_token",
        "OVERLEAF_PROJECT_ID": "your_24_hex_project_id"
      }
    }
  }
}

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.


Why vibeTeX?

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

What you can do

  • 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_compile builds the PDF; latex_log returns the parsed errors and warnings (file, line, message) so your AI can actually fix the build — not guess.
  • Catch problems before submission. latex_check_refs finds undefined \ref/\cite and duplicate labels; latex_lint flags common LaTeX smells; latex_outline gives the document structure; latex_word_count counts real words (not markup).
  • Draft, then hand off. Generate fresh LaTeX and overleaf_create_project opens it as a new Overleaf project via the official "Open in Overleaf" flow — no token required.
  • Inspect history and diffs. overleaf_history, overleaf_status, and overleaf_diff show exactly what changed, so a review loop stays grounded in the real repository.
  • Flatten for submission. latex_flatten inlines every \input/\include/\subfile into 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 via overleaf_whoami and latex_search_tools.

The four capability tiers

vibeTeX auto-detects what your environment can do and exposes exactly those tools. Run overleaf_whoami to see which tiers are active.

  1. 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_TOKEN and OVERLEAF_PROJECT_ID (or OVERLEAF_PROJECTS for several).
  2. Open in Overleaf (official · no auth) — one-way: create a new project from LaTeX you generated. Always available, nothing to configure.
  3. Local / CLSI compile (no premium needed) — compile to PDF and parse logs with your local latexmk / tectonic / pdflatex, or point VIBETEX_CLSI_URL at a self-hosted CLSI. Works with no Overleaf account at all.
  4. 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_session2 cookie (no passwords stored). Enable with VIBETEX_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.

How it works

  1. Install — one npx command (or the one-click .dxt).
  2. Connect — paste your Overleaf Git token + project id (or just run a local TeX install for compile-only, no account).
  3. 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.

Configuration

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.

Tools reference

26 tools, namespaced overleaf_* (project + sync) and latex_* (compile + quality). Discover them at runtime with latex_search_tools.

Discoveryoverleaf_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

Qualitylatex_outline · latex_check_refs · latex_lint · latex_format · latex_word_count · latex_bib · latex_flatten

Documentation

📚 vibetex.dev — quickstart, the four tiers, every tool, and the self-host / deployment guide.

Pricing

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.

Contributing

Contributions of all kinds are welcome — see CONTRIBUTING.md and our CODE_OF_CONDUCT.md. Found a security issue? See SECURITY.md.

Security

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.

Acknowledgements

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

About

The everything Overleaf MCP server — Git bridge, project sync, and LaTeX compile for Claude and any MCP client.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages