MCP LaTeX Server
Servidor MCP LaTeX
Un servidor del Protocolo de Contexto de Modelo (MCP) para la creación, edición, validación y compilación de archivos LaTeX. Construido con FastMCP y Pydantic para una salida estructurada y con seguridad de tipos.
Características
Crear documentos LaTeX a partir de parámetros o plantillas incluidas (article, beamer, report)
Editar archivos con operaciones de reemplazar, insertar, añadir al final y añadir al principio
Leer y listar archivos
.texdentro de un directorio base seguroValidar la sintaxis: llaves, entornos, referencias, declaraciones requeridas
Compilar a PDF con
pdflatex,xelatexolualatexRecursos: explora y recupera plantillas incluidas mediante URIs
latex://
Requisitos previos
Python 3.11.9+
Distribución de LaTeX (para la compilación):
Instalación
Usando uv (recomendado)
git clone https://github.com/RobertoDure/mcp-latex-server
cd mcp-latex-server
uv pip install -e .Usando 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 .Configuración rápida (Windows)
python quick_setup.pyEsto verifica la versión de Python, instala las dependencias, comprueba que las importaciones del servidor sean correctas y, opcionalmente, configura Claude Desktop.
Configuración
El servidor utiliza una única variable de entorno:
Variable | Descripción | Predeterminado |
| Directorio raíz para todas las operaciones de archivo |
|
Todas las rutas de archivo pasadas a las herramientas se resuelven de forma relativa a este directorio base. Se deniega el acceso fuera del mismo.
Configuración del cliente MCP
Claude Desktop
Añadir a tu claude_desktop_config.json:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.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)
Añadir a .vscode/mcp.json en tu espacio de trabajo:
{
"servers": {
"latex-server": {
"command": "uv",
"args": [
"--directory",
"/path/to/mcp-latex-server",
"run",
"latex_server.py"
],
"env": {
"LATEX_SERVER_BASE_PATH": "${workspaceFolder}"
}
}
}
}Herramientas
create_latex_file
Crea un nuevo documento LaTeX a partir de parámetros.
Parámetro | Tipo | Predeterminado | Descripción |
|
| requerido | Ruta para el nuevo archivo |
|
|
| Clase de documento |
|
|
| Título del documento |
|
|
| Autor del documento |
|
|
| Fecha del documento |
|
|
| Contenido del cuerpo |
|
|
| Paquetes LaTeX adicionales |
|
|
| Configuración de geometría (ej. |
create_from_template
Crea un documento a partir de una plantilla incluida.
Parámetro | Tipo | Predeterminado | Descripción |
|
| requerido | Ruta para el nuevo archivo |
|
|
| Nombre de la plantilla |
edit_latex_file
Edita un archivo LaTeX existente.
Parámetro | Tipo | Predeterminado | Descripción |
|
| requerido | Ruta al archivo |
|
| requerido | Operación de edición |
|
| requerido | Texto a insertar o con el que reemplazar |
|
|
| Texto a buscar (requerido para reemplazar/insertar) |
|
|
| Número de línea (empezando por 1, alternativa a |
read_latex_file
Lee y devuelve el contenido de un archivo .tex.
Parámetro | Tipo | Predeterminado | Descripción |
|
| requerido | Ruta al archivo |
list_latex_files
Lista todos los archivos .tex en un directorio.
Parámetro | Tipo | Predeterminado | Descripción |
|
|
| Directorio a buscar |
|
|
| Buscar en subdirectorios |
validate_latex
Comprueba la sintaxis LaTeX: declaraciones requeridas, llaves equilibradas, coincidencia de entornos, referencias no definidas.
Parámetro | Tipo | Predeterminado | Descripción |
|
| requerido | Ruta al archivo |
get_latex_structure
Extrae la estructura del documento: clase, título, autor, paquetes y jerarquía de secciones.
Parámetro | Tipo | Predeterminado | Descripción |
|
| requerido | Ruta al archivo |
compile_latex
Compila un archivo .tex a PDF (ejecuta el motor dos veces para referencias/TOC).
Parámetro | Tipo | Predeterminado | Descripción |
|
| requerido | Ruta al archivo |
|
|
| Motor LaTeX |
Recursos
URI | Descripción |
| Lista las plantillas incluidas disponibles |
| Obtiene el contenido de una plantilla específica |
Pruebas
Prueba con el Inspector MCP:
uv run mcp dev latex_server.pyO ejecuta la suite de pruebas incluida:
python test_server.pySolución de problemas
El servidor no inicia — Verifica Python 3.10+ (python --version) y que mcp esté instalado (pip list | grep mcp).
La compilación falla — Asegúrate de que una distribución de LaTeX esté en tu PATH (pdflatex --version). Instala MiKTeX o TeX Live si falta.
Errores de "Acceso denegado" — La ruta de archivo solicitada se resuelve fuera de LATEX_SERVER_BASE_PATH. Usa rutas relativas o ajusta la variable de entorno.
Claude no puede conectar — Revisa las rutas de archivo en tu configuración de MCP, reinicia Claude Desktop y verifica con uv run mcp dev latex_server.py.
Licencia
MIT
This server cannot be installed
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