mcp-pandoc: MCP-сервер преобразования документов
Официально включен в проект с открытым исходным кодом серверов Model Context Protocol . 🎉
Обзор
Сервер Model Context Protocol для преобразования форматов документов с использованием pandoc . Этот сервер предоставляет инструменты для преобразования содержимого между различными форматами документов с сохранением форматирования и структуры.
Обратите внимание, что mcp-pandoc в настоящее время находится на ранней стадии разработки. Поддержка PDF находится в стадии разработки, а функциональность и доступные инструменты могут быть изменены и расширены по мере того, как мы продолжаем совершенствовать сервер.
Кредит: В этом проекте для преобразования документов используется пакет Pandoc Python , который является основой этого проекта.
Related MCP server: MCP NPX Fetch
Демо

Продолжение следует...
Инструменты
convert-contentsПреобразует контент между поддерживаемыми форматами
Входные данные:
contents(строка): Исходное содержимое для преобразования (обязательно, если не указан input_file)input_file(строка): Полный путь к входному файлу (обязательно, если содержимое не указано)input_format(string): Исходный формат содержимого (по умолчанию markdown)output_format(string): Целевой формат (по умолчанию markdown)output_file(строка): Полный путь к выходному файлу (обязательно для форматов pdf, docx, rst, latex, epub)
Поддерживаемые форматы ввода/вывода:
уценка
html
pdf
docx
первый
латекс
epub
текст
Примечание: для расширенных форматов (pdf, docx, rst, latex, epub) требуется путь к выходному файлу.
Поддерживаемые форматы
Поддерживаемые в настоящее время форматы:
Основные форматы (прямое преобразование):
Обычный текст (.txt)
Уценка (.md)
HTML-код (.html)
Расширенные форматы (требуются полные пути к файлам):
PDF (.pdf) — требуется установка TeX Live
DOCX (.docx)
РСТ (.rst)
LaTeX (.tex)
EPUB-файл (.epub)
Примечание: для расширенных форматов:
Требуются полные пути к файлам с именем файла и расширением.
Для преобразования PDF требуется установка TeX Live (см. раздел Критические требования -> Для macOS:
brew install texlive)Если выходной путь не указан:
Базовые форматы: отображает преобразованный контент в чате.
Расширенные форматы: можно сохранять во временном каталоге системы (/tmp/ в системах Unix)
Использование и конфигурация
ПРИМЕЧАНИЕ. Обязательно завершите установку обязательных пакетов, указанных ниже в разделе «Критические требования».
Использовать опубликованный
⚠️ Важные примечания
Критические требования
Установка Пандока
Требуется : установить
pandoc— основной механизм конвертации документов.Установка:
# macOS brew install pandoc # Ubuntu/Debian sudo apt-get install pandoc # Windows # Download installer from: https://pandoc.org/installing.htmlПроверьте :
pandoc --version
Установка УФ-пакета
Требуется : установить пакет
uv(включая командуuvx)Установка:
# macOS brew install uv # Windows/Linux pip install uvПроверьте :
uvx --version
Предварительные условия для конвертации PDF: необходимы только в том случае, если вам нужно конвертировать и сохранять PDF.
Перед попыткой конвертации PDF необходимо установить TeX Live.
Команды установки:
# Ubuntu/Debian sudo apt-get install texlive-xetex # macOS brew install texlive # Windows # Install MiKTeX or TeX Live from: # https://miktex.org/ or https://tug.org/texlive/
Требования к пути к файлу
При сохранении или конвертации файлов ОБЯЗАТЕЛЬНО указывайте полные пути к файлам, включая имя файла и расширение.
Инструмент не генерирует автоматически имена файлов и расширения.
Примеры
✅ Правильное использование:
❌ Неправильное использование:
Распространенные проблемы и решения
Конвертация PDF не удалась
Ошибка: «xelatex не найден»
Решение: Сначала установите TeX Live (см. команды установки выше)
Ошибка преобразования файла
Ошибка: «Неверный путь к файлу»
Решение: Укажите полный путь, включая имя файла и расширение.
Пример:
/path/to/document.pdfвместо просто/path/to/
Не удалось преобразовать формат
Ошибка: «Неподдерживаемый формат»
Решение: Используйте только поддерживаемые форматы:
Базовые: txt, html, markdown
Расширенный: pdf, docx, rst, latex, epub
Быстрый старт
Установить
Вариант 1: Установка вручную с помощью файла конфигурации claude_desktop_config.json
На MacOS:
open ~/Library/Application\ Support/Claude/claude_desktop_config.jsonВ Windows:
%APPDATA%/Claude/claude_desktop_config.json
а) Только для локального развития и вклада в этот репозиторий
ℹ️ Замените на путь к вашему локально клонированному проекту
б) Конфигурация опубликованных серверов — потребители должны использовать эту конфигурацию
Вариант 2: Автоматическая установка конфигурации опубликованных серверов через Smithery
Выполните следующую команду bash, чтобы автоматически установить опубликованный mcp-pandoc pypi для Claude Desktop через Smithery :
Если у вас возникли какие-либо проблемы, используйте «Конфигурацию опубликованных серверов» выше, а не этот cli.
Примечание : Чтобы использовать локально настроенный mcp-pandoc, выполните шаг «Конфигурация разработки/неопубликованных серверов» выше.
Разработка
Строительство и издательское дело
Чтобы подготовить пакет к распространению:
Синхронизируем зависимости и обновляем файл блокировки:
Сборка дистрибутивов пакетов:
Это создаст исходный код и дистрибутивы wheel в каталоге dist/ .
Опубликовать в PyPI:
Примечание: вам необходимо задать учетные данные PyPI с помощью переменных среды или флагов команд:
Токен:
--tokenилиUV_PUBLISH_TOKENИли имя пользователя/пароль:
--username/UV_PUBLISH_USERNAMEи--password/UV_PUBLISH_PASSWORD
Отладка
Поскольку серверы MCP работают через stdio, отладка может быть сложной. Для лучшего опыта отладки мы настоятельно рекомендуем использовать MCP Inspector .
Вы можете запустить MCP Inspector через npm с помощью этой команды:
После запуска Инспектор отобразит URL-адрес, к которому вы можете перейти в своем браузере, чтобы начать отладку.
Внося вклад
Мы приветствуем вклады в улучшение mcp-pandoc! Вот как вы можете принять участие:
Сообщить о проблемах : Нашли ошибку или хотите запросить функцию? Откройте проблему на нашей странице GitHub Issues .
Отправьте запросы на извлечение : улучшите кодовую базу или добавьте функции, создав запрос на извлечение.