LaTeX PDF MCP Server
Converts LaTeX source code into PDF documents, supporting all standard LaTeX features for generating academic papers, technical documentation, and professional reports with mathematical expressions, formatting, and citations.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@LaTeX PDF MCP Servercreate a PDF named report.pdf with this LaTeX: \documentclass{article}\begin{document}Hello World\end{document}"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
LaTeX PDF MCP Server
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 -pdfFull LaTeX support: math, tables, figures, bibliographies, cross-references
Configurable output directory through
LATEXPDF_OUTPUT_DIRDownload links for generated PDFs (served over local HTTP)
Detailed error reporting for LaTeX compilation failures
Related MCP server: MCP LaTeX Server
Prerequisites
Node.js 18 or higher
A LaTeX distribution with
latexmkavailable on yourPATH:
Installation
From npm
npm install -g latexpdf-mcpFrom source
git clone https://github.com/tobioffice/LateXPDF-MCP.git
cd LateXPDF-MCP
pnpm install
pnpm run buildConfiguration
Claude Desktop
Config file locations:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"latexpdf-mcp": {
"command": "latexpdf-mcp",
"env": {
"LATEXPDF_OUTPUT_DIR": "/path/to/your/pdf/directory"
}
}
}
}Environment variable | Default | Description |
|
| Directory where the generated |
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
Parameter | Type | Required | Description |
| string | yes | Output file name, must end with |
| string | yes | LaTeX 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.pdfAccessing 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 modeProject 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.tsTroubleshooting
latexmknot found - make sure your LaTeX distribution is installed and on yourPATHPermission errors - check write access to
LATEXPDF_OUTPUT_DIRCompilation failed / no output PDF - check the LaTeX source for errors and missing packages
Invalid input -
file_namemust end with.pdf
License
MIT (as declared in package.json).
Available Tools
1 toolcreate_pdfB
Creates a PDF document from the provided LaTeX source code.
| Name | Required | Description | Default |
|---|---|---|---|
| file_name | Yes | The name of the output PDF file (must end with .pdf) | |
| latex_source | Yes | The LaTeX source code to convert into a PDF document. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool creates a PDF, implying a write operation, but doesn't mention any behavioral traits like error handling, performance characteristics, dependencies, or what happens if the LaTeX compilation fails. This leaves significant gaps for an agent to understand how the tool behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that directly states the tool's purpose without any redundant information. It is front-loaded and every word earns its place, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a PDF creation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what the tool returns (e.g., success/failure, file path, errors), how to handle LaTeX compilation issues, or any system dependencies. This leaves critical context gaps for an agent to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents both parameters (file_name and latex_source). The description adds no additional parameter semantics beyond what the schema provides, such as LaTeX version compatibility or file naming constraints. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Creates a PDF document') and the resource ('from the provided LaTeX source code'), with no sibling tools to differentiate from. It uses precise technical language that leaves no ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (converting LaTeX to PDF) but provides no explicit guidance on when to use this tool versus alternatives, prerequisites, or limitations. Since there are no sibling tools, this is adequate but lacks depth.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.5.5- First observed
create_pdf
TDQS
Scored across 1 tool
With only one tool, there is no possibility of ambiguity or overlap between tools. The single tool 'create_pdf' has a clear and distinct purpose, making it impossible for an agent to misselect among alternatives.
The single tool name 'create_pdf' follows a clear verb_noun pattern (create + pdf), which is consistent and predictable. Since there is only one tool, there is no inconsistency to evaluate, and the naming convention is straightforward.
A single tool is generally too few for a server's purpose, as it limits functionality and may indicate an incomplete or overly narrow scope. For a LaTeX PDF server, one tool feels thin and inadequate for covering potential operations like editing, compiling, or managing PDFs.
The tool surface is severely incomplete for a LaTeX PDF domain. While 'create_pdf' handles PDF generation, there are obvious gaps such as editing LaTeX source, compiling with options, managing templates, or viewing PDFs, which will likely cause agent failures in broader workflows.
Maintenance
Related MCP Connectors
Persistent AI LaTeX workspace: edit and compile multi-file projects, export publication-ready PDFs.
A hosted LaTeX editor your assistant can actually use. Search 1,019 free templates, create and edit projects, and compile them to PDF on a real TeX Live farm, getting back the PDF or the compile log when a build fails. Thirteen tools behind OAuth 2.1, with nothing to install and nothing to run locally.
Compile LaTeX to PDF without installing TeX Live. No API key needed to start.
Render HTML, URLs, and templates to PDF. AI drafts templates and fixes them from logs.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to generate professional PDF documents from markdown content with advanced typography, syntax highlighting, math equations, dark mode, and customizable styling options.MIT
- FlicenseAqualityFmaintenanceEnables AI assistants to create, edit, and validate LaTeX documents through a standardized protocol with support for multiple document classes and package management. It provides tools for document structure analysis and file organization to streamline the generation of professional academic papers.822-
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to read, write, and compile LaTeX projects locally, view PDF pages as images, and manage project files, with live updates reflected in a web-based editor.-
- AlicenseAqualityBmaintenanceEnables AI agents to edit LaTeX documents with live PDF preview, commenting, and visual editing via the Model Context Protocol.795 npmAGPL 3.0