AIKraft Agents

haris-musa/excel-mcp-server

Сервер MCP для работы с файлами Excel

MCP⭐ 4 279Pythonпоследний релиз: v2.2.6
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

MCP-сервер для манипуляций с Excel-файлами, позволяющий создавать, читать и изменять рабочие книги без установленного Microsoft Excel.

Зачем нужен

Инструмент решает задачу интеграции AI-агентов с табличными данными через протокол Model Context Protocol (MCP). Он полезен тем, что позволяет LLM-агентам программно генерировать отчеты, форматы и сложные структуры данных, не требуя наличия офисного ПО на машине с агентом.

Что можно реализовать

  • Автоматическая генерация и форматирование отчетов (таблицы, сводные таблицы, диаграммы) по запросу AI-агента
  • Чтение и анализ данных из существующих Excel-файлов в рамках RAG-контекста
  • Создание новых Excel-документов с формулами, условным форматированием и стилями из кода
  • Удаленное управление Excel-файлами через Streamable HTTP или SSE при работе с удаленными MCP-серверами

Ключевые возможности

  • Поддержка трех транспортов: stdio, SSE (deprecated) и Streamable HTTP
  • Работа без установленного Microsoft Excel (использует библиотеку openpyxl)
  • Встроенная валидация данных, формул и целостности диапазонов
  • Поддержка сложных объектов: сводные таблицы, диаграммы, Excel-таблицы, условное форматирование
  • Гибкая настройка путей к файлам через переменную окружения EXCEL_FILES_PATH для HTTP-транспортов

👤 Кому подойдёт: разработчики AI-агентов, инженеры по данным, автоматизаторы бизнес-процессов, использующие MCP-совместимые клиенты (Cursor, Claude Desktop и др.)

Релизы

v2.2.6patch
🕐 5 дн назад · релиз на GitHub ↗

Исправлено открытие книг Excel с слайсерами таблиц, созданными до слайсеров сводных таблиц или временных шкал.

  • Fixed: Устранена ошибка открытия книг Excel, содержащих слайсеры таблиц, созданные до слайсеров сводных таблиц или временных шкал.
v2.2.4patch
🕐 5 дн назад · релиз на GitHub ↗

Ускорено сохранение больших листов с динамическими массивами и добавлена строгая валидация повреждённых частей книги.

  • Fixed: Возвращена высокая скорость сохранения книг на больших листах с динамическими массивами, содержащими мало изменяемых ячеек.
  • Fixed: Заменён краш на понятную ошибку при открытии книг со sparkline без указания локации (sqref).
  • Fixed: Добавлена валидация и отказ в работе с игнорируемыми ошибками, защищёнными диапазонами и условиями сортировки без обязательных атрибутов.
  • Fixed: Исправлена обработка некорректных списков кэшей слайсеров.
v2.2.3patch
🕐 7 дн назад · релиз на GitHub ↗

Выпуск v2.2.3: устранена уязвимость, позволявшая вызывать квадратичное время сохранения через crafted-книги.

  • Fixed: Исправлена уязвимость (GHSA-5px3-v5xm-4jhw), при которой специально созданная книга могла вызывать квадратичное время сохранения.
  • Fixed: Оптимизировано удаление условных форматов Excel 2010: теперь они удаляются за один проход по расширениям листа, а не по каждому правилу.
  • Fixed: Устранена аналогичная проблема производительности в других местах, где содержимое сканировалось поэлементно: sparkline, валидация, отношения пакета, динамические массивы и кэши слайсеров.
v2.2.2patch
🕐 16 дн назад · релиз на GitHub ↗

Релиз безопасности: ограничено потребление памяти при загрузке книг и обновлена Pillow.

  • Fixed: Внедрено ограничение на количество ячеек (до 3 млн) для предотвращения исчерпания памяти при загрузке больших книг.
  • Fixed: Обновлена зависимость Pillow до версии 13.0+ для устранения уязвимостей и проблем с безопасностью памяти.
  • Fixed: Исправлена работа с листами, не имеющими атрибута r, которые теперь обрабатываются через оптимизированный путь.
  • Fixed: Метод describe_sheet для больших листов больше не загружает все ячейки в память, а использует XML-данные.
v2.2.1major
🕐 18 дн назад · релиз на GitHub ↗

Радикальное ускорение операций с большими листами Excel: вставка, удаление, сортировка и сводные таблицы работают в разы быстрее.

  • Added: Значительное ускорение вставки, удаления строк и столбцов, а также сортировки на больших листах (до 200 000 строк).
  • Added: Операции copy_sheet и create_pivot_table теперь выполняются за секунды вместо минут благодаря оптимизации парсинга.
  • Added: Внутренние изменения: чтение и запись строк как текста вместо использования XML-библиотеки для повышения скорости.
  • Added: Оптимизация обработки формул: упрощённые ссылки проверяются один раз на форму, а не по каждой ячейке.
  • Added: Вставка столбцов теперь применяет форматирование один раз на тип соседа, а не для каждой ячейки.
  • Fixed: copy_sheet листа, превышающего лимит ячеек, теперь отклоняется без загрузки всего листа.
v2.2.0major
🕐 18 дн назад · релиз на GitHub ↗

Резкое ускорение работы с большими файлами, новые инструменты CSV и аудита формул, поддержка ограниченного набора инструментов.

  • Added: Мгновенные правки в больших книгах: скорость выросла с 50 до 3 секунд за счет ленивой загрузки и частичного парсинга XML.
  • Added: Добавлены инструменты import_csv и export_csv с умным определением разделителей, поддержкой кодировок и защитой от инъекции формул.
  • Added: Введены trace_formula для аудита зависимостей и evaluate для пошагового вычисления, а также goal_seek для подбора параметров.
  • Added: Появилась опция --tools для загрузки только нужных инструментов, что значительно сокращает объем контекста.
  • Fixed: Исправлена обработка переполнения экспоненты: теперь возвращается ошибка #NUM!, как в Excel.
v2.1.1minor
🕐 20 дн назад · релиз на GitHub ↗

PivotTables теперь поддерживают смешанные типы данных, а редактирование больших таблиц стало значительно быстрее.

  • Added: PivotTables теперь корректно обрабатывают смешанные типы данных: текст, числа, даты, формулы, логические значения, ошибки и время.
  • Added: Функция create_pivot_table и связанные инструменты (слайсеры, временные шкалы) теперь принимают источники данных без ошибок, точно повторяя поведение Excel.
  • Fixed: Исправлена ошибка #215: теперь корректно обрабатываются ячейки с ошибками, формулами и смешанными типами в полях строк, столбцов и фильтров.
  • Added: Значительно ускорено редактирование книг с большими PivotTables (до 134 000 строк) за счет отказа от парсинга кэша записей.
  • Added: Снижено потребление памяти при работе с большими PivotTables: пиковое значение уменьшилось с 2.9 ГБ до 1 ГБ.
v2.0.0majorbreaking
🕐 26 дн назад · релиз на GitHub ↗

Excel MCP Server 2.0: 42 инструмента, расчет формул без Excel, PivotTables, чарты и VBA.

  • Breaking: Изменены имена инструментов, параметры и результаты, что ломает совместимость с клиентами версии 1.x.
  • Added: Расчет формул без Excel: поддержка ~260 функций, динамических массивов и структурных ссылок.
  • Added: Полная поддержка чартов всех типов Excel, включая новые виды 2016 года и комбинированные графики.
  • Added: Создание и редактирование реальных сводных таблиц (PivotTables) с слайсерами и таймлайнами.
  • Added: Опциональная запись VBA-модулей через флаг --allow-vba-write для файлов .xlsm и .xltm.
v1.1.2patchbreaking
🕐 28 дн назад · релиз на GitHub ↗

Исправлены критические уязвимости безопасности при импорте Excel-файлов: расширена проверка формул и ссылок, добавлены блокировки опасных функций.

  • Breaking: Импорт файлов с правилами проверки данных, использующими функции INDIRECT или CELL, теперь отклоняется.
  • Fixed: Расширена проверка формул: теперь сканируются все формулы в файле, включая скрытые области, условное форматирование и расширения Excel 2010.
  • Fixed: Заблокированы ссылки на внешние книги без квадратных скобок, вызовы функций в конце ссылок и опасные конструкции с операторами диапазонов.
  • Fixed: Запрещены ссылки на несуществующие листы: формулы, ссылающиеся на еще не созданные листы, теперь отклоняются.
  • Fixed: Предупреждения библиотек (например, openpyxl) больше не выводятся в stderr, а логируются только на уровне DEBUG.
v1.0.0majorbreaking
🕐 1 мес назад · релиз на GitHub ↗

Полный редизайн инструментов, усиление безопасности и поддержка MCP 2.0 в Excel MCP Server v1.0.0.

  • Breaking: Полностью переработан набор инструментов: старые имена заменены на новые, а валидация формул интегрирована в write_range.
  • Fixed: Устранены критические уязвимости: добавлена токенизация формул, блокировка макросов Excel 4 и защита от переполнения памяти.
  • Added: Добавлены функции управления листами, условным форматированием, валидацией данных и поддержка изображений через Pillow.
  • Added: Внедрена поддержка MCP 2.0, структурированный вывод, пагинация для больших диапазонов и атомарное сохранение файлов.
  • Fixed: Исправлена работа с диаграммами, устранено перетирание изменений при одновременном доступе и улучшена типизация параметров.
v0.1.8patch
🕐 6 мес назад · релиз на GitHub ↗

Исправлена уязвимость path traversal в транспортах SSE/streamable-http, добавлены аннотации инструментов и пакет MCPB для Claude Desktop.

  • Fixed: Устранена уязвимость path traversal в транспортах SSE и streamable-http
  • Added: Добавлены аннотации инструментов для улучшения понимания LLM
  • Added: Добавлен пакет MCPB для установки в Claude Desktop