tex-mcp-web
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
tex-mcp-web
Review a LaTeX paper from its rendered PDF, on a desktop, tablet, or phone, while Claude Code or Codex edits the source.
Select words in the PDF, or draw a box over part of a figure, and write what should change. Press Call agent, the bell above the comments, when they are ready. The agent edits the source, compiles, and answers in the thread, at times with a wording to apply. The keys at the bottom right are the ones pressed.
⭐ If this helps your writing, please give it a star. It helps others find the project.
Quick start
Paste this into Claude Code or Codex, and start the agent again once it is done:
Install tex-mcp-web by following https://raw.githubusercontent.com/MiiKiyoshi/tex-mcp-web/main/INSTALL.mdThe agent checks for Python 3.10 or newer and
latexmk, shows where it will install and which agents it will register with, and installs once you agree.Start the agent in the paper's folder and say
do tex init. It finds the main.texfile and a free port, shows you the settings, and writes.tex-mcp-web.yamlonce you agree.Open
http://localhost:<port>. The agent acts when you press Call agent. With the plugin the install adds, a Claude Code session started in the paper's folder waits for that press by itself. In Codex, or in an older Claude Code that does not support plugin monitors, saydo tex listenfirst, and again after the agent restarts.
Related MCP server: overleaf-mcp
Point at what words cannot
For a figure, a table or a page's layout, take the box tool beside pan and pointer in the PDF's toolbar, draw a box over it, and say what is wrong. The agent works from the box as from any comment.
Answer your co-authors' Overleaf comments, with the agent
Press Connect Overleaf in the top bar and paste the project's link. Its comment threads come into a tab of their own, Comments with a leaf, beside the comments you write here. In a thread you talk with the agent, which drafts the reply for Overleaf under it, and you send that reply once it reads right.
Your talk with the agent stays on the page, in the thread between your co-authors' messages, so the whole exchange reads in order. Overleaf gets only the replies you send.
Keeping the paper's files in step with Overleaf, by git, by hand or live, is in Working with Overleaf.
Raise a point with your co-authors on Overleaf
Ask the agent, in a note or in any thread, to put a question to your co-authors. It drafts a new thread on the lines in question, which waits in the leaf Comments tab under new thread. Edit it there and send it, and it opens on Overleaf on those lines.
Go through the comments by keyboard
The comment list goes by keys, as a notebook's cells do, and the editor has Vim keys. A ring
marks the comment the keys act on, and the list moves under it, so the eye stays put. K goes
between a comment and its words in the source, both ways.
Key | Does |
| Next and previous comment |
Space | Open the comment and show its words |
| Into the source at its words, and |
| Reply to the agent |
| Resolve |
| Apply the suggestion |
| Send the reply to Overleaf |
| Every key |
Keys that change the file, post to Overleaf or delete are pressed twice. Once you move by keys, the ringed comment's buttons show their letters. Every key, and the editor's Vim keys, are in Reviewing in detail.
Review on a tablet or phone
The page is served where the agent runs. From a phone, forward its port over SSH from that
machine, with Termux on Android or Termius on iOS, then open http://localhost:<port> in the
phone's browser:
ssh -L <port>:localhost:<port> <the machine the agent runs on>In Termius the same forward is a Local rule in its Port Forwarding screen.
Writes by your rules, in your field's terms
Rules told to an agent in conversation do not last. After its context is compacted a few times it writes as if never told, and what Claude Code remembers for one paper's folder does not reach the next paper in the same field. Kept in files, your writing rules and your field's terms serve every paper that names them, and in Claude Code the agent cannot use tex-mcp's tools until it has read them, again after every compaction (Codex does not hold the tools back like this yet).
Write the rules you hold a paper to in a GUIDELINE.md, in a folder of its own under
~/.config/tex-mcp-web/guidelines/, and set guideline to the folder's name. A guideline can
build on another, so the rules for every paper and those of one field stay apart:
~/.config/tex-mcp-web/guidelines/
├── plain-writing/GUIDELINE.md rules for every paper
└── my-field/GUIDELINE.md a field's own, opening with the lines below---
extends: plain-writing
---With guideline: my-field, the agent reads plain-writing first and my-field after it.
Left alone, an agent also describes a concept in words of its own where the papers of your
field use one term. Convert the papers yours builds on to Markdown with
marker, keep them in one folder, and set references
to it.
Configuration
do tex init writes .tex-mcp-web.yaml at the paper's root:
main: main.tex
watch:
- '*.tex'
- '*.bib'
ignore:
- '*_backup.tex'
compiler: auto
port: 8765
guideline: my-field
translation:
language: Korean
instructions: Keep cell names in English.
overleaf: https://www.overleaf.com/project/0123456789abcdef01234567Every field is in Configuration.
See also
html-mcp-web reviews an AI agent's HTML slides or report the same way and hands finished slides over as an editable PowerPoint deck.
Acknowledgements
tex-mcp-web is a hard fork of queelius/scholia at commit e6c7454 (version 0.6.1), independently developed since under the MIT license. See LICENSE. PDF viewing uses EmbedPDF and its PDFium WebAssembly engine, whose notices are in tex_mcp_web/static/embedpdf/LICENSE and tex_mcp_web/static/embedpdf/LICENSE.pdfium. The bundled viewer differs from its release only in its zoom gesture, described in Reviewing in detail. Source highlighting and completion use Ace Editor builds 1.44.0 under the BSD-3-Clause license, and its notice is in tex_mcp_web/static/ace/LICENSE.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Zotero MCP server for Claude and ChatGPT: search, citations, safe writes, PDF passages and pages.
Shared memory MCP server for Claude Code, Codex, Gemini CLI and Cursor. Cited, editable.
Hosted MCP server: convert PDFs to clean, LLM-ready Markdown with tables, formulas and OCR.
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server that allows Claude AI to search, explore, and compare arXiv papers efficiently through a custom-built local server.419MIT
- AlicenseAqualityCmaintenanceAn MCP server for Overleaf that allows Claude or other agents to navigate projects, read and edit .tex files, compile, and interact with review-panel comments via Overleaf's real-time Socket.IO API, with seamless support for tracked changes as pending suggestions.1775 npm8AGPL 3.0
- AlicenseNot gradedqualityBmaintenanceA real-time MCP server that enables AI coding agents to read, write, and compile LaTeX projects in self-hosted Overleaf instances via native OT protocol.97 npm13AGPL 3.0
- AlicenseAqualityDmaintenanceAn MCP server that exposes LaTeX compilation, log parsing, dependency inspection, and citation checking as tools for AI agents, using latexmk under the hood.1124 npm1MIT