mcp-excel
mcp-excel
Un servidor del Model Context Protocol que
proporciona a Claude Code (o a cualquier cliente MCP) acceso completo de lectura
y escritura a libros de Excel: hojas, rangos de celdas, tablas estructuradas,
fórmulas, formato y referencias entre libros. Lee y escribe archivos .xlsx
reales en disco mediante ExcelJS; no se
necesita una copia de Excel, una cuenta de Microsoft ni un servicio en la nube.
Se ejecuta localmente como subproceso stdio, o como servicio HTTP/SSE (útil para compartir una instancia con un cliente de escritorio a través de tu LAN mediante Docker).
Estado: 11 herramientas, transportes stdio + SSE, cero dependencias externas más allá de npm. Licencia: MIT.
Herramientas
Herramienta | Qué hace |
| Lista todas las hojas de un libro con recuentos de filas y columnas |
| Lee un rango de celdas; devuelve valores, fórmulas y tipos |
| Escribe valores o fórmulas en celdas específicas (crea el archivo/hoja si falta) |
| Escribe varias filas de datos desde una celda inicial (construcción de conjuntos de datos) |
| Crea una tabla estructurada de Excel (ListObject) con encabezados, datos y fórmulas opcionales de columna |
| Crea un nuevo libro vacío con una o más hojas con nombre |
| Añade una nueva hoja a un libro existente |
| Elimina una hoja de un libro |
| Aplica fuente, relleno, formato de número, alineación y bordes a un rango |
| Lee de un libro y escribe valores (o fórmulas de enlace) en otro |
| Lista rangos con nombre y nombres de tablas en un libro |
Todos los argumentos de rutas de archivo se resuelven con path.resolve() respecto
al directorio de trabajo del servidor, por lo que las rutas absolutas son las más
seguras. En modo Docker (SSE), las rutas se resuelven dentro del contenedor contra
el volumen montado /data (ver más abajo).
Related MCP server: mcp-xlsx-server
Requisitos
Configuración: Claude Code (stdio, local)
Clona e instala:
git clone https://bitbucket.org/corvalon/mcp-excel.git
cd mcp-excel
npm ciRegistra el servidor. Puedes añadirlo con la CLI:
claude mcp add excel -- node /absolute/path/to/mcp-excel/index.jso añadirlo manualmente a tu configuración de Claude Code (~/.claude.json):
{
"mcpServers": {
"excel": {
"command": "node",
"args": ["/absolute/path/to/mcp-excel/index.js"]
}
}
}Reinicia Claude Code. Las herramientas aparecen bajo el prefijo mcp__excel__*.
Configuración: Claude Desktop (stdio, local)
Añade el mismo bloque a la configuración de Claude Desktop
(Settings > Developer > Edit Config, que abre
claude_desktop_config.json):
{
"mcpServers": {
"excel": {
"command": "node",
"args": ["/absolute/path/to/mcp-excel/index.js"]
}
}
}Guarda y reinicia. Cuando aparezca el icono de martillo / herramientas, el servidor está conectado.
Configuración: Docker (SSE, instancia compartida)
Ejecuta un contenedor al que cualquier cliente MCP de tu red pueda acceder mediante SSE. Esto es útil para manejar archivos de Excel desde una máquina que no tenga Node.js.
Apunta el contenedor a la carpeta que contiene tus libros y arráncalo:
MCP_EXCEL_DATA_DIR=/path/to/your/spreadsheets docker compose up -d --buildEl archivo compose monta esa carpeta como
/datadentro del contenedor y escucha en el puerto3001.Añade el endpoint SSE a la configuración de tu cliente (reemplaza el host por la IP LAN del host del contenedor si el cliente está en otra máquina):
{ "mcpServers": { "excel": { "url": "http://localhost:3001/sse" } } }Como las rutas se resuelven dentro del contenedor, direcciona los archivos relativos al montaje
/data. SiMCP_EXCEL_DATA_DIRes~/spreadsheets, entonces~/spreadsheets/2025/Budget.xlsxes/data/2025/Budget.xlsxen las llamadas a herramientas.
Cuando un cliente en un host diferente se conecta mediante SSE, establece
MCP_ALLOWED_HOSTS para que el servidor acepte la solicitud. Crea un archivo
.env junto a docker-compose.yml:
MCP_ALLOWED_HOSTS='localhost,127.0.0.1,::1,192.168.1.50,my-host.local'Gestión del contenedor:
docker compose up -d --build # start / rebuild after code changes
docker compose down # stop
docker compose logs -f # tail logsHay una comprobación de salud disponible en http://<host>:3001/health.
Configuración
Variable | Valor por defecto | Propósito |
|
|
|
|
| Puerto para el modo SSE (el archivo compose de Docker usa |
|
| Lista de permitidos del encabezado Host separada por comas para el modo SSE |
|
| Carpeta del host montada como |
Seguridad
Este servidor lee y escribe archivos reales, y en modo SSE abre un puerto de red. Trátalo como una herramienta local de confianza, no como un servicio expuesto a internet.
Acceso a archivos. Las llamadas a herramientas pueden leer o escribir cualquier ruta
.xlsxque el proceso del servidor pueda alcanzar. En modo stdio eso es todo tu sistema de archivos; en modo Docker (SSE) está limitado al volumen montado/data, por lo que Docker es la forma más segura de acotar el acceso.SSE no tiene autenticación. El endpoint HTTP/SSE escucha en
0.0.0.0y no autentica a los llamantes. Ejecútalo solo en una LAN de confianza y restringe quién puede alcanzarlo conMCP_ALLOWED_HOSTS(una lista de permitidos del encabezado Host) además de tu propio cortafuegos. No expongas el puerto3001a internet público.Las fórmulas son datos, no código. ExcelJS escribe cadenas de fórmulas; no ejecuta macros ni VBA, por lo que abrir un libro producido no ejecuta ningún código de este servidor.
Ejemplos de indicaciones
"Crea un nuevo libro de presupuesto con las columnas Categoría, Presupuesto, Real y Diferencia."
"Lee los datos en
Sales.xlsxy resume los totales por región.""Añade una fórmula SUM al final de la columna B en la hoja Q1."
"Construye una tabla con formato a partir de estos datos con una fila de totales."
"Extrae los totales mensuales de
Budget.xlsxa una hoja Resumen enReport.xlsx."
Notas y advertencias
Permisos. Un comodín cubre las 11 herramientas: permite mcp__<key>__*, donde
<key> es el nombre con el que registraste el servidor. Registrado como excel,
eso es mcp__excel__*. Nunca necesitas enumerar herramientas individualmente.
Los parámetros desconocidos se rechazan (desde 1.1.0). Un nombre de argumento
mal escrito falla con -32602 unrecognized_keys indicando la clave, y cada
herramienta publica additionalProperties: false. Las versiones anteriores
descartaban silenciosamente el error tipográfico y se ejecutaban con los valores
predeterminados, lo que devolvía datos incorrectos con confianza.
Las fórmulas se almacenan, no se evalúan. Este servidor escribe texto de
fórmula; no calcula resultados. Leer una celda de fórmula devuelve
=SUM(A1:A2) (result: not calculated) hasta que el archivo se abre y se guarda en
Excel o LibreOffice, lo que rellena el resultado en caché. Cuando necesites
totales calculados, o lee las celdas de origen y súmalos tú mismo, o haz un
viaje de ida y vuelta del archivo a través de una aplicación de hoja de cálculo
primero.
Limitaciones
Actualmente ninguna herramienta expone:
Insertar o eliminar filas/columnas en medio de una hoja
Crear o editar nombres definidos
Distinguir tablas de nombres definidos
Para estos casos, maneja el archivo directamente con una biblioteca de hojas de
cálculo. En Python, openpyxl cubre los tres;
carga con load_workbook(path, data_only=False) para conservar las fórmulas, ya
que data_only=True devuelve valores en caché que pueden ser None por la razón
anterior.
Licencia
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