关于 Overleaf Web MCP
Overleaf Web MCP 通过账户持有人登录的浏览器会话,让 AI 助手操作 Overleaf 项目。它支持带版本检查的编辑、编译、文件同步和审阅评论,无需依赖 Git 集成。
主要功能
- 01管理项目与设置
- 02浏览、编辑和同步文件
- 03带版本检查的编辑与修订标记
- 04编译文档并查看日志
- 05管理审阅评论与历史
适用场景
- 01编辑论文并避免覆盖协作者修改
- 02编译项目并定位错误
- 03将本地论文文件夹同步到 Overleaf
- 04查看并回复项目评论
MCP 相关
该 MCP 服务提供账户状态、项目与文件管理、编辑、编译、审阅及历史记录工具。它通过账户持有人控制的浏览器会话进行身份验证。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y overleaf-web-mcpOVERLEAF_BASE_URLOverleaf origin to use, for a self-hosted instance. Use the same value for login and serve.OVERLEAF_COOKIE_JAR_FILEWhere the saved session is read from, if not the platform configuration directory.OVERLEAF_ALLOWED_PROJECTSComma-separated project ids the server may touch. Unset allows every project.OVERLEAF_LOCAL_READ_ROOTSAbsolute folders local reads must stay inside, separated by : (; on Windows). Unset allows any.OVERLEAF_LOCAL_WRITE_ROOTSAbsolute folders local writes must stay inside, separated by : (; on Windows). Unset allows any.OVERLEAF_ALLOWED_EFFECTSComma-separated kinds of change operations may make, such as overleaf-read. Unset allows all.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Overleaf Web MCP
让 Claude、Codex、Cursor 或任何 MCP 客户端以你的身份登录,读取、编辑、编译和审阅
你的 Overleaf 项目。
文档 · 开始使用 · 工具 · 安全性 · 对比 · 更新日志
Overleaf Web MCP 是一个 Model Context Protocol 服务。它会通过你控制的浏览器窗口登录 Overleaf 一次,然后让 AI 助手像你在 Web 编辑器中操作一样处理项目:浏览文件、进行带修订检查的编辑(也可选择以跟踪更改的方式编辑)、编译并处理审阅评论。它使用 Overleaf 编辑器所用的浏览器端点,因此核心工作流无需 Git 集成或高级套餐。
你可以这样说
连接后,只需用自然语言与助手交流。助手会选择相应的工具。
- “从我压缩的文件夹创建一个名为 Grant renewal 的新项目,并将
proposal.tex设为根文件。” - “列出我的 Overleaf 项目,并打开名为 Thesis 的项目。”
- “将
main.tex的引言改写得更适合普通读者,并作为跟踪更改提交。” - “编译论文,告诉我编译是否成功,以及错误出现在哪里。”
- “
./figures中哪些图片与项目中的不同?只上传那些不同的图片。” - “让项目与
~/papers/thesis保持一致,并先告诉我哪些文件会被删除。” - “总结尚未处理的审阅评论,并回复关于表 2 的评论。”
开始使用
你需要 Node.js 20 或更高版本、基于 Chrome 的浏览器(Chrome、Chromium、Brave 或 Edge),以及 Overleaf 账号。
说明
此服务使用 Overleaf 的私有 Web API,这些 API 可能会在不另行通知的情况下发生变化;自动化操作
www.overleaf.com也可能涉及服务条款和账号风险。请先在一次性项目中试用,并尽量减少请求量。
1. 登录一次。 系统会打开一个专用浏览器窗口。按正常流程登录 Overleaf,包括 SSO 或双重验证。仅保存 Overleaf 来源的 Cookie,且保存到只有你本人可读取的文件中。会话有效期为最后一次使用后的五天,因此闲置五天后需要重新登录,或者安排每天运行 npx overleaf-web-mcp keepalive 以保持会话有效(参见配置)。
npx overleaf-web-mcp login
2. 连接 MCP 客户端。 对于 Claude Code:
claude mcp add overleaf --scope user -- npx -y overleaf-web-mcp serve
对于 Codex:
codex mcp add overleaf -- npx -y overleaf-web-mcp serve
Claude Desktop、Cursor、VS Code 和其他客户端
将以下内容添加到客户端的 MCP 配置中:
{
"mcpServers": {
"overleaf": {
"command": "npx",
"args": ["-y", "overleaf-web-mcp", "serve"]
}
}
}
VS Code 使用 servers 键,并改用 "type": "stdio";安装指南中提供了每个客户端对应的确切配置块。
3. 重启客户端,并让它检查与 Overleaf 的连接。
各客户端的操作步骤、可自托管的 Overleaf,以及故障排查(包括 node 版本低于 20 时出现的“failed to connect”问题),请参阅安装指南。
功能
- 创建和管理项目。 创建空白项目或示例项目、克隆项目,或导入 zip 文件;先确认项目名称,再重命名、移至回收站、恢复或归档项目;设置根文档、TeX 引擎和 TeX Live 镜像,以便 Web 编辑器的 Recompile 按照这些设置运行。
- 浏览和整理。 列出和搜索项目,读取文件树及配置的根文档和编译器;创建文件夹和文件,重命名、移动、上传单个文件或文件列表,下载单个文件或整个项目的 zip 文件,并在确认后删除内容。
- 同步文件夹。 比较本地文件夹与项目而不做任何更改,然后只上传有变动的内容;还可以选择在一次经确认的调用中删除你在本地移除的内容。修改过的文本文件会像单次写入一样经过修订版本检查,因此不会覆盖协作者同时进行的编辑。
- 安全写入。 替换整个文档或单个章节。每次编辑都会与最初读取的修订版本进行核对,因此会报告协作者同时进行的更改,而不是将其覆盖。编辑可以记录为 Overleaf 修订记录。
- 按章节操作。 解析文件中的
\section标题,读取单个章节并替换单个章节。 - 编译。 编译项目配置的根文档或指定的任意文档,并从日志中获取按文件和行号整理的错误与警告,同时明确说明编译是否成功。读取完整日志,在本地保存 PDF 或其他输出文件,或停止正在运行的编译。
- 审阅。 列出带有位置的评论串,回复评论,针对确切文本添加评论,并解决或重新打开评论串。
- 跟踪历史记录。 使用版本游标轮询项目近期历史记录,查看谁更改了什么。
工具
共 31 个工具,分为八组:账号、项目生命周期、文件、文件夹同步、章节、编译、审阅和历史记录。只读工具不会更改 Overleaf 上的内容,也不会在你的电脑上写入任何内容。破坏性工具可能会替换或移除现有内容;除 stop_compile 外,使用这些工具前都需要先复述一个值:要删除内容的路径、名称或数量,要替换文档的修订版本,文件夹同步的 planToken,或者适用于已存在文件的 overwrite。
全部 31 个工具、工具注释和本地影响
若上传会替换文件,或文件夹同步未提供 `planToken`,则除非明确按名称请求替换或未经计划的同步,否则会被拒绝。最后一列显示哪些工具会读取或写入服务器运行所在计算机上的文件。每个参数和结果都列在[工具参考](https://mhmdaskari.github.io/overleaf-web-mcp/tools/)中。| 分组 | 工具 | 功能 | 注释 | 本地影响 |
|---|---|---|---|---|
| 账户 | auth_status | 验证已保存的会话,并报告其过期时间 | 只读 | |
| 账户 | list_projects | 列出并搜索项目,按最新优先排序 | 只读 | |
| 项目生命周期 | create_project | 创建空白项目或示例项目 | ||
| 项目生命周期 | clone_project | 复制项目,包括文件和设置 | ||
| 项目生命周期 | import_project_zip | 从本地 .zip 存档创建项目 | 读取 | |
| 项目生命周期 | manage_project | 重命名、移至废纸篓、恢复、归档、取消归档或删除项目 | 破坏性操作 | |
| 项目生命周期 | update_project_settings | 设置根文档、TeX 引擎、TeX Live 镜像或拼写检查语言 | ||
| 文件 | get_project_tree | 读取文件树以及项目的编译设置 | 只读 | |
| 文件 | read_file | 读取文本文件及其修订版本 | 只读 | |
| 文件 | write_file | 通过经过修订版本检查的最小编辑替换文档 | 破坏性操作 | 读取 |
| 文件 | create_file | 创建文本文件,可选择是否包含内容 | ||
| 文件 | manage_entity | 创建文件夹,或重命名、移动或删除实体 | 破坏性操作 | |
| 文件 | upload_file | 上传本地文件,确认后替换该路径上的现有文件 | 破坏性操作 | 读取 |
| 文件 | batch_upload | 将一组本地文件上传到指定路径,并创建缺失的文件夹 | 破坏性操作 | 读取 |
| 文件 | download_file | 在本地保存文档或二进制文件 | 破坏性操作 | 写入 |
| 文件 | download_project_zip | 将整个项目作为一个 zip 存档保存到本地 | 破坏性操作 | 写入 |
| 文件夹同步 | plan_sync | 比较本地文件夹与项目,并显示同步将执行的操作 | 只读 | 读取 |
| 文件夹同步 | sync_directory | 上传已更改的内容;在镜像模式下,删除本地已不存在的内容 | 破坏性操作 | 读取 |
| 文件夹同步 | delete_entities | 通过一次经确认的调用删除多个文件或文件夹 | 破坏性操作 | |
| 章节 | get_sections | 解析一个文件中的章节标题 | 只读 | |
| 章节 | get_section_content | 读取一个章节的正文 | 只读 | |
| 章节 | write_section | 替换一个章节的正文,并检查修订版本 | 破坏性操作 | |
| 编译 | compile_project | 编译项目,并报告日志中的错误和警告 | ||
| 编译 | stop_compile | 停止当前编译 | 破坏性操作 | |
| 编译 | get_compile_log | 读取构建的 LaTeX 或 BibTeX 日志末尾 | 只读 | |
| 编译 | download_compile_output | 在本地保存编译生成的 PDF 或其他输出文件 | 破坏性操作 | 写入 |
| 审阅 | list_comments | 列出带有位置的审阅讨论串 | 只读 | |
| 审阅 | reply_to_comment | 在现有讨论串中回复 | ||
| 审阅 | add_comment | 添加锚定到确切文本的评论 | ||
| 审阅 | set_comment_status | 解决或重新开启讨论串 | 破坏性操作 | |
| 历史记录 | monitor_project_history | 使用游标轮询项目近期历史记录 | 只读 |
- 文本编辑需要提供先前读取时的修订版本;如果文档在此期间发生更改,编辑会因冲突而失败。
- 跟踪更改需主动启用,绝不会在不告知的情况下退化为普通编辑。
- 删除文件需要确认其路径;删除多个文件需要确认数量;将项目移入废纸篓或删除项目需要确认项目名称。项目会先移入废纸篓;只有从废纸篓中才能永久删除。下载内容(包括整个项目的 zip 文件)绝不会覆盖本地文件,除非你明确要求;也绝不会覆盖已保存的会话。
- 写入超时后会进行观察,不会重新提交,因此不会重复应用任何更改。批量上传中的每个文件也同样如此。
- 文件夹同步需要提供
plan_sync返回的planToken;如果项目或文件夹自计划生成后发生了更改,同步会在修改任何内容前停止。只有镜像模式才会删除文件,而且需要确认删除数量;上传失败后绝不会进行删除。 - 上传绝不会替换文件,除非你明确要求:二进制文件需要提供
overwrite;文本文档上传时会在不检查修订版本的情况下替换,因此需要提供uncheckedDocumentReplace。 - 你可以选择限制服务可操作的项目、电脑上的文件夹以及更改类型(访问策略)。这能确保助手只在你授权的范围内操作,但它不是沙箱。
- 你的会话 Cookie 会保存在只有你能读取的本地文件中,任何工具都不会返回它。
- 项目处于打开状态时,在最后一次调用后的最多 90 秒内,协作者可能会看到你在线。
对比
截至 2026-09-22,根据各自的源代码检查了获得星标最多的三个 Overleaf MCP 服务,以及在设计上与本项目最接近的两个。它们经常变化,请通过链接查看最新情况。✅ 支持,🟡 部分支持(见编号注释),❌ 不支持。
| 本项目 | OverleafMCP | olcli | overleaf-mcp-server | overleaf-mcp-rt | netique/overleaf-mcp | |
|---|---|---|---|---|---|---|
| 连接方式 | Web 会话 | Git 桥接 | Web 会话 | Git 桥接 | Web 会话 | Web 会话 |
| 工具数量 | 31 | 8 | 19 | 4 | 22 | 17 |
| 无需 Overleaf 付费 Git 集成即可使用 | ✅ | ❌ | ✅ | ❌ | ✅ | ✅ |
| 可自托管的 Overleaf | ✅ | ❌ | ✅ | 🟡¹ | ✅ | 🟡² |
| 列出并搜索你的项目 | ✅ | 🟡³ | 🟡⁴ | ❌ | 🟡⁵ | ✅ |
| 向助手返回文档文本 | ✅ | ✅ | 🟡⁶ | ✅ | ✅ | ✅ |
| 以协作 OT 操作而非整个文件发送编辑内容 | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ |
| 如果文档在读取后发生变化,则拒绝编辑 | ✅ | 🟡⁷ | ❌ | ❌ | ✅ | 🟡⁸ |
| 按要求以修订模式写入 | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ |
| 接受或拒绝修订 | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
读取并替换一个 \section | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| 创建、重命名、移动和删除文件及文件夹 | ✅ | 🟡⁹ | 🟡¹⁰ | 🟡⁹ | ✅ | ❌ |
| 上传和下载二进制文件 | ✅ | ❌ | ✅ | ❌ | ✅ | 🟡¹¹ |
| 将本地文件夹与项目进行比较 | ✅ | ❌ | ✅ | ❌ | ❌ | ❌ |
| 在 Overleaf 上编译 | ✅ | ❌ | ✅ | ❌ | ✅ | ✅ |
| 读取编译日志和错误 | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ |
| 审阅评论:列出、回复、添加、解决 | ✅ | ❌ | ✅ | ❌ | ✅ | 🟡¹² |
| 创建、克隆、导入、归档和删除项目 | ✅ | ❌ | 🟡¹³ | ❌ | ❌ | ❌ |
| 保存根文档、编译器和 TeX Live 映像 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| 读取项目历史记录 | ✅ | ❌ | ❌ | ❌ | 🟡¹⁴ | ❌ |
| 安装方式 | npm | npm | npm、Homebrew | 源码 | npm | npm |
| 许可证 | MIT | MIT | MIT | MIT | AGPL-3.0 | AGPL-3.0 |
注释 1–14
- 仅适用于存在 Overleaf Git 桥接的情况;对于自托管实例,这意味着需要 Server Pro。
- 有相关文档,但登录似乎需要 overleaf.com 的
overleaf_session2Cookie,而 Community Edition 默认不会设置此 Cookie。 - 仅限其自身配置中列出的项目。
- 可以列出项目,但不能搜索,而且不会列出已归档和已移至废纸篓的项目。
- 可以列出项目,但没有搜索或筛选功能。
- 文件会保存到服务端磁盘;没有工具会返回文档文本。
- 如果 Overleaf 在该工具自行拉取之后有更新,Git 会拒绝推送;但如果助手读取后、该工具拉取前有人进行了编辑,该编辑会被覆盖。
- 仅在设置
strict_version: true时支持;默认情况下,并发编辑会在写入后才报告。 - 通过写入来创建文件;不能重命名、移动或删除。
- 可以创建、重命名和删除文件及文件夹;不能移动。
- 可以下载二进制文件;不能上传。
- 可以列出、回复、解决和重新打开讨论串,但不能添加评论。
- 可以创建和重命名项目。
- 报告协作者在会话期间所做的更改。
| 页面 | 内容 |
|---|---|
| 安装 | Claude Code、Codex、Claude Desktop、Cursor、VS Code、自托管 Overleaf、故障排除 |
| 使用方法 | 示例提示词及其背后的运行过程 |
| 工具参考 | 全部 31 个工具及其参数和结果 |
| 安全模型 | 修订版本、跟踪更改、确认、错误代码 |
| 配置 | 环境变量、访问策略、代理、会话存储位置以及保持会话活跃的方法 |
| 内部机制 | 协议说明、可靠性保证、相关项目 |
| 路线图和更新日志 | 后续计划和变更内容 |
面向 AI Agent
服务会在 MCP 客户端连接时发送使用说明,且每个工具的说明都自成一体,因此助手无需参考此 README 也能正确使用。为项目仓库贡献代码的编码 Agent 应阅读 AGENTS.md。
许可证
MIT。这是一个独立项目,与 Overleaf 无关联,也未获其认可。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。