Excel

Manipulación de Excel que incluye lectura/escritura de datos, gestión de hojas de cálculo, formato, gráficos y tablas dinámicas.

Documentación

Excel MCP Server

PyPI version Downloads CI License: MIT

Un servidor de Model Context Protocol que permite a los asistentes de IA crear, leer y editar libros de Excel. No requiere instalación de Microsoft Excel.

  • Leer y escribir celdas, fórmulas y fechas, con paginación para hojas grandes y búsqueda
  • Formato de fuentes, rellenos, bordes, formatos de número, anchos de columna y paneles congelados
  • Estructura de hojas, filas y columnas, celdas combinadas, tablas, gráficos y tablas resumen
  • Reglas: formato condicional y validación de datos (listas desplegables, límites numéricos)
  • Macros: leer el código VBA en archivos .xlsm, módulo por módulo (solo lectura, nunca se ejecutan)
  • Seguro por diseño: confinamiento opcional de carpetas, verificación de seguridad de fórmulas, modo de solo lectura, HTTP solo en localhost por defecto y guardados atómicos que nunca dejan un archivo a medias

Funciona con archivos .xlsx, .xlsm (las macros se conservan), .xltx y .xltm.

Inicio rápido

Necesitas uv. Cada cliente ejecuta el servidor con uvx excel-mcp-server stdio; reemplaza /path/to/workbooks con la carpeta que el servidor puede usar.

Claude Desktop (Chat): descarga excel-mcp-server-<version>.mcpb desde la última versión y ábrelo. Claude pregunta qué carpeta puede usar el servidor.

Claude Code (la CLI y la pestaña Code en Claude Desktop):

claude mcp add excel --scope user -- uvx excel-mcp-server stdio --allow-dir /path/to/workbooks

Cursor (~/.cursor/mcp.json) y la mayoría de los clientes que usan una configuración mcpServers:

{
  "mcpServers": {
    "excel": {
      "command": "uvx",
      "args": ["excel-mcp-server", "stdio", "--allow-dir", "/path/to/workbooks"]
    }
  }
}

VS Code con GitHub Copilot (.vscode/mcp.json, nota la clave servers):

{
  "servers": {
    "excel": {
      "type": "stdio",
      "command": "uvx",
      "args": ["excel-mcp-server", "stdio", "--allow-dir", "${workspaceFolder}"]
    }
  }
}
OpenAI Codex, Gemini CLI, Devin Desktop y Claude Desktop sin el paquete

OpenAI Codex (CLI, extensión de IDE y aplicación):

codex mcp add excel -- uvx excel-mcp-server stdio --allow-dir /path/to/workbooks

Gemini CLI:

gemini mcp add -s user excel uvx excel-mcp-server stdio --allow-dir /path/to/workbooks

Devin Desktop:

devin mcp add -s user excel -- uvx excel-mcp-server stdio --allow-dir /path/to/workbooks

Claude Desktop, configuración manual: abre Configuración, Desarrollador, Editar configuración, añade el JSON mcpServers anterior a claude_desktop_config.json y reinicia Claude.

Las aplicaciones de escritorio a menudo no pueden encontrar uvx, porque no ven el PATH de tu shell (común en macOS). Usa su ruta completa en su lugar, que which uvx imprime.

Elegir qué archivos puede usar

Con --allow-dir DIR, el servidor solo abre libros dentro de DIR (incluidas las subcarpetas) y las rutas relativas como reports/q1.xlsx comienzan allí. Repite la bandera para permitir varias carpetas, o establece EXCEL_FILES_PATH (separa las carpetas con : en macOS/Linux y ; en Windows).

Sin --allow-dir, cualquier ruta absoluta a un archivo de Excel funciona. En todos los modos, el servidor solo toca archivos de Excel y nunca sobrescribe silenciosamente un libro existente.

Uso remoto (Streamable HTTP)

uvx excel-mcp-server streamable-http --allow-dir /srv/workbooks

Los clientes se conectan a http://127.0.0.1:8017/mcp. Los libros viven en la carpeta --allow-dir (por defecto ./excel_files), y export_workbook / import_workbook mueven archivos entre el servidor y el cliente.

El servidor escucha solo en localhost. Para aceptar otras máquinas, establece un token y un host:

EXCEL_MCP_AUTH_TOKEN=change-me uvx excel-mcp-server streamable-http --host 0.0.0.0

Los clientes envían entonces Authorization: Bearer change-me. Coloca un proxy inverso de terminación TLS delante para usarlo a través de redes.

Docker

docker build -t excel-mcp-server .
docker run -p 8017:8017 -v "$PWD/workbooks:/data" -e EXCEL_MCP_AUTH_TOKEN=change-me excel-mcp-server

Configuración

BanderaVariable de entornoPredeterminadoSignificado
--allow-dir DIREXCEL_FILES_PATHninguno (stdio), ./excel_files (HTTP)Carpetas en las que deben estar los libros
--read-onlyEXCEL_MCP_READ_ONLY=1desactivadoSolo ofrece herramientas que no cambian archivos
--max-file-mb N100Libro más grande que abre el servidor
--log-level LEVELWARNINGRegistro en stderr
--host HOSTEXCEL_MCP_HOST127.0.0.1Dirección de escucha HTTP
--port PORTEXCEL_MCP_PORT8017Puerto HTTP
EXCEL_MCP_AUTH_TOKENningunoToken Bearer requerido en solicitudes HTTP
--allow-unauthenticateddesactivadoPermitir un --host no local sin token

Herramientas

ÁreaHerramientas
Libroscreate_workbook, describe_workbook, list_workbooks, export_workbook, import_workbook
Hojasdescribe_sheet, create_sheet, rename_sheet, copy_sheet, delete_sheet, insert_rows_or_columns, delete_rows_or_columns
Celdasread_range, write_range, clear_range, copy_range, find_cells
Formatoformat_range, merge_cells, set_sheet_layout, add_conditional_format, add_data_validation
Objetoscreate_table, create_chart, create_summary_table
Macrosread_vba

Cada parámetro está documentado en TOOLS.md.

Seguridad

  • Las fórmulas se analizan antes de escribirse. Las funciones que acceden a la red, otros programas o información del host (WEBSERVICE, HYPERLINK, IMAGE, RTD, CALL, INFO, INDIRECT, Google Sheets IMPORTXML y otras), enlaces DDE y referencias a otros libros se rechazan.
  • Las rutas se resuelven, incluidos los enlaces simbólicos, antes de verificarse contra las carpetas permitidas.
  • Una sola llamada procesa como máximo 100,000 celdas, y las lecturas grandes se devuelven en páginas.
  • El contenido de las celdas son datos de archivos. El servidor le dice al modelo que no siga instrucciones encontradas en ellos, pero revisa lo que un asistente hace con libros de fuentes no confiables.

Por favor, reporta vulnerabilidades de forma privada; consulta SECURITY.md.

Limitaciones

  • Las fórmulas se almacenan, no se calculan. read_range en modo values devuelve los resultados que Excel guardó por última vez, por lo que las fórmulas escritas por este servidor se leen como vacías hasta que el archivo se abre y guarda en Excel o LibreOffice.
  • Los archivos heredados .xls y .csv no son compatibles.
  • create_summary_table escribe un resumen estático; openpyxl no puede crear tablas dinámicas reales.
  • Insertar o eliminar filas y columnas no actualiza fórmulas, gráficos o tablas que se refieren a las celdas movidas.
  • Las características de libros que openpyxl no entiende, como formas, segmentadores y algunos objetos incrustados, pueden perderse cuando se edita un libro. Imágenes, gráficos, tablas y macros en archivos .xlsm se conservan.

Actualización desde 0.x

La versión 1.0 renombra y rediseña las herramientas, elimina el transporte SSE y requiere Python 3.11 o más reciente. El registro de cambios mapea cada herramienta antigua a su reemplazo.

Contribuciones

Las contribuciones son bienvenidas. Consulta CONTRIBUTING.md.

Historial de estrellas

Star History Chart

Licencia

MIT. Consulta LICENSE.