Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Latex Server

БесплатноНе проверен

A comprehensive Model Context Protocol (MCP) server that provides advanced LaTeX file creation, editing, and management capabilities for Large Language Models a

GitHubEmbed

Описание

A comprehensive Model Context Protocol (MCP) server that provides advanced LaTeX file creation, editing, and management capabilities for Large Language Models and AI assistants.

README

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

from github.com/RobertoDure/mcp-latex-server

Установка Latex Server

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/RobertoDure/mcp-latex-server

FAQ

Latex Server MCP бесплатный?

Да, Latex Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Latex Server?

Нет, Latex Server работает без API-ключей и переменных окружения.

Latex Server — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Latex Server в Claude Desktop, Claude Code или Cursor?

Открой Latex Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Latex Server with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории ai