📊 Servidor MCP para archivos Excel con macros (.xlsm)
Autor: Orlando Ospino (orlando2019)
Este servidor implementa el Model Context Protocol (MCP) para manipular archivos Excel que contienen macros (.xlsm). Utiliza el protocolo stdio para la comunicación, lo que permite integrarse fácilmente con clientes MCP como Claude Desktop, Cursor o Windsurf.
🌟 ¿Qué es MCP?
MCP (Model Context Protocol) es un protocolo que permite a los modelos de lenguaje interactuar con herramientas externas. Con este servidor, Claude y otros asistentes AI pueden manipular archivos Excel con macros de forma nativa, ampliando sus capacidades para ayudar en tareas de análisis de datos y automatización de oficina.
✨ Características
- Creación y manipulación de archivos Excel con macros (.xlsm)
- Lectura y escritura de datos en hojas de cálculo
- Gestión de hojas (crear, eliminar, renombrar)
- Listar y obtener información de macros VBA
- Aplicar formato a rangos de celdas
- Compatible con Python 3.10+
- Integración sencilla con entornos virtuales y clientes MCP modernos
🔧 Instalación
Usando pip
pip install xlsm-mcp-server
Usando uv (recomendado)
uv venv
.venv\\Scripts\\activate
uv pip install -r requirements.txt
📝 Uso
Ejecución directa
python -m xlsm_mcp
O, si usas un entorno virtual:
.venv\\Scripts\\python.exe -m xlsm_mcp
Configuración para Claude Desktop, Cursor o Windsurf
Agrega a tu configuración (por ejemplo, settings.json):
"mcpServers": {
"xlsm": {
"command": "python",
"args": ["-m", "xlsm_mcp"],
"transport": "stdio"
}
}
- Puedes omitir
"transport": "stdio"en algunos clientes, pero es recomendable dejarlo para máxima compatibilidad. - Si usas un entorno virtual, reemplaza
"python"por la ruta a tu ejecutable Python.
Argumentos avanzados
Puedes agregar argumentos personalizados en la sección "args" según lo requiera tu servidor, por ejemplo:
"args": ["-m", "xlsm_mcp", "--log-level", "DEBUG"]
🛠️ Herramientas disponibles
read_data_from_excel: Lee datos de una hoja de Excelwrite_data_to_excel: Escribe datos en una hoja de Excelcreate_new_workbook: Crea un nuevo libro de Excel con opción de habilitar macroscreate_new_worksheet: Crea una nueva hoja en un libro de Excel existenteget_workbook_metadata: Obtiene metadatos del libro, incluyendo información sobre macroslist_macros_in_workbook: Lista todas las macros disponibles en un libroget_macro_details: Obtiene información detallada sobre una macro específicaformat_cell_range: Aplica formato a un rango de celdas
💡 Ejemplos
Leer datos de un archivo Excel
# Ejemplo de uso para leer datos
result = await read_data_from_excel("ejemplo.xlsm", "Hoja1", "A1", "C10")
print(result["data"])
Listar macros en un archivo
# Ejemplo para listar macros
macros = await list_macros_in_workbook("ejemplo.xlsm")
for macro in macros["data"]:
print(f"Macro: {macro['name']}")
📋 Casos de uso
Este servidor es especialmente útil para:
- Analistas de datos que trabajan con modelos AI
- Automatización de tareas administrativas
- Generación y manipulación de informes financieros
- Integración de IA con flujos de trabajo basados en Excel
👥 Contribuir
Las contribuciones son bienvenidas. Por favor, abre un issue o pull request en el repositorio.
👨💻 Autor
Desarrollado por Orlando Ospino (@Orlando_Ospino)
📄 Licencia
MIT
Recommend MCP Servers 💡
fastapi-mcp
Expose your FastAPI endpoints as Model Context Protocol (MCP) tools, with authentication.
lldb_mcp
A proper, simple LLDB MCP server with minimal dependencies, supporting commands like lldb_init and lldb, working well with o4-mini and Gemini 2.5 Pro.
bundler_mcp
A Model Context Protocol (MCP) server enabling AI agents to query information about gems in a Ruby project's Gemfile, including source code and metadata.
sonarqube
A Model Context Protocol (MCP) server that integrates with SonarQube Server or Cloud to provide code quality and security analysis, including direct analysis of code snippets.
openapi-integrator-mcp
An MCP server integrating OpenAI compatible APIs and SiliconFlow APIs for image, speech, and video generation tasks.
seo-mcp
A free SEO tool MCP service based on Ahrefs data, providing backlink analysis, keyword research, and traffic estimation.