MCP server that lets AI assistants read Overleaf projects, parse LaTeX document structure, and push section-level edits back via Git.
MCP server that lets AI assistants read Overleaf projects, parse LaTeX document structure, and push section-level edits back via Git. That is what the overleafmcp mcp server brings to an AI assistant: the same capability, reachable through the Model Context Protocol rather than a separate app or dashboard.
An MCP (Model Context Protocol) server that provides access to Overleaf projects via Git integration. This allows Claude and other MCP clients to read LaTeX files, analyze document structure, extract content, and write files from and to Overleaf projects.
The server publishes 8 tools. What each one is for:
list_projects — The list_projects tool exposed by this serverlist_files — List files in a project (default: .tex files). - extension: File extension filter (optional) - projectName: Project identifier (optional, defaults toread_file — Read a specific file from the project. - filePath: Path to the file (required) - projectName: Project identifier (optional)get_sections — Get all sections from a LaTeX file. - filePath: Path to the LaTeX file (required) - projectName: Project identifier (optional)get_section_content — Get content of a specific section. - filePath: Path to the LaTeX file (required) - sectionTitle: Title of the section (required) - projectNamestatus_summary — Get a comprehensive project status summary. - projectName: Project identifier (optional)write_file — Write the full content of a file to the project. - filePath: Path to the file (required) - content: Content to write to the file (required) -write_section — Write the content of a specific section to the project. - filePath: Path to the file (required) - sectionTitle: Title of the section (required) -Configuration is passed through the environment: OVERLEAF_PROJECT_ID, OVERLEAF_GIT_TOKEN, YOUR_OVERLEAF_PROJECT_ID, YOUR_OVERLEAF_GIT_TOKEN, PROJECT_ID. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.
Setup follows the usual MCP pattern — install or clone the server, register it in your client's configuration file, restart the client. The configuration blocks on this page cover the common clients.
This sits in the developer tooling group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. OverleafMCP's toolset — list_projects, list_files, read_file and 5 more — is a fair guide to whether it matches your workflow. It is maintained by mjyoo2; worth a glance at recent repository activity before you build anything load-bearing on it.
We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.
| Tool | What it does |
|---|---|
| list_projects | The list_projects tool exposed by this server. |
| list_files | List files in a project (default: .tex files). - extension: File extension filter (optional) - projectName: Project identifier (optional, defaults to "default") |
| read_file | Read a specific file from the project. - filePath: Path to the file (required) - projectName: Project identifier (optional) |
| get_sections | Get all sections from a LaTeX file. - filePath: Path to the LaTeX file (required) - projectName: Project identifier (optional) |
| get_section_content | Get content of a specific section. - filePath: Path to the LaTeX file (required) - sectionTitle: Title of the section (required) - projectName: Project identifier (optional) |
| status_summary | Get a comprehensive project status summary. - projectName: Project identifier (optional) |
| write_file | Write the full content of a file to the project. - filePath: Path to the file (required) - content: Content to write to the file (required) - commitMessage: Commit message (required) - projectName: Project identifier (op |
| write_section | Write the content of a specific section to the project. - filePath: Path to the file (required) - sectionTitle: Title of the section (required) - newContent: Replacement content for the section, including the section hea |
{
"mcpServers": {
"overleaf": {
"command": "npx",
"args": ["-y", "@mjyoo2/overleaf-mcp"],
"env": {
"OVERLEAF_PROJECT_ID": "YOUR_OVERLEAF_PROJECT_ID",
"OVERLEAF_GIT_TOKEN": "YOUR_OVERLEAF_GIT_TOKEN"
}
}
}
}Configuration as documented by the project. Restart the client after saving.
| Variable | Description | Required |
|---|---|---|
| OVERLEAF_PROJECT_ID | Configuration value read at startup. | Optional |
| OVERLEAF_GIT_TOKEN | Credential the server authenticates with. | Yes |
| YOUR_OVERLEAF_PROJECT_ID | Configuration value read at startup. | Optional |
| YOUR_OVERLEAF_GIT_TOKEN | Credential the server authenticates with. | Yes |
| PROJECT_ID | Configuration value read at startup. | Optional |
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
GitHub's official server — repos, issues, pull requests, Actions and code security, straight from your assistant.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Local repository surgery — status, diffs, commits, branches and history for any repo on disk.
Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.