flexberry-markitdown-mcp
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@flexberry-markitdown-mcpconvert meeting_notes.docx to markdown"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Flexberry MarkItDown MCP Server
MCP-сервер для двунаправленной конвертации документов:
Любой формат → Markdown (через Microsoft MarkItDown)
Markdown → PDF (через Playwright / headless Chromium — подход из vscode-markdown-pdf)
Использует:
Microsoft MarkItDown — конвертация любых форматов в Markdown
Подход vscode-markdown-pdf — генерация PDF через headless Chromium
Установка — одна команда
pip install flexberry-markitdown-mcpВсё! При первом вызове convert_to_pdf Chromium скачается автоматически (как в vscode-markdown-pdf).
Дополнительные опции
# Легковесный бэкенд без браузера (не поддерживает JS-рендеринг)
pip install flexberry-markitdown-mcp[weasyprint]
# Для разработки
pip install flexberry-markitdown-mcp[dev]Related MCP server: MarkItDown MCP Server
Возможности
Конвертация в Markdown (convert_to_markdown)
30+ форматов: PDF, DOCX, PPTX, XLSX, HTML, изображения (OCR), аудио (транскрипция), EPUB, ZIP...
Поддержка кириллицы в именах файлов и содержимом
Атомарная запись (временный файл + переименование)
Конвертация в PDF (convert_to_pdf)
Playwright (по умолчанию) — headless Chromium, как в vscode-markdown-pdf
Chromium скачивается автоматически при первом использовании
Поддержка JavaScript-рендеринга (Mermaid, PlantUML и т.д.)
Колонтитулы с номерами страниц
WeasyPrint (опционально) — чистый Python, без браузера
GitHub-стиль оформления (таблицы, код, блок-схемы)
Подсветка синтаксиса через Pygments
Настраиваемый формат страницы, поля, CSS
Настройка MCP-клиента
Claude Desktop / RooCode / Cursor
{
"mcpServers": {
"flexberry-markitdown": {
"command": "python3",
"args": ["-m", "flexberry_markitdown_mcp.server"]
}
}
}Через uv
{
"mcpServers": {
"flexberry-markitdown": {
"command": "uv",
"args": [
"--directory", "/path/to/flexberry-markitdown-mcp",
"run", "flexberry-markitdown-mcp"
]
}
}
}Инструменты
convert_to_markdown
Конвертирует файл любого поддерживаемого формата в Markdown.
Параметр | Тип | Обязательный | Описание |
| string | ✅ | Абсолютный путь к файлу |
| string | ❌ | Пользовательский путь вывода |
| boolean | ❌ | Перезаписать существующий (по умолч.: false) |
convert_to_pdf
Конвертирует Markdown-файл в PDF. Бэкенд по умолчанию — Playwright (как в vscode-markdown-pdf).
Параметр | Тип | Обязательный | Описание |
| string | ✅ | Абсолютный путь к .md файлу |
| string | ❌ | Пользовательский путь вывода PDF |
| string | ❌ |
|
| boolean | ❌ | Перезаписать существующий (по умолч.: false) |
| string | ❌ | Дополнительный CSS |
| boolean | ❌ | Включить встроенные стили (по умолч.: true) |
| string | ❌ | Формат бумаги: A4, Letter и т.д. (по умолч.: A4) |
| string | ❌ | Верхнее поле (по умолч.: 1.5cm) |
| string | ❌ | Нижнее поле (по умолч.: 1cm) |
| string | ❌ | Левое поле (по умолч.: 1cm) |
| string | ❌ | Правое поле (по умолч.: 1cm) |
| boolean | ❌ | Печатать фон (по умолч.: true) |
| boolean | ❌ | Колонтитулы (по умолч.: true, Playwright) |
get_supported_formats
Список поддерживаемых форматов и доступные PDF-бэкенды.
check_file_exists
Проверяет существование файла и возвращает информацию.
list_directory
Показывает содержимое директории.
Архитектура
┌──────────────────────────────────────────────────────┐
│ MCP Server (stdio) │
├──────────────────────────────────────────────────────┤
│ │
│ convert_to_markdown convert_to_pdf │
│ ┌───────────────┐ ┌──────────────────┐ │
│ │ MarkItDown │ │ markdown-it-py │ │
│ │ (any→MD) │ │ (MD→HTML) │ │
│ └───────┬───────┘ └────────┬─────────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌───────────────┐ ┌──────────────────┐ │
│ │ Atomic write │ │ HTML template │ │
│ │ (MD to disk) │ │ + GitHub CSS │ │
│ └───────────────┘ └────────┬─────────┘ │
│ │ │
│ ┌─────────┴──────────┐ │
│ ▼ ▼ │
│ ┌──────────────┐ ┌────────────┐ │
│ │ Playwright │ │ WeasyPrint │ │
│ │ (DEFAULT) │ │ (optional) │ │
│ │ Chromium │ │ Pure Python│ │
│ │ auto-d/l │ │ No JS │ │
│ └──────┬───────┘ └─────┬──────┘ │
│ ▼ ▼ │
│ ┌─────────────────────────────┐ │
│ │ PDF saved to disk │ │
│ └─────────────────────────────┘ │
└──────────────────────────────────────────────────────┘Сравнение бэкендов PDF
Характеристика | Playwright (по умолч.) | WeasyPrint (опционально) |
Установка | Автоматически при |
|
Chromium | Автозагрузка при первом запуске | Не нужен |
JavaScript | ✅ Полная поддержка | ❌ |
Mermaid/PlantUML | ✅ | ❌ |
Колонтитулы | ✅ Номера страниц | Через CSS @page |
Рекомендация | Все документы | Легковесный fallback |
Журналирование
Журналы сервера сохраняются в:
Linux:
~/.flexberry-markitdown-mcp/server.logWindows:
C:\Users\<user>\.flexberry-markitdown-mcp\server.log
Устранение неполадок
Ошибка: "MarkItDown not installed"
pip install flexberry-markitdown-mcpОшибка: "MCP module not found"
pip install flexberry-markitdown-mcpПроблемы с кириллицей в Windows
Убедитесь, что в терминале используется кодировка UTF-8. Сервер автоматически устанавливает UTF-8 для stdin/stdout/stderr.
OCR не работает для изображений
Установите Tesseract:
Windows: загрузите с https://github.com/UB-Mannheim/tesseract/wiki
Linux:
sudo apt install tesseract-ocr(Ubuntu/Debian)
Для русского языка установите языковой пакет:
Windows: выберите русский язык во время установки
Linux:
sudo apt install tesseract-ocr-rus
Транскрипция аудио не работает
MarkItDown использует Azure Speech Services для транскрипции. Убедитесь, что переменные среды настроены.
Chromium не скачивается автоматически
playwright install chromiumРазработка
Запуск тестов
pip install -e ".[dev]"
pytestСтруктура проекта
flexberry-markitdown-mcp/
├── src/
│ └── flexberry_markitdown_mcp/
│ ├── __init__.py
│ ├── converter.py # MD → PDF конвертация
│ ├── server.py # MCP сервер
│ └── styles.py # CSS стили для PDF
├── tests/
│ └── test_converter.py
├── pyproject.toml
└── README.mdЛицензия
MIT
This server cannot be installed
Maintenance
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
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Flexberry/flexberry-markitdown-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server