1. Conduid
  2. Files
  3. Latex Server
MCP server · Files

Latex Server

This MCP LaTeX server, coded in Python, is intended for TeX Live and MikTeX users wishing for a deeper AI integration in their use of LaTeX. The installation is documented for Windows with Claude Desktop as an example, but it also works on Mac with other AIs.

Unclaimed last commit 7 months ago files
19Low

Scored just now · breakdown

About Latex Server

Latex Server is an MCP server published by RobertoDure in the Files category: this MCP LaTeX server, coded in Python, is intended for TeX Live and MikTeX users wishing for a deeper AI integration in their use of LaTeX. The installation is documented for Windows with Claude Desktop as an example, but it also works on Mac with other AIs.

The repository has 26 stars and 7 forks, with the last commit 7 months ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.

Install

From source
git clone https://github.com/RobertoDure/mcp-latex-server

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Latex Server

Powered by Claude

Ask about Latex Server — answers draw on its README.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

MCP LaTeX Server

A Model Context Protocol (MCP) server for LaTeX file creation, editing, validation, and compilation. Built with FastMCP and Pydantic for type-safe, structured output.

Features

  • Create LaTeX documents from parameters or bundled templates (article, beamer, report)
  • Edit files with replace, insert, append, and prepend operations
  • Read and list .tex files within a secure base directory
  • Validate syntax — braces, environments, references, required declarations
  • Compile to PDF with pdflatex, xelatex, or lualatex
  • Resources — browse and retrieve bundled templates via latex:// URIs

Prerequisites

  • Python 3.11.9+
  • LaTeX distribution (for compilation):
    • Windows: MiKTeX or TeX Live
    • macOS: MacTeX (brew install --cask mactex)
    • Linux: sudo apt install texlive-full (Debian/Ubuntu) or sudo dnf install texlive-scheme-full (Fedora)

Installation

Using uv (recommended)

git clone https://github.com/RobertoDure/mcp-latex-server
cd mcp-latex-server
uv pip install -e .

Using pip

git clone <repository-url>
cd mcp-latex-server
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS/Linux
source .venv/bin/activate
pip install -e .

Quick setup (Windows)

python quick_setup.py

This checks Python version, installs dependencies, verifies the server imports correctly, and optionally configures Claude Desktop.

Configuration

The server uses a single environment variable:

Variable Description Default
LATEX_SERVER_BASE_PATH Root directory for all file operations . (current directory)

All file paths passed to tools are resolved relative to this base directory. Access outside it is denied.

MCP client configuration

Claude Desktop

Add to your claude_desktop_config.json:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "latex-server": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/mcp-latex-server",
        "run",
        "latex_server.py"
      ],
      "env": {
        "LATEX_SERVER_BASE_PATH": "/path/to/your/latex/files"
      }
    }
  }
}

VS Code (GitHub Copilot)

Add to .vscode/mcp.json in your workspace:

{
  "servers": {
    "latex-server": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/mcp-latex-server",
        "run",
        "latex_server.py"
      ],
      "env": {
        "LATEX_SERVER_BASE_PATH": "${workspaceFolder}"
      }
    }
  }
}

Tools

create_latex_file

Create a new LaTeX document from parameters.

Parameter Type Default Description
file_path str required Path for the new .tex file
document_type article|report|book|letter|beamer|minimal article Document class
title str "" Document title
author str "" Document author
date str \today Document date
content str "" Body content
packages list[str] [] Extra LaTeX packages
geometry str "" Geometry settings (e.g. margin=1in)

create_from_template

Create a document from a bundled template.

Parameter Type Default Description
file_path str required Path for the new .tex file
template article|beamer|report article Template name

edit_latex_file

Edit an existing LaTeX file.

Parameter Type Default Description
file_path str required Path to the file
operation replace|insert_before|insert_after|append|prepend required Edit operation
new_text str required Text to insert or replace with
search_text str|null null Text to find (required for replace/insert)
line_number int|null null 1-based line number (alternative to search_text)

read_latex_file

Read and return the contents of a .tex file.

Parameter Type Default Description
file_path str required Path to the file

list_latex_files

List all .tex files in a directory.

Parameter Type Default Description
directory_path str . Directory to search
recursive bool false Search subdirectories

validate_latex

Check LaTeX syntax: required declarations, balanced braces, environment matching, undefined references.

Parameter Type Default Description
file_path str required Path to the file

get_latex_structure

Extract document structure: class, title, author, packages, and section hierarchy.

Parameter Type Default Description
file_path str required Path to the file

compile_latex

Compile a .tex file to PDF (runs the engine twice for references/TOC).

Parameter Type Default Description
file_path str required Path to the file
engine pdflatex|xelatex|lualatex pdflatex LaTeX engine

Resources

URI Description
latex://templates List available bundled templates
latex://template/{name} Get the content of a specific template

Testing

Test with the MCP Inspector:

uv run mcp dev latex_server.py

Or run the included test suite:

python test_server.py

Troubleshooting

Server won't start — Verify Python 3.10+ (python --version) and that mcp is installed (pip list | grep mcp).

Compilation fails — Ensure a LaTeX distribution is on your PATH (pdflatex --version). Install MiKTeX or TeX Live if missing.

"Access denied" errors — The requested file path resolves outside LATEX_SERVER_BASE_PATH. Use relative paths or adjust the env variable.

Claude can't connect — Double-check file paths in your MCP config, restart Claude Desktop, and verify with uv run mcp dev latex_server.py.

License

MIT

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About Latex Server

How do I install Latex Server?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Latex Server safe to use with an AI agent?

Its trust score is 19 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Latex Server still maintained?

The last commit was 7 months ago. That's long enough that you should check whether the maintainer is responding to issues before depending on it.