create_projectLABSCO SUMMARY
Edit the paper where it lives.
Because it parses the document into chapters and sections, a request to rewrite the methods section lands in the right place instead of becoming a whole-file rewrite — and the change is committed and pushed to Overleaf immediately.
What it is
An MCP server for Overleaf LaTeX projects. It syncs through Overleaf's Git integration into a local cache, parses the document's structure, and commits and pushes every write straight back to the project.
What you get
- Files listed with an optional extension filter, and read, across several configured projects
- LaTeX structure parsed into chapters, sections and subsections
- A named section read or updated on its own
- Surgical edits that replace one string, or a whole-file rewrite
- New files, and whole new projects from LaTeX content or a ZIP
- Git commit history and diffs between versions
- Files deleted, and the latest changes pulled from Overleaf
Requirements
Python 3.10 or newer, Git, and an Overleaf account on a paid plan, since everything runs over Overleaf's Git integration. Each project needs its project ID from the URL and a Git token.
Setup effort
Build from source — git clone https://github.com/tamirSida/overleaf_MCP.git
USE CASES
Rewriting one section of a paper
Update the section by its title and leave the rest of the file untouched.
Making a precise correction
Replace a single string in place rather than regenerating the file around it.
Finding out what changed since yesterday
Read the commit history, then diff two versions of the project.
Adding a new chapter file
Create the file inside an existing project; the write commits and pushes on its own.
Starting a paper from material you already have
Create a new Overleaf project from LaTeX content or a ZIP.
Picking up a co-author's latest edits
Pull the current state from Overleaf before reading or writing anything.
14 tools
Listed in project docs. Your client may show a different list.
create_filelist_projectslist_filesread_fileget_sectionsget_section_contentlist_historyget_diffedit_filerewrite_fileupdate_sectionsync_projectdelete_fileBEFORE YOU INSTALL
What to know first
Tools you get
14 tools named in the project's documentation. Write tools push to your live Overleaf project immediately. Overleaf Git integration requires a paid plan, so on the free tier none of the tools work.
Requires
- Python 3.10+
- OVERLEAF_GIT_TOKEN in your environment
- OVERLEAF_PROJECT_ID in your environment
Where it runs
Both documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/tamirSida/overleaf_MCP.git
cd overleaf_MCP
python3 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -e .Or: uv venv; source .venv/bin/activate; uv pip install -e .
Create overleaf_config.json in the project directory with your projectId and gitToken (or export OVERLEAF_PROJECT_ID / OVERLEAF_GIT_TOKEN)
Add the mcpServers block to claude_desktop_config.json and restart Claude Desktop
MCP Clients
Claude Desktop, Claude Code
{
"mcpServers": {
"overleaf": {
"command": "<YOUR_PATH_TO_OVERLEAF_MCP>/.venv/bin/python",
"args": [
"-m",
"overleaf_mcp.server"
],
"cwd": "<YOUR_PATH_TO_OVERLEAF_MCP>",
"env": {
"OVERLEAF_CONFIG_FILE": "<YOUR_PATH_TO_OVERLEAF_MCP>/overleaf_config.json",
"OVERLEAF_TEMP_DIR": "<YOUR_PATH_TO_OVERLEAF_MCP>/overleaf_cache"
}
}
}
}The configuration on this page does not set OVERLEAF_GIT_TOKEN and OVERLEAF_PROJECT_ID; the project's instructions set them with an export line. An app opened from its icon or dock does not see variables exported in a terminal, so to supply them, use the block's "env" section.