Skip to main content
Glama

Excel MCP Server

texto alternativo

uv init mcp-server-demo

cd mcp-server-demo

uv add "mcp[cli]" uv pip install mcp-python pandas matplotlib openpyxl fastapi uvicorn pillow uv run mcp dev server.py

uv ejecutar mcp instalar server.py

Servidor Excel MCP

Este proyecto implementa un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona herramientas y recursos para trabajar con datos de Excel. El servidor ofrece funciones para leer, actualizar, filtrar y visualizar datos de Excel mediante una API sencilla.

Características

  • Operaciones de Excel : Leer y escribir en archivos de Excel
  • Filtrado de datos : filtre y busque datos según diversos criterios
  • Análisis de datos : generar resúmenes estadísticos y tablas dinámicas
  • Visualización de datos : cree varios gráficos y visualizaciones
  • Operaciones de actualización : Actualizar celdas, agregar filas, eliminar filas
  • Detección de anomalías : encuentre valores atípicos en datos numéricos
  • Recomendaciones de gráficos : Sugiera automáticamente visualizaciones apropiadas

Instalación

  1. Instale las dependencias necesarias:
pip install mcp-python pandas matplotlib openpyxl fastapi uvicorn pillow
  1. Clona este repositorio o descarga los archivos:
    • server.py - La implementación del servidor MCP
    • client.py - Cliente de demostración para mostrar las funciones

Uso

Iniciando el servidor

Ejecutar el servidor:

python server.py

El servidor se iniciará en http://localhost:8000 de forma predeterminada.

Uso de la demostración del cliente

El script de demostración del cliente muestra varias operaciones que puede realizar con el servidor MCP:

python client.py

Esto hará lo siguiente:

  1. Crear un archivo Excel de muestra (si no existe)
  2. Demostrar operaciones básicas de Excel
  3. Mostrar capacidades de filtrado de datos
  4. Generar visualizaciones
  5. Realizar actualizaciones de datos
  6. Detectar anomalías en los datos

Usando la API directamente

Puede utilizar la API del servidor MCP directamente:

API de herramientas

Llamar a herramientas mediante solicitudes POST a /tools/{tool_name} :

import requests # Example: Read Excel file response = requests.post( "http://localhost:8000/tools/read_excel", json={"filename": "example.xlsx", "sheet_name": "Sheet1"} ) data = response.json()
API de recursos

Acceda a los recursos mediante solicitudes GET o POST a /resources/{resource_path} :

# Example: Get sheet list response = requests.get("http://localhost:8000/resources/excel://example.xlsx/sheets") sheets = response.json()

Herramientas disponibles

Operaciones de Excel

  • read_excel - Leer datos de un archivo Excel
  • write_excel - Escribe datos en un archivo Excel
  • get_excel_sheets - Obtener la lista de hojas en un archivo Excel

Filtrado de datos

  • filter_data - Filtrar datos de Excel según condiciones
  • search_data - Buscar un término en los datos de Excel

Análisis de datos

  • summarize_data - Obtener un resumen estadístico de los datos de Excel
  • create_pivot_table - Crea una tabla dinámica a partir de datos de Excel

Visualización de datos

  • visualize_chart : crea varios tipos de gráficos (de barras, de líneas, de dispersión, circulares, hist.)
  • recommend_charts : obtenga recomendaciones de gráficos según la estructura de datos

Operaciones de actualización

  • update_cell - Actualizar una celda específica en un archivo Excel
  • add_row - Agregar una nueva fila a un archivo de Excel
  • delete_rows - Eliminar filas de un archivo de Excel según filtros

Características adicionales

  • detect_anomalies : encuentra anomalías en datos numéricos usando puntuaciones Z
  • export_to_csv - Exportar datos de Excel a formato CSV

Recursos disponibles

  • excel://{filename}/sheets - Obtener la lista de hojas en un archivo Excel
  • excel://{filename}/sheet/{sheet_name} - Obtener datos de una hoja específica
  • excel://{filename}/sheet/{sheet_name}/summary - Obtener un resumen de los datos de la hoja
  • excel://{filename}/sheet/{sheet_name}/filter - Filtrar datos en una hoja

Ejemplo: Creación de un cliente personalizado

Puedes crear tu propio cliente para interactuar con el servidor MCP:

import requests def call_tool(tool_name, params): """Call an MCP tool""" url = f"http://localhost:8000/tools/{tool_name}" response = requests.post(url, json=params) return response.json() # Example: Get chart visualization chart_result = call_tool("visualize_chart", { "filename": "sales_data.xlsx", "sheet_name": "Sheet1", "chart_type": "bar", "x_column": "Month", "y_columns": ["Revenue"], "title": "Monthly Revenue" }) # Save chart image if chart_result.get("success", False) and "image" in chart_result: import base64 img_data = base64.b64decode(chart_result["image"]) with open("revenue_chart.png", "wb") as f: f.write(img_data)

Integración con modelos de IA

Este servidor MCP se puede integrar fácilmente con modelos de IA como Claude para proporcionar interfaces de lenguaje natural a los datos de Excel:

  1. La IA puede llamar a la herramienta MCP adecuada según la solicitud del usuario.
  2. Procesar los datos devueltos por la herramienta
  3. Presentar información y visualizaciones al usuario

Esto crea un "asistente de Excel" interactivo que puede comprender solicitudes de lenguaje natural para analizar y manipular datos de Excel.

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    A Model Context Protocol (MCP) server that provides tools for reading Excel (xlsx) files, enabling extraction of data from entire workbooks or specific sheets with results returned in structured JSON format.
    Last updated -
    3
    5
    Apache 2.0
    • Linux
    • Apple
  • A
    security
    A
    license
    A
    quality
    A Model Context Protocol server that enables AI assistants to read from and write to Microsoft Excel files, supporting formats like xlsx, xlsm, xltx, and xltm.
    Last updated -
    6
    1,629
    510
    MIT License
    • Linux
    • Apple
  • A
    security
    A
    license
    A
    quality
    Enables seamless reading, writing, and analyzing of Excel files through Model Context Protocol, with features for worksheet management, structure analysis, and automated caching.
    Last updated -
    8
    102
    41
    MIT License
    • Linux
    • Apple
  • -
    security
    A
    license
    -
    quality
    A Model Context Protocol server that enables interaction with Microsoft 365 services (Excel, Calendar, Mail, OneDrive, Teams, etc.) through the Graph API, allowing AI assistants to manage Microsoft 365 resources via natural language.
    Last updated -
    2,971
    258
    MIT License

View all related MCP servers

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/TapanKumarBarik/PYTHON-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server