LaTeX PDF MCP Server

Converts LaTeX source code into professionally formatted PDF documents.

Documentation

LaTeX PDF MCP Server

MCP

A Model Context Protocol server that converts LaTeX source code into PDF documents using a local LaTeX distribution. It lets AI assistants generate professional, typeset PDFs - academic papers, reports, resumes - from LaTeX markup.

Features

  • LaTeX to PDF conversion via latexmk -pdf
  • Full LaTeX support: math, tables, figures, bibliographies, cross-references
  • Configurable output directory through LATEXPDF_OUTPUT_DIR
  • Download links for generated PDFs (served over local HTTP)
  • Detailed error reporting for LaTeX compilation failures

Prerequisites

  1. Node.js 18 or higher
  2. A LaTeX distribution with latexmk available on your PATH:

Installation

From npm

npm install -g latexpdf-mcp

From source

git clone https://github.com/tobioffice/LateXPDF-MCP.git
cd LateXPDF-MCP
pnpm install
pnpm run build

Configuration

Claude Desktop

Config file locations:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "latexpdf-mcp": {
      "command": "latexpdf-mcp",
      "env": {
        "LATEXPDF_OUTPUT_DIR": "/path/to/your/pdf/directory"
      }
    }
  }
}
Environment variableDefaultDescription
LATEXPDF_OUTPUT_DIRC:\Users\Admin\Documents\GeneratedPDFDirectory where the generated .tex and .pdf files are written

Always set LATEXPDF_OUTPUT_DIR to a directory that exists on your machine. When using Windows paths in JSON, escape the backslashes (C:\\Users\\YourName\\PDFs).

Usage

Tool: create_pdf

ParameterTypeRequiredDescription
file_namestringyesOutput file name, must end with .pdf
latex_sourcestringyesLaTeX source code to compile

Example LaTeX source:

\documentclass{article}
\usepackage[utf8]{inputenc}
\title{Sample Document}
\author{Your Name}
\date{\today}

\begin{document}
\maketitle

\section{Introduction}
This is a sample LaTeX document generated via MCP.

\subsection{Features}
\begin{itemize}
  \item Professional formatting
  \item Mathematical expressions: $E = mc^2$
  \item Cross-references and citations
\end{itemize}

\end{document}

The tool returns the output file name and a download link:

File Name: report.pdf

PDF Download LINK: http://localhost:8000/report.pdf

Accessing generated PDFs

Serve the output directory over HTTP and open the link:

python -m http.server 8000 --directory "$LATEXPDF_OUTPUT_DIR"

Development

pnpm run build   # compile TypeScript to dist/
pnpm run watch   # compile in watch mode

Project structure

LateXPDF-MCP/
├── index.ts              # MCP server implementation
├── package.json          # Package configuration
├── tsconfig.json         # TypeScript configuration
└── scripts/
    └── update-version.js # Syncs the version string in index.ts

Troubleshooting

  • latexmk not found - make sure your LaTeX distribution is installed and on your PATH
  • Permission errors - check write access to LATEXPDF_OUTPUT_DIR
  • Compilation failed / no output PDF - check the LaTeX source for errors and missing packages
  • Invalid input - file_name must end with .pdf

License

MIT (as declared in package.json).