- title
- Excel MCP Server
- emoji
- 📊
- colorFrom
- green
- colorTo
- blue
- sdk
- gradio
- sdk_version
- 6.0.1
- app_file
- app.py
- pinned
- false
- tags
Excel MCP Server (Gradio)
🎉 Submission for MCP 1st Birthday Hackathon
| 📹 Demo Video | 📣 Social Post |
|---|---|
| Ver demo (3:16 min) | LinkedIn Post |
Autor: Pablo De Celis
Servidor MCP construido con Gradio que expone herramientas para manipular archivos Excel mediante agentes (LLMs). Permite crear tablas, consultar, insertar, actualizar por índice y por condición, eliminar, añadir múltiples filas y fusionar dos tablas si las columnas coinciden.
🚀 Características
- MCP server:
demo.launch(mcp_server=True) - 12 tools (CRUD completo + batch insert + fusión)
- Comparaciones case-insensitive en filtros
- Protección de cabecera (fila 0)
- Interfaz en pestañas para pruebas manuales
🧰 Tools disponibles
cargar_tabla(file_path, n_rows=5)crear_tabla_excel(file_path, columnas)añadir_fila_excel(file_path, valores)añadir_filas_excel(file_path, filas)fusionar_tablas_excel(file_path_base, file_path_secundario)actualizar_fila_excel(file_path, indice, valores)actualizar_por_condicion(file_path, condiciones, nuevos_valores)eliminar_fila_excel(file_path, indice)eliminar_filas_por_condicion(file_path, condiciones)consultar_filas(file_path, condiciones=None)obtener_columnas(file_path)actualizar_excel(df, file_path)
📦 Requisitos
Ver requirements.txt:
- gradio>=6.0.0
- pandas>=2.0.0
- openpyxl>=3.1.0
▶️ Uso local
python main.pyAbrirá la interfaz Gradio y expondrá el servidor MCP. El esquema MCP suele estar disponible en http://localhost:7860/gradio_api/mcp/schema.
🔗 Ejemplos de inputs
- Añadir una fila (columnas: Nombre, Edad, Ciudad):
["Carlos", 28, "Madrid"]- Añadir múltiples filas:
[["Carlos", 28, "Madrid"], ["Ana", 32, "Barcelona"], ["Luis", 25, "Valencia"]]- UPDATE WHERE (AND lógico):
condiciones = {"Ciudad": "Madrid", "Edad": "30"}
nuevos_valores = {"Departamento": "IT", "Salario": "50000"}- Fusionar tablas (mismas columnas): usar la pestaña "🔗 Fusionar" con dos archivos.
🧪 Flujo de prueba sugerido
- "🆕 Crear" una tabla con columnas
["Nombre", "Edad", "Ciudad"]. - "➕ Añadir" o "➕ Añadir Múltiples" filas.
- "🔍 SELECT" para verificar.
- "✏️ UPDATE" por índice y "✏️ UPDATE WHERE" por condiciones.
- "🗑️ DELETE" (por índice o condición).
- "🔗 Fusionar" dos tablas con mismas columnas.
🧭 Integración con Cursor (MCP Client)
Arranca el servidor (python main.py), habilita MCP en Cursor y añade el endpoint del esquema:
http://localhost:7860/gradio_api/mcp/schemaInvoca tools desde el chat, por ejemplo: "Añade múltiples filas a mi Excel con [[\"Carlos\",28,\"Madrid\"],[\"Ana\",32,\"Barcelona\"]]".
Ejemplo de payloads
- SELECT WHERE:
{ "tool": "consultar_filas", "args": { "file_path": "tabla1.xlsx", "condiciones": { "Ciudad": "Madrid" } } } - UPDATE WHERE:
{ "tool": "actualizar_por_condicion", "args": { "file_path": "tabla1.xlsx", "condiciones": { "Ciudad": "Madrid" }, "nuevos_valores": { "Departamento": "IT" } } }
📣 Hackathon Submission
- Track: Building MCP - Consumer
- Social Post: LinkedIn
- Demo Video: Incluido en el post de LinkedIn (3:16 min)
- Autor: Pablo De Celis
*Proyecto creado para el MCP 1st Birthday Hackathon (Gradio + Anthropic + Hugging Face). Trabajo original desarrollado Nov 14–30, 2025.*
