Skip to main content
Glama

MCP LaTeX Server

Ein Model Context Protocol (MCP) Server zum Erstellen, Bearbeiten, Validieren und Kompilieren von LaTeX-Dateien. Erstellt mit FastMCP und Pydantic für typsichere, strukturierte Ausgaben.

Funktionen

  • Erstellen von LaTeX-Dokumenten aus Parametern oder gebündelten Vorlagen (article, beamer, report)

  • Bearbeiten von Dateien mit Ersetzen-, Einfügen-, Anhängen- und Voranstellen-Operationen

  • Lesen und Auflisten von .tex-Dateien innerhalb eines sicheren Basisverzeichnisses

  • Validieren der Syntax — Klammern, Umgebungen, Referenzen, erforderliche Deklarationen

  • Kompilieren zu PDF mit pdflatex, xelatex oder lualatex

  • Ressourcen — Durchsuchen und Abrufen gebündelter Vorlagen über latex:// URIs

Voraussetzungen

  • Python 3.11.9+

  • LaTeX-Distribution (für die Kompilierung):

    • Windows: MiKTeX oder TeX Live

    • macOS: MacTeX (brew install --cask mactex)

    • Linux: sudo apt install texlive-full (Debian/Ubuntu) oder sudo dnf install texlive-scheme-full (Fedora)

Installation

Verwendung von uv (empfohlen)

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

Verwendung von 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 .

Schnelleinrichtung (Windows)

python quick_setup.py

Dies überprüft die Python-Version, installiert Abhängigkeiten, verifiziert, dass der Server korrekt importiert wird, und konfiguriert optional Claude Desktop.

Konfiguration

Der Server verwendet eine einzige Umgebungsvariable:

Variable

Beschreibung

Standardwert

LATEX_SERVER_BASE_PATH

Stammverzeichnis für alle Dateioperationen

. (aktuelles Verzeichnis)

Alle an Werkzeuge übergebenen Dateipfade werden relativ zu diesem Basisverzeichnis aufgelöst. Der Zugriff außerhalb dieses Verzeichnisses wird verweigert.

MCP-Client-Konfiguration

Claude Desktop

Hinzufügen zu Ihrer 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)

Hinzufügen zu .vscode/mcp.json in Ihrem Arbeitsbereich:

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

Werkzeuge

create_latex_file

Erstellen eines neuen LaTeX-Dokuments aus Parametern.

Parameter

Typ

Standardwert

Beschreibung

file_path

str

erforderlich

Pfad für die neue .tex-Datei

document_type

article|report|book|letter|beamer|minimal

article

Dokumentenklasse

title

str

""

Dokumententitel

author

str

""

Dokumentenautor

date

str

\today

Dokumentendatum

content

str

""

Hauptinhalt

packages

list[str]

[]

Zusätzliche LaTeX-Pakete

geometry

str

""

Geometrieeinstellungen (z. B. margin=1in)

create_from_template

Erstellen eines Dokuments aus einer gebündelten Vorlage.

Parameter

Typ

Standardwert

Beschreibung

file_path

str

erforderlich

Pfad für die neue .tex-Datei

template

article|beamer|report

article

Vorlagenname

edit_latex_file

Bearbeiten einer bestehenden LaTeX-Datei.

Parameter

Typ

Standardwert

Beschreibung

file_path

str

erforderlich

Pfad zur Datei

operation

replace|insert_before|insert_after|append|prepend

erforderlich

Bearbeitungsoperation

new_text

str

erforderlich

Text zum Einfügen oder Ersetzen

search_text

str|null

null

Zu suchender Text (erforderlich für Ersetzen/Einfügen)

line_number

int|null

null

Zeilennummer (1-basiert, Alternative zu search_text)

read_latex_file

Lesen und Zurückgeben des Inhalts einer .tex-Datei.

Parameter

Typ

Standardwert

Beschreibung

file_path

str

erforderlich

Pfad zur Datei

list_latex_files

Auflisten aller .tex-Dateien in einem Verzeichnis.

Parameter

Typ

Standardwert

Beschreibung

directory_path

str

.

Zu durchsuchendes Verzeichnis

recursive

bool

false

Unterverzeichnisse durchsuchen

validate_latex

Überprüfen der LaTeX-Syntax: erforderliche Deklarationen, ausgeglichene Klammern, Umgebungsabgleich, undefinierte Referenzen.

Parameter

Typ

Standardwert

Beschreibung

file_path

str

erforderlich

Pfad zur Datei

get_latex_structure

Extrahieren der Dokumentenstruktur: Klasse, Titel, Autor, Pakete und Abschnittshierarchie.

Parameter

Typ

Standardwert

Beschreibung

file_path

str

erforderlich

Pfad zur Datei

compile_latex

Kompilieren einer .tex-Datei zu PDF (führt die Engine zweimal aus für Referenzen/Inhaltsverzeichnis).

Parameter

Typ

Standardwert

Beschreibung

file_path

str

erforderlich

Pfad zur Datei

engine

pdflatex|xelatex|lualatex

pdflatex

LaTeX-Engine

Ressourcen

URI

Beschreibung

latex://templates

Verfügbare gebündelte Vorlagen auflisten

latex://template/{name}

Inhalt einer bestimmten Vorlage abrufen

Testen

Testen mit dem MCP Inspector:

uv run mcp dev latex_server.py

Oder führen Sie die enthaltene Test-Suite aus:

python test_server.py

Fehlerbehebung

Server startet nicht — Überprüfen Sie Python 3.10+ (python --version) und ob mcp installiert ist (pip list | grep mcp).

Kompilierung schlägt fehl — Stellen Sie sicher, dass eine LaTeX-Distribution in Ihrem PATH vorhanden ist (pdflatex --version). Installieren Sie MiKTeX oder TeX Live, falls diese fehlen.

"Access denied"-Fehler — Der angeforderte Dateipfad liegt außerhalb von LATEX_SERVER_BASE_PATH. Verwenden Sie relative Pfade oder passen Sie die Umgebungsvariable an.

Claude kann keine Verbindung herstellen — Überprüfen Sie die Dateipfade in Ihrer MCP-Konfiguration, starten Sie Claude Desktop neu und verifizieren Sie mit uv run mcp dev latex_server.py.

Lizenz

MIT

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/RobertoDure/mcp-latex-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server