LaTeX编译服务

一个轻量级的LaTeX文档编译服务器,提供PDF生成、模板管理和代码片段复用功能,适用于需要快速生成LaTeX文档的场景。

  • by TheTailorRetailored
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 thetailorretailored/latex-mcp

使用说明

LaTeX MCP服务器

一个小型的模型上下文协议服务器,用于编译LaTeX文档并提供生成的PDF。它还公开了一些文档模板和可重用的代码片段。

该项目可用,但维护程度较低:我目前没有为它开发新功能。

工具

  • compile_latex 使用pdfLaTeX、XeLaTeX或LuaLaTeX编译完整的文档。
  • list_templates 和 get_template 公开捆绑的文档模板。
  • list_snippets, get_snippet_info 和 render_snippet 使用捆绑的方程式、数字和多项选择题片段。

编译后的文件由源和引擎缓存,然后在可配置的时间段后删除。

使用Docker运行

从存储库根目录构建:

docker build -f deployment/docker/Dockerfile -t latex-mcp .
docker run --rm -p 8083:8080 latex-mcp

然后,MCP HTTP端点在以下位置可用 http://localhost:8083/mcp.

Docker Compose配置正在进行中 deployment/docker/:

docker compose -f deployment/docker/docker-compose.yml up --build

直接运行

这需要Python 3.11+和TeX发行版提供 pdflatex, xelatex 或 lualatex.

python -m pip install .
python server.py

可通过三个环境变量进行配置:

  • PORT --HTTP端口,默认为 8080.
  • LATEX_BASE_URL --PDF和日志链接中使用的公共基础URL。
  • LATEX_MAX_FILE_AGE_HOURS --编译后的文件保留期,默认为24小时。

安全边界

LaTeX是一种可编程语言,拒绝简短的命令列表并不能使任意文档安全。Shell转义被禁用,服务器执行一些基本的源代码验证,但这不是一个强化的多租户沙盒。

将其与可信输入一起使用,最好放在一个没有秘密、资源受限、没有不必要的网络或文件系统访问的一次性容器中。在不添加身份验证和进一步隔离的情况下,不要公开HTTP服务。

维护备选方案

如果此服务器不再适合您的工作流程,这些更活跃的项目将覆盖相邻的用例:

发展

python -m pip install -e ".[dev]"
pytest

Docker、systemd和Nginx的部署示例 deployment/.

许可证

麻省理工学院