SuperAPI AI 工具集

TexMCP

TexMCP 是一个基于 FastMCP 的轻量级微服务,用于将 LaTeX 渲染为 PDF。它作为 MCP 服务器运行,向 Claude Desktop 等支持 MCP 的客户端暴露工具,可渲染原始 LaTeX 或基于 Jinja2 模板生成文档,并在 src/artifacts/ 目录下产出 .tex 文件和(可选).pdf 文件。适合生成报告、简历、研究论文等 PDF 文档。

访问官网

工具介绍

TexMCP(仓库名 tex-mcp)是一个基于 FastMCP 的小型微服务,用于把 LaTeX 渲染成 PDF。服务器以 MCP 工具的形式对外暴露能力,可以渲染原始 LaTeX 或模板,并产出工件(一个 .tex 文件,以及在可编译时生成 .pdf),输出位于 src/artifacts/ 目录下。该项目面向本地运行设计,同时可被 Claude Desktop 通过 Model Context Protocol 加载,默认入口文件为 run_server.py。

主要能力

  • 使用 pdflatex 将原始 LaTeX 渲染为 .tex,并按需生成 .pdf
  • 渲染 Jinja2 模板并编译为 PDF
  • 可作为 Claude Desktop 及其他支持 MCP 的客户端的 MCP 服务器运行

该 MCP 服务器暴露的工具(共 5 个)

  • render_latex_document:写入 LaTeX,并按需编译为 PDF
  • render_template_document:渲染 Jinja2 模板并按需编译
  • list_templates:列出可用模板
  • list_artifacts:列出 src/artifacts/ 中产生的文件
  • get_template:返回模板文件的原始内容,便于客户端在渲染前查看

环境要求

  • Python 3.10+(项目使用较新的 pydantic/fastapi 技术栈)
  • LaTeX 工具链(pdflatex)用于 PDF 编译,此项为可选;若缺失,服务器仅返回 .tex 文件

本地开发入门

  • 创建项目虚拟环境并安装依赖
  • 可从 GitHub 克隆仓库后,按下方步骤创建虚拟环境并安装
  • 直接运行服务器(stdio 模式,Claude Desktop 使用):在 stdio 模式下,服务器通过 stdin/stdout 使用 MCP 通信(这正是 Claude Desktop 启动进程时所期望的方式)。如果偏好 HTTP,可编辑 run_server.py 并将 transport 切换为 http(参见注释代码),再用 uv run 或 uvicorn 运行

渲染输出位于 src/artifacts/。每次任务应能看到一个 .tex 文件,以及在 pdflatex 可用时生成对应的 .pdf。

模板

  • 示例模板位于 src/mcp_server/templates/,共包含 15 个模板,例如 sample_invoice.tex.j2、sample_letter.tex.j2、sample_resume.tex.j2。可用 list_templates 以编程方式获取完整列表。模板刻意保持简单、便于自定义;向该目录添加自己的 .tex.j2 文件即可扩展目录
  • 内置模板(位于 src/mcp_server/templates/):default.tex.j2(基础示例模板)、sample_invoice.tex.j2、sample_invoice2.tex.j2、sample_letter.tex.j2、sample_report.tex.j2、sample_resume.tex.j2、sample_presentation.tex.j2、sample_certificate.tex.j2、sample_coverletter.tex.j2、sample_poster.tex.j2、sample_thesis.tex.j2、sample_receipt.tex.j2、sample_recipe.tex.j2、sample_poem.tex.j2、sample_cv.tex.j2

与 Claude Desktop 集成(快速)

  • 推荐使用 fastmcp CLI 安装器,它会设置从项目目录运行并使用项目虚拟环境。在项目根目录(已创建虚拟环境并安装依赖)执行该安装器,可确保 uv 在项目目录内运行并使用项目环境。安装器运行后,请完全退出并重启 Claude Desktop
  • 手动配置 Claude Desktop:若自行编辑 Claude 配置(Windows:%APPDATA%\Claude\claude_desktop_config.json),添加一个指向项目 Python 可执行文件的服务器条目。示例(路径按需替换)
  • 不要把 Claude 指向虚拟环境的 activate 脚本——它是 shell 辅助脚本而非可执行文件。应把 Claude 指向虚拟环境中的 python.exe(若安装了 uv,也可指向虚拟环境中的 uv.exe)
  • 任何配置更改后,请完全重启 Claude Desktop

Docker

  • 项目包含 Dockerfile,可在容器中运行 MCP 服务器
  • 构建(不含 LaTeX)
  • 构建(含 LaTeX,镜像更大)
  • 运行(HTTP 模式暴露在 8000 端口):容器默认设置 MCP_TRANSPORT=http,在容器内服务器绑定 0.0.0.0:8000
  • 若想在容器中以 stdio 模式运行服务器,可覆盖该环境变量

工件持久化

  • 若要在宿主机持久化渲染产物,可绑定挂载 src/artifacts 目录

编程调用

  • 可在智能体代码中使用 Model Context Protocol / FastMCP 客户端库(如 OpenAI Responses API)以编程方式调用工具。例如,在 Python 中可使用 mcp 或 fastmcp 客户端(参见库文档)连接到 http://localhost:8000/mcp,并以参数调用 render_latex_document

安全提示

  • 若将 HTTP 端点暴露到 localhost 之外,请做好安全防护(TLS、防火墙或认证)——渲染任意 LaTeX 可能带来风险(模板中的 shell 命令、大量资源消耗)

贡献与许可

  • 贡献方式见 CONTRIBUTING.md,其中包含开发流程、提交风格以及如何提交 issue 和 pull request
  • 本项目基于 MIT License 发布,详见 LICENSE

说明:关于具体安装命令、收费与价格、使用步骤的完整细节,官方文本中未完整提供,暂未提供。