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 "Install 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 (MCP) server that provides tools for converting LaTeX source code into PDF documents. This server enables AI assistants to generate high-quality PDF documents from LaTeX markup with professional formatting capabilities.
Features
LaTeX to PDF Conversion: Convert LaTeX source code directly to PDF format
Professional Document Generation: Supports all standard LaTeX features for academic and professional documents
Local File Generation: Creates PDF files in a specified directory for easy access
HTTP Server Integration: Generates downloadable links for created PDFs
Error Handling: Comprehensive error reporting for LaTeX compilation issues
Related MCP server: LaTeX Resume MCP
Prerequisites
Before using this MCP server, ensure you have:
Node.js (version 18 or higher)
LaTeX Distribution: A complete LaTeX installation such as:
latexmk: Usually included with LaTeX distributions
Installation
From npm (Recommended)
npm install -g latexpdf-mcpFrom Source
Clone the repository:
git clone https://github.com/ihor-sokoliuk/latexpdf-mcp.git
cd latexpdf-mcpInstall dependencies:
pnpm installBuild the project:
pnpm run buildConfiguration
Claude Desktop Configuration
Add the server to your Claude Desktop configuration file:
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"
}
}
}
}Output Directory
By default, PDFs are generated in: C:\Users\Admin\Documents\GeneratedPDF
You can customize the output directory by setting the LATEXPDF_OUTPUT_DIR environment variable in your MCP configuration.
Example configurations:
Windows:
{
"mcpServers": {
"latexpdf-mcp": {
"command": "latexpdf-mcp",
"env": {
"LATEXPDF_OUTPUT_DIR": "C:\\Users\\YourName\\Documents\\MyPDFs"
}
}
}
}macOS/Linux:
{
"mcpServers": {
"latexpdf-mcp": {
"command": "latexpdf-mcp",
"env": {
"LATEXPDF_OUTPUT_DIR": "/home/yourname/Documents/PDFs"
}
}
}
}Usage
Once configured, you can use the server through your MCP-compatible client:
Available Tools
create_pdf
Converts LaTeX source code into a PDF document.
Parameters:
file_name(string, required): Name of the output PDF file (must end with .pdf)latex_source(string, required): LaTeX source code to convert
Example:
\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}PDF Access
After generating a PDF, you can access it via HTTP server:
Navigate to the output directory (default:
C:\Users\Admin\Documents\GeneratedPDF, or your customLATEXPDF_OUTPUT_DIR):
cd [YOUR_OUTPUT_DIRECTORY]Start a local HTTP server:
python -m http.serverAccess your PDFs at
http://localhost:8000/[filename].pdf
The server automatically provides download links in this format when PDFs are generated.
Development
Project Structure
latexpdf-mcp/
├── index.ts # Main server implementation
├── package.json # Package configuration
├── tsconfig.json # TypeScript configuration
├── pnpm-lock.yaml # Dependency lock file
└── dist/ # Compiled JavaScript outputBuilding
pnpm run buildDevelopment Mode
pnpm run watchTroubleshooting
Common Issues
LaTeX not found: Ensure LaTeX is properly installed and
latexmkis in your PATHPermission errors: Check write permissions for the output directory
Compilation errors: Review LaTeX syntax and required packages
Error Messages
The server provides detailed error messages for:
Missing LaTeX installation
Compilation failures
File system permissions
Invalid input parameters
Contributing
Fork the repository
Create a feature branch
Make your changes
Add tests if applicable
Submit a pull request
License
This project is licensed under the MIT License. See the LICENSE file for details.
Links
Repository: https://github.com/ihor-sokoliuk/latexpdf-mcp
Issues: https://github.com/ihor-sokoliuk/latexpdf-mcp/issues
Model Context Protocol: https://modelcontextprotocol.io
Author
Ihor Sokoliuk - GitHub Profile
This MCP server enables seamless LaTeX to PDF conversion within AI-assisted workflows, perfect for generating academic papers, technical documentation, and professional reports.
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.
TDQS
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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Persistent AI LaTeX workspace: edit and compile multi-file projects, export publication-ready PDFs.
Render HTML, URLs, and templates to PDF. AI drafts templates and fixes them from logs.
Generate and read PDFs for AI agents: a generate_pdf and a read_pdf tool, priced per document.
Generate PDFs from templates via AI chat. Works with Claude, ChatGPT, Cursor, and any MCP client.
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
- AlicenseAqualityCmaintenanceEnables creating, editing, and compiling LaTeX resumes directly from Claude using built-in templates, with support for managing multiple resume files and automatic PDF generation.11MIT
- 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.817
- FlicenseNot gradedqualityCmaintenanceEnables 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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/tobioffice/LateXPDF-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server