Skip to main content
Glama

MCP LaTeX Server

Сервер протокола контекста модели (MCP) для создания, редактирования, проверки и компиляции файлов LaTeX. Построен на базе FastMCP и Pydantic для обеспечения типизированного структурированного вывода.

Возможности

  • Создание документов LaTeX на основе параметров или встроенных шаблонов (article, beamer, report)

  • Редактирование файлов с помощью операций замены, вставки, добавления в конец и в начало

  • Чтение и список файлов .tex в защищенной базовой директории

  • Проверка синтаксиса — скобки, окружения, ссылки, обязательные декларации

  • Компиляция в PDF с помощью pdflatex, xelatex или lualatex

  • Ресурсы — просмотр и получение встроенных шаблонов через URI latex://

Предварительные требования

  • Python 3.11.9+

  • Дистрибутив LaTeX (для компиляции):

    • Windows: MiKTeX или TeX Live

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

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

Установка

Использование uv (рекомендуется)

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

Использование 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 .

Быстрая настройка (Windows)

python quick_setup.py

Это проверяет версию Python, устанавливает зависимости, проверяет корректность импорта сервера и при необходимости настраивает Claude Desktop.

Конфигурация

Сервер использует одну переменную окружения:

Переменная

Описание

По умолчанию

LATEX_SERVER_BASE_PATH

Корневая директория для всех операций с файлами

. (текущая директория)

Все пути к файлам, передаваемые инструментам, разрешаются относительно этой базовой директории. Доступ за ее пределами запрещен.

Конфигурация клиента MCP

Claude Desktop

Добавьте в ваш 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)

Добавьте в .vscode/mcp.json в вашем рабочем пространстве:

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

Инструменты

create_latex_file

Создание нового документа LaTeX на основе параметров.

Параметр

Тип

По умолчанию

Описание

file_path

str

обязательно

Путь для нового файла .tex

document_type

article|report|book|letter|beamer|minimal

article

Класс документа

title

str

""

Заголовок документа

author

str

""

Автор документа

date

str

\today

Дата документа

content

str

""

Содержимое документа

packages

list[str]

[]

Дополнительные пакеты LaTeX

geometry

str

""

Настройки геометрии (например, margin=1in)

create_from_template

Создание документа на основе встроенного шаблона.

Параметр

Тип

По умолчанию

Описание

file_path

str

обязательно

Путь для нового файла .tex

template

article|beamer|report

article

Имя шаблона

edit_latex_file

Редактирование существующего файла LaTeX.

Параметр

Тип

По умолчанию

Описание

file_path

str

обязательно

Путь к файлу

operation

replace|insert_before|insert_after|append|prepend

обязательно

Операция редактирования

new_text

str

обязательно

Текст для вставки или замены

search_text

str|null

null

Текст для поиска (обязательно для replace/insert)

line_number

int|null

null

Номер строки (начиная с 1, альтернатива search_text)

read_latex_file

Чтение и возврат содержимого файла .tex.

Параметр

Тип

По умолчанию

Описание

file_path

str

обязательно

Путь к файлу

list_latex_files

Список всех файлов .tex в директории.

Параметр

Тип

По умолчанию

Описание

directory_path

str

.

Директория для поиска

recursive

bool

false

Поиск в поддиректориях

validate_latex

Проверка синтаксиса LaTeX: обязательные декларации, сбалансированные скобки, соответствие окружений, неопределенные ссылки.

Параметр

Тип

По умолчанию

Описание

file_path

str

обязательно

Путь к файлу

get_latex_structure

Извлечение структуры документа: класс, заголовок, автор, пакеты и иерархия разделов.

Параметр

Тип

По умолчанию

Описание

file_path

str

обязательно

Путь к файлу

compile_latex

Компиляция файла .tex в PDF (запускает движок дважды для ссылок/оглавления).

Параметр

Тип

По умолчанию

Описание

file_path

str

обязательно

Путь к файлу

engine

pdflatex|xelatex|lualatex

pdflatex

Движок LaTeX

Ресурсы

URI

Описание

latex://templates

Список доступных встроенных шаблонов

latex://template/{name}

Получить содержимое конкретного шаблона

Тестирование

Тестирование с помощью MCP Inspector:

uv run mcp dev latex_server.py

Или запустите включенный набор тестов:

python test_server.py

Устранение неполадок

Сервер не запускается — Проверьте версию Python 3.10+ (python --version) и наличие установленного mcp (pip list \| grep mcp).

Компиляция не удается — Убедитесь, что дистрибутив LaTeX находится в вашем PATH (pdflatex --version). Установите MiKTeX или TeX Live, если они отсутствуют.

Ошибки "Access denied" — Запрошенный путь к файлу выходит за пределы LATEX_SERVER_BASE_PATH. Используйте относительные пути или измените переменную окружения.

Claude не может подключиться — Перепроверьте пути к файлам в вашей конфигурации MCP, перезапустите Claude Desktop и проверьте с помощью uv run mcp dev latex_server.py.

Лицензия

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