内容
<div align="center">
<img src="assets/weblatexmcp-lockup-beta.svg" alt="WebLatexMCP — 公测版" width="100%" />
# WebLatexMCP
**在任何 Git 托管项目中直接从 Claude 读取、编辑、编译和提交 LaTeX。**
[](https://github.com/elias-ramzi/WebLatexMCP/actions/workflows/ci.yml)


[](#license)
**支持**
[](docs/install/README.md)
[](docs/install/gemini.md)
[](docs/install/copilot.md)
</div>
> [!WARNING]
> **公测版 — 仍处于早期开发阶段。** WebLatexMCP 现已公开,但仍处于早期阶段,正在积极开发中。可能会出现错误、粗糙的边缘和不完整的特性。在推送之前,请务必检查差异。请将您遇到的问题报告给我们 — 我们非常欢迎错误报告和反馈。
---
一个 MCP 服务器,允许 Claude 在 Git 托管项目中**读取、编辑、编译和提交 LaTeX** — 支持 **Overleaf**、**GitHub** 或任何 Git 远程仓库。它保持本地克隆,本地编译(TeX Live + `latexmk` 或 `tectonic`),因此您可以看到错误和 PDF,而无需往返,并通过显式提交 → 推送您审查的内容。与 **Claude Desktop** 和 **Claude Code** 通过 stdio 配合使用,支持 **macOS、Linux 和 Windows**。
## 亮点
- 🗂️ **多项目支持** — 支持 Overleaf、GitHub 或任何 Git 远程仓库,彼此独立,每个项目都有自己的凭证。
- ✏️ **精确编辑** — 原子操作,精确匹配字符串替换;可选择行范围读取。
- 🧪 **本地编译** — `latexmk`(或 `tectonic`)在您的机器上运行,并返回结构化的错误/警告 + PDF。
- 🔍 **可审查的推送** — `commit` 和 `push` 是分开的;没有任何内容会隐含地离开您的机器。
- 🔐 **令牌保存在内存中** — 永远不会写入 `.git/config`,并且会从所有输出中清除。
- 🧩 **捆绑的 Claude Code 技能** — 项目清理、DBLP 引用审计、参考文献标准化。
## 快速入门
最简单的入门方式:**克隆此仓库,将 Claude Code 指向该文件夹,然后直接询问。**
```bash
git clone https://github.com/elias-ramzi/WebLatexMCP.git
```
然后让 Claude 带您完成其余的操作:
> 👽 **您**
>
> Claude,您能带我了解如何安装 WebLatexMCP 服务器吗?
> ✦ **Claude**
>
> 绝对的 — 我将安装依赖项、构建服务器、在 Claude 注册它,并帮助您添加第一个 Overleaf 项目。让我们一步一步来。
Claude 通过聊天驱动整个设置过程。编辑和 Git 操作无需 TeX;只有 `compile` 需要您 `PATH` 中的后端 — 默认情况下为 `latexmk`,或 `tectonic`(设置 `WEB_LATEX_MCP_COMPILER`;参见 [配置](docs/configuration.md#compile-backend))。
### ⚡ 在 VS Code 中极速启动 — 推荐
**[VS Code 逐步指南](docs/install/vscode-quickstart.md)** 是最受测试且效率最高的路径。最好的做法是从您自己的论文仓库中运行它 — 这样 Claude 可以看到您的代码 _和_ 在其旁边编写论文。
### 详细设置,所有平台
先决条件、身份验证以及与 Claude Code 和 Claude Desktop 注册:[macOS](docs/install/macos.md) · [Linux](docs/install/linux.md) · [Windows](docs/install/windows.md)。
使用 **Gemini** 或 **GitHub Copilot**?请参阅 [Gemini 指南](docs/install/gemini.md)(Gemini CLI 和 Gemini Code Assist)或 [Copilot 指南](docs/install/copilot.md)(Copilot 代理模式在 VS Code / Visual Studio 中)— 两者都通过 stdio 注册相同的服务器。
### 或从 npm 安装 — 无需克隆,无需构建
不想克隆仓库?使用 `npx` 注册已发布的包。编辑和 Git 操作无需 TeX;只有 `compile` 需要 `latexmk` 或 `tectonic` 在您的 `PATH` 中。将以下内容添加到您的 Claude Code 或 Claude Desktop MCP 配置中:
```json
{
"mcpServers": {
"web-latex-mcp": {
"command": "npx",
"args": ["-y", "web-latex-mcp"],
"env": {
"WEB_LATEX_MCP_PROJECTS": "{\"thesis\":{\"gitUrl\":\"https://git.overleaf.com/…\"}}"
}
}
}
}
```
或使用 Claude Code 在一行中添加:
```bash
claude mcp add web-latex-mcp --scope user -- npx -y web-latex-mcp
```
### 或安装 Claude Code 插件 — 服务器和技能一起
`claude mcp add` /原始配置路径注册服务器但**不**注册[技能](#skills-claude-code) — 只有当 Claude Code 从此仓库的克隆启动时,技能才会加载。安装**插件**可同时获得 MCP 服务器和所有技能,在任何会话中,从任何目录:
```bash
# 在 Claude Code 中:
/plugin marketplace add elias-ramzi/WebLatexMCP
/plugin install web-latex-mcp@web-latex-tools
```
插件不固定工作区,因此克隆仍然位于您的论文旁边(工作区本地默认值)。在您自己的 MCP 配置中设置 `WEB_LATEX_MCP_PROJECTS`,或像往常一样在运行时注册项目。
## 您可以使用
连接后,请 Claude 处理您的项目 — 它驱动这些[工具](docs/tools.md):
- **同步和浏览** — 克隆/拉取项目,列出和读取文件。
- **编辑** — 创建、覆盖或对 `.tex` 文件进行精确的字符串替换编辑。
- **编译** — 在本地运行 `latexmk`(或 `tectonic`),并返回结构化的错误、警告和指向 PDF 的可点击 `file://` 链接。
- **引用** — 搜索 [DBLP](https://dblp.org) 并添加经过验证的 BibTeX 条目(`.bib` 文件受到保护,不允许手动编辑 — 参见 [引用](docs/tools.md#citations-via-dblp))。
- **审查和推送** — 检查 `status` / `diff`,提交,然后安全地推送(变基,从不强制;冲突会带回给您双方,您可以通过推送合并的内容 — 或使用 `reset_to_remote` 重置克隆到当前的远程仓库,并干净地重新编辑)。
参见 [完整的工具参考](docs/tools.md)。
## 技能(Claude Code)
Claude Code 加载任务特定的技能来驱动工具 — 每个工具在差异处停止,因此除非您要求,否则不会提交或推送。您可以通过[安装插件](#或安装-claude-code-插件--服务器和技能一起)(在任何地方都可用)或从此仓库的克隆启动 Claude Code 来获取它们:
- **`/format-latex-project`** — 将主文件分成每节的 `\input`,并重新格式化为一行一句话。
- **`/arxiv-clean-project`** — 运行 [arxiv-latex-cleaner](https://github.com/google-research/arxiv-latex-cleaner) 以删除注释和草稿宏(`\todo`,注释)以备提交到 arXiv,作为单独的提交副本或就地应用。
- **`/verify-citations`** — 审计每个 `.bib` 条目与 DBLP,对差异进行标记,并编写本地的 git 排除的审计报告(`.bib` 文件只读)。
- **`/format-bibliography`** — 删除重复项,规范引用键,统一场地,传播重命名到 `\cite` 中。
- **`/summarize-paper`** — 编写/更新论文的小型本地摘要(git 排除),以便未来会话快速启动。
参见 [技能指南](docs/skills.md) 获取详细信息。
## 文档
- [配置](docs/configuration.md) — 环境变量,每个主机令牌解析,上下文指南,跨平台说明。
- [工具](docs/tools.md) — 完整的工具参考,DBLP 引用流程,以及安全推送的工作原理。
- [技能](docs/skills.md) — 每个捆绑的 Claude Code 技能的作用。
- [并发性](docs/CONCURRENCY.md) — 服务器如何推送而不会破坏其他地方的编辑。
- [写作指南](docs/writing-guide.md) — LaTeX 样式约定在客户端显现。
- [贡献](CONTRIBUTING.md) — 如何构建,测试和打开拉取请求。
## 贡献
此仓库**接受拉取请求** — 错误报告,功能想法,文档修复和代码更改都欢迎。参见 [CONTRIBUTING.md](CONTRIBUTING.md) 了解如何建立,运行本地门户和打开拉取请求。
关于成熟度的说明:该项目大部分是振动编码的,因此将其视为尽力而为,而不是经过战斗测试的。鲁棒性不能保证 — 预期会有粗糙的边缘,请报告它们。该项目已在以下设置上进行了大部分测试:VS Code + Claude Code 扩展,Claude Code CLI 和 Claude Desktop for macOS。
## 许可证
MIT