Skip to main content
Glama

MistralDocAI MCP Server

License Node.js CI npm Conformance

Сервер MCP, который преобразует документы и изображения в Markdown с помощью OCR и vision-моделей Mistral AI. Укажите ему PDF, презентацию, документ Word или отсканированное изображение — и ваш MCP-клиент получит Markdown.

Он предназначен для тех, кто уже использует MCP-клиент, такой как Claude Desktop, и хочет преобразовывать документы прямо в нём, а не с помощью отдельного инструмента.

Статус: активно поддерживается, на условиях «best-effort», как личный проект. Актуальна версия 2.0. См. Версии и совместимость перед обновлением с 1.x.

Язык: этот проект только на английском. Тексты интерфейса, документация и сообщения об ошибках — на английском, локализованные сборки не публикуются. Обрабатываемые документы могут быть на любом языке, который поддерживают модели Mistral.

Требования

Node.js

22 или новее, указано в engines.node в package.json

Python

3.10 или новее, доступен в PATH как python3 или python

Ключ Mistral API

Бесплатно создаётся на console.mistral.ai

Платформы

Linux, macOS и Windows, все покрыты CI

Зависимости Python вы не устанавливаете сами. Сервер создаёт виртуальное окружение в ~/.mistraldocai-mcp/ при первом запуске.

Related MCP server: Mistral OCR MCP Server

Установка

Проверьте, что ваша машина может его запустить:

npx @trsdn/mistraldocai-mcp-server --test

Это создаёт окружение Python, устанавливает зависимости, импортирует сервер и сообщает, что он нашёл. Запустите это перед настройкой клиента, потому что это превращает молчаливый сбой на стороне клиента в читаемую ошибку.

Настройка

Ваш ключ API

Либо экспортируйте его в окружении, из которого ваш клиент запускает сервер:

export MISTRAL_API_KEY=your_key_here

Либо поместите его в ~/.mistraldocai-mcp/.env, который сервер создаёт при первом запуске:

MISTRAL_API_KEY=your_key_here

Файл обычно более надёжен, потому что настольные MCP-клиенты часто не наследуют окружение вашей оболочки.

Claude Desktop

Добавьте это в claude_desktop_config.json:

{
  "mcpServers": {
    "mistraldocai": {
      "command": "npx",
      "args": ["@trsdn/mistraldocai-mcp-server"],
      "env": {
        "MISTRAL_API_KEY": "your_key_here"
      }
    }
  }
}

Другие клиенты

Подойдёт любой клиент, который запускает MCP-сервер через stdio. Используйте npx @trsdn/mistraldocai-mcp-server в качестве команды и укажите MISTRAL_API_KEY в окружении.

Инструменты

process_document

Преобразует один документ или изображение в Markdown. Передайте либо путь, либо содержимое в base64.

Параметр

Тип

Примечания

file_path

string

Путь к файлу. Используйте это или base64_content.

base64_content

string

Содержимое файла в кодировке base64. Требует file_name.

file_name

string

Исходное имя файла, используется для определения формата.

mime_type

string

Необязательно. Определяется по расширению, если не указано.

{ "name": "process_document", "arguments": { "file_path": "/path/to/report.pdf" } }

process_directory

Преобразует все поддерживаемые файлы в каталоге, создавая один файл .md для каждого входного файла и сохраняя структуру каталогов.

Параметр

Тип

Примечания

input_directory

string

Каталог для чтения.

output_directory

string

Каталог для записи Markdown.

get_supported_formats

Возвращает поддерживаемые форматы и их ограничения. Параметров не принимает.

Поддерживаемые форматы

Вид

Расширения

Документы

.pdf, .pptx, .docx

Изображения

.png, .jpg, .jpeg, .gif, .bmp, .avif

Ограничения задаются OCR API Mistral: 50 МБ на файл и 1000 страниц на документ. Цены и пропускная способность принадлежат Mistral, а не этому проекту; проверяйте страницу цен для актуальных цифр, а не доверяйте числу, скопированному в README.

Данные и конфиденциальность

Обрабатываемые документы отправляются в Mistral AI. В этом и заключается весь смысл сервера, но это означает, что содержимое покидает вашу машину. Не обрабатывайте материалы, которыми вам не разрешено делиться со сторонним AI-провайдером.

Вопрос

Ответ

Что собирается

Ничего этим проектом. В нём нет телеметрии, аналитики и сбора сбоев.

Куда попадают данные

api.mistral.ai, для преобразования вашего документа. Это единственный исходящий адрес, кроме PyPI и npm во время установки.

Кто получает ваш контент

Mistral AI. Их политика конфиденциальности определяет, что они с ним делают.

Что хранится локально

~/.mistraldocai-mcp/.env содержит ваш ключ API. ~/.mistraldocai-mcp/venv/ содержит окружение Python. Преобразованный Markdown сохраняется туда, куда вы попросили.

Хранение

Этот проект не хранит ничего, кроме этих файлов. Удалите ~/.mistraldocai-mcp/, чтобы удалить всё, что он создал. Хранение в Mistral регулируется их условиями.

Логирование

Диагностика идёт в stderr и никогда не включает ваш ключ API или содержимое документов.

Доступность

Вывод в консоли — простой ASCII, без цвета и декоративных символов, поэтому он остаётся читаемым в программе чтения с экрана, в терминале Windows и в журнале клиента, который удаляет форматирование.

Известное ограничение: у сервера нет собственного интерфейса. Всё, что вы видите, исходит от вашего MCP-клиента, поэтому доступ с клавиатуры, обработка фокуса и контраст — это поведение вашего клиента, а не этого проекта. Проблемы доступности в представлении разговора относятся к трекеру вашего клиента.

Версии и совместимость

Этот проект следует Semantic Versioning. Мажорная версия — это когда повышается минимальная версия Node, зависимость Python mcp переходит через мажорную версию или меняется контракт инструмента.

Обновление с 1.x требует Node.js 22 или новее. Версии 1.0.4 и ранее вообще нельзя установить в чистом окружении: их требования к Python были неограниченными и теперь разрешаются в несовместимые релизы. Поддерживаемого запасного варианта 1.x нет. Полное описание — в CHANGELOG.md.

Как это работает

MCP client  --stdio-->  dist/index.js  --spawn-->  python/mcp_server.py  --HTTPS-->  api.mistral.ai
                             |                            |
                    manages ~/.mistraldocai-mcp/    docmistral.py does the
                    venv, deps, and .env            conversion

Два ограничения объясняют большую часть дизайна:

  • stdout — это протокол. MCP-клиент разбирает stdout как JSON-RPC, поэтому вся диагностика на обоих языках идёт в stderr. Случайный print нарушает сеанс.

  • Каталог пакета доступен только для чтения. Глобальная установка npm не может быть записана, поэтому виртуальное окружение, .env и всё остальное состояние находятся в ~/.mistraldocai-mcp/.

Разработка

git clone https://github.com/trsdn/MistralDocAI-mcp.git
cd MistralDocAI-mcp
npm ci
npm run build

Проверьте изменение одной командой, которую также запускает CI:

npm run verify

Если вы изменили что-либо в python/, также запустите ruff check . и python3 scripts/verify_python_server.py в интерпретаторе, где установлен python/mcp_requirements.txt.

AGENTS.md содержит полную структуру, соглашения и список операций, которые запрещены. Он написан для AI-агентов и для человека тоже является самым быстрым способом сориентироваться.

Документы проекта

Документ

Что описывает

CHANGELOG.md

Что изменилось в каждом релизе и вопросы обновления

CONTRIBUTING.md

Настройка, проверка и что приводит к отклонению pull request

AGENTS.md

Структура репозитория, соглашения и запрещённые операции

SECURITY.md

Поддерживаемые версии и приватное сообщение об уязвимостях

SUPPORT.md

Частые проблемы и куда обращаться

docs/self-assessment.md

Соответствие стандарту качества репозитория

Лицензия

MIT.

Этот репозиторий оценивается по стандарту качества репозитория trsdn. Результат записан в .github/conformance.yml, с доказательствами по каждому критерию в docs/self-assessment.md.

Related MCP Connectors

Related MCP Servers