mcp-excel
mcp-excel
Сервер Model Context Protocol, который предоставляет
Claude Code (или любому MCP-клиенту) полный доступ на чтение и запись к книгам Excel:
листы, диапазоны ячеек, структурированные таблицы, формулы, форматирование и ссылки
между книгами. Он читает и записывает настоящие файлы .xlsx на диске с помощью
ExcelJS; не требуется ни копия Excel, ни учётная
запись Microsoft, ни облачный сервис.
Он работает локально как подпроцесс stdio или как HTTP/SSE-сервис (удобно для совместного использования одного экземпляра с настольным клиентом через вашу LAN с помощью Docker).
Статус: 11 инструментов, транспорты stdio + SSE, ноль внешних зависимостей, кроме npm. Лицензия: MIT.
Инструменты
Инструмент | Что делает |
| Перечисляет все листы в книге с количеством строк и столбцов |
| Читает диапазон ячеек; возвращает значения, формулы и типы |
| Записывает значения или формулы в конкретные ячейки (создаёт файл/лист, если отсутствует) |
| Записывает несколько строк данных, начиная с заданной ячейки (массовое создание наборов данных) |
| Создаёт структурированную таблицу Excel (ListObject) с заголовками, данными и необязательными формулами столбцов |
| Создаёт новую пустую книгу с одним или несколькими именованными листами |
| Добавляет новый лист в существующую книгу |
| Удаляет лист из книги |
| Применяет шрифт, заливку, числовой формат, выравнивание и границы к диапазону |
| Читает из одной книги и записывает значения (или связывающие формулы) в другую |
| Перечисляет именованные диапазоны и имена таблиц в книге |
Все аргументы путей к файлам разрешаются с помощью path.resolve() относительно рабочего
каталога сервера, поэтому абсолютные пути — самый безопасный вариант. В режиме Docker (SSE)
пути разрешаются внутри контейнера относительно смонтированного тома /data (см. ниже).
Related MCP server: mcp-xlsx-server
Требования
Настройка: Claude Code (stdio, локально)
Клонируйте и установите:
git clone https://bitbucket.org/corvalon/mcp-excel.git
cd mcp-excel
npm ciЗарегистрируйте сервер. Либо добавьте его через CLI:
claude mcp add excel -- node /absolute/path/to/mcp-excel/index.jsлибо добавьте вручную в конфигурацию Claude Code (~/.claude.json):
{
"mcpServers": {
"excel": {
"command": "node",
"args": ["/absolute/path/to/mcp-excel/index.js"]
}
}
}Перезапустите Claude Code. Инструменты появятся с префиксом mcp__excel__*.
Настройка: Claude Desktop (stdio, локально)
Добавьте тот же блок в конфигурацию Claude Desktop
(Settings > Developer > Edit Config, который открывает
claude_desktop_config.json):
{
"mcpServers": {
"excel": {
"command": "node",
"args": ["/absolute/path/to/mcp-excel/index.js"]
}
}
}Сохраните и перезапустите. Когда появится значок молотка / инструментов, сервер подключён.
Настройка: Docker (SSE, общий экземпляр)
Запустите один контейнер, к которому любой MCP-клиент в вашей сети может обращаться через SSE. Это полезно для управления файлами Excel с машины, на которой нет Node.js.
Укажите контейнеру папку с вашими книгами и запустите его:
MCP_EXCEL_DATA_DIR=/path/to/your/spreadsheets docker compose up -d --buildФайл compose монтирует эту папку как
/dataвнутри контейнера и прослушивает порт3001.Добавьте конечную точку SSE в конфигурацию клиента (замените хост на LAN-IP хоста контейнера, если клиент находится на другой машине):
{ "mcpServers": { "excel": { "url": "http://localhost:3001/sse" } } }Поскольку пути разрешаются внутри контейнера, указывайте файлы относительно смонтированного тома
/data. ЕслиMCP_EXCEL_DATA_DIR—~/spreadsheets, то~/spreadsheets/2025/Budget.xlsxв вызовах инструментов будет/data/2025/Budget.xlsx.
Когда клиент с другого хоста подключается через SSE, задайте MCP_ALLOWED_HOSTS, чтобы
сервер принял запрос. Создайте файл .env рядом с docker-compose.yml:
MCP_ALLOWED_HOSTS='localhost,127.0.0.1,::1,192.168.1.50,my-host.local'Управление контейнером:
docker compose up -d --build # start / rebuild after code changes
docker compose down # stop
docker compose logs -f # tail logsПроверка работоспособности доступна по адресу http://<host>:3001/health.
Конфигурация
Переменная | По умолчанию | Назначение |
|
|
|
|
| Порт для режима SSE (файл Docker compose использует |
|
| Разрешённый список Host-заголовков через запятую для режима SSE |
|
| Папка хоста, монтируемая как |
Безопасность
Этот сервер читает и записывает реальные файлы, а в режиме SSE открывает сетевой порт. Относитесь к нему как к доверенному локальному инструменту, а не как к сервису, доступному из интернета.
Доступ к файлам. Вызовы инструментов могут читать или записывать любой путь
.xlsx, доступный процессу сервера. В режиме stdio это вся ваша файловая система; в режиме Docker (SSE) доступ ограничен смонтированным томом/data, поэтому Docker — более безопасный способ ограничить доступ.SSE не имеет аутентификации. Конечная точка HTTP/SSE прослушивает
0.0.0.0и не аутентифицирует вызывающих. Запускайте её только в доверенной LAN и ограничьте доступ с помощьюMCP_ALLOWED_HOSTS(список разрешённых Host-заголовков) и собственного межсетевого экрана. Не открывайте порт3001для публичного интернета.Формулы — это данные, а не код. ExcelJS записывает строки формул; он не выполняет макросы или VBA, поэтому открытие созданной книги не запускает никакой код с этого сервера.
Примеры запросов
"Создай новую книгу бюджета с колонками Категория, Бюджет, Факт и Разница."
"Прочитай данные в
Sales.xlsxи суммируй итоги по регионам.""Добавь формулу SUM внизу колонки B на листе Q1."
"Построй форматированную таблицу из этих данных со строкой итогов."
"Перенеси ежемесячные итоги из
Budget.xlsxна лист Summary вReport.xlsx."
Примечания и подводные камни
Разрешения. Один шаблон покрывает все 11 инструментов: разрешите mcp__<key>__*, где
<key> — имя, под которым вы зарегистрировали сервер. Если зарегистрирован как excel,
это mcp__excel__*. Вам никогда не нужно перечислять инструменты по отдельности.
Неизвестные параметры отклоняются (с версии 1.1.0). Ошибочно введённое имя аргумента
приводит к ошибке -32602 unrecognized_keys с указанием ключа, и каждый инструмент
публикует additionalProperties: false. Более ранние версии молча игнорировали опечатку и
работали с значениями по умолчанию, что приводило к уверенно неверным данным.
Формулы сохраняются, но не вычисляются. Этот сервер записывает текст формулы; он не
вычисляет результаты. Чтение ячейки с формулой возвращает
=SUM(A1:A2) (result: not calculated) до тех пор, пока файл не будет открыт и сохранён в
Excel или LibreOffice, что заполняет кэшированный результат. Когда вам нужны вычисленные
итоги, либо прочитайте исходные ячейки и суммируйте их сами, либо сначала прогоните файл
через табличное приложение.
Ограничения
Ни один инструмент в настоящее время не предоставляет:
Вставку или удаление строк/столбцов в середине листа
Создание или редактирование именованных диапазонов
Различение таблиц и именованных диапазонов
Для этих задач управляйте файлом напрямую с помощью библиотеки для работы с электронными
таблицами. В Python openpyxl покрывает все три
случая; загружайте с load_workbook(path, data_only=False), чтобы сохранить формулы,
поскольку data_only=True возвращает кэшированные значения, которые могут быть None
по указанной выше причине.
Лицензия
MIT (c) 2026 Corvalon.
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.
Related MCP Connectors
Excel analytics: inspect, query (JSON rows), charts, and JSON-to-xlsx workbook writing.
Formula-backed WorkPaper tools for workbook readback, input edits, and JSON persistence.
GrapeCity Software MCP for GcExcel docs, examples, and product assistance.
Query, browse, and automate OmegaAI workspaces from any MCP client. Streamable HTTP with OAuth 2.0.
Related MCP Servers
- AlicenseCqualityCmaintenanceAutomates Microsoft Excel spreadsheet creation and editing via MCP tools for any MCP-compatible client.37MIT
- AlicenseAqualityDmaintenanceMCP server for reading and writing Excel (xlsx) files using SheetJS, providing tools to list sheets, read data, create files, add sheets, and update cells.516MIT
- FlicenseNot gradedqualityDmaintenanceFast, multi-sheet Excel retrieval and writing via MCP, supporting efficient data access with patch-based navigation and formula support.
- AlicenseAqualityDmaintenanceEnables reading and writing Excel workbooks (.xlsx) through MCP. Supports listing sheets, tables, pivot tables, reading cell data, exporting to CSV/text/Markdown, and creating/modifying Excel files.14GPL 3.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/Corvalon/mcp-excel'
If you have feedback or need assistance with the MCP directory API, please join our Discord server