/ Annuaire / Playground / excel-mcp-server
● Communauté haris-musa ⚡ Instantané

excel-mcp-server

par haris-musa · haris-musa/excel-mcp-server

Créez, lisez et modifiez des fichiers .xlsx réels depuis le chat — formules, tableaux, graphiques, tableaux croisés dynamiques, mise en forme conditionnelle.

excel-mcp-server (haris-musa) est un MCP Python qui manipule les classeurs Excel via openpyxl. Fonctionne sur les fichiers .xlsx locaux ou en tant que service HTTP distant. Supporte les formules, la génération de graphiques, les tableaux croisés dynamiques, la mise en forme et la validation des données.

Pourquoi l'utiliser

Fonctionnalités clés

Démo en direct

Aperçu en pratique

excel.replay ▶ prêt
0/0

Installer

Choisissez votre client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "excel": {
      "command": "uvx",
      "args": [
        "excel-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Ouvrez Claude Desktop → Settings → Developer → Edit Config. Redémarrez après avoir enregistré.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "excel": {
      "command": "uvx",
      "args": [
        "excel-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Cursor utilise le même schéma mcpServers que Claude Desktop. La config projet l'emporte sur la globale.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "excel": {
      "command": "uvx",
      "args": [
        "excel-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Cliquez sur l'icône MCP Servers dans la barre latérale Cline, puis "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "excel": {
      "command": "uvx",
      "args": [
        "excel-mcp-server"
      ],
      "_inferred": true
    }
  }
}

Même format que Claude Desktop. Redémarrez Windsurf pour appliquer.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "excel",
      "command": "uvx",
      "args": [
        "excel-mcp-server"
      ]
    }
  ]
}

Continue utilise un tableau d'objets serveur plutôt qu'une map.

~/.config/zed/settings.json
{
  "context_servers": {
    "excel": {
      "command": {
        "path": "uvx",
        "args": [
          "excel-mcp-server"
        ]
      }
    }
  }
}

Ajoutez dans context_servers. Zed recharge à chaud à la sauvegarde.

claude mcp add excel -- uvx excel-mcp-server

Une seule ligne. Vérifiez avec claude mcp list. Supprimez avec claude mcp remove.

Cas d'usage

Usages concrets : excel-mcp-server

Comment générer un rapport Excel mensuel à partir d'une invitation

👤 Ops, finance, toute personne envoyant Excel à des parties prenantes non techniques ⏱ ~20 min intermediate

Quand l'utiliser : Chaque fin de mois lorsque vous actualisez « la feuille de calcul que tout le monde demande ».

Prérequis
  • uv installé — curl -LsSf https://astral.sh/uv/install.sh | sh
  • Une source de vérité (CSV, requête DB ou fichier du mois précédent) — Exportez en CSV, ou associez avec MCP postgres
Déroulement
  1. Créer le classeur
    Créez /reports/2026-04.xlsx avec les onglets « Résumé », « Revenus », « Coûts », « Graphiques ».✓ Copié
    → Fichier créé, feuilles existent
  2. Remplir les données
    Remplissez « Revenus » à partir de /data/apr-revenue.csv ; ajoutez une ligne de total avec des formules SUM.✓ Copié
    → Lignes + totaux présents
  3. Ajouter des graphiques
    Sur l'onglet « Graphiques », ajoutez un graphique en courbes du revenu quotidien à partir de « Revenus » A2:B31 intitulé « Revenu d'avril ».✓ Copié
    → Graphique visible à l'ouverture dans Excel
  4. Formater
    Sur « Résumé », mettez les en-têtes en gras, appliquez les séparateurs de milliers aux devises et mettez en forme conditionnelle les valeurs rouges (négatives).✓ Copié
    → Fichier formaté professionnellement

Résultat : Un .xlsx prêt pour révision avec des formules et des graphiques actifs.

Pièges
  • Coller 100 k lignes via invitation dépasse la fenêtre de contexte — Demandez au MCP de lire le CSV directement depuis le disque plutôt que de coller les valeurs
  • Les tableaux croisés dynamiques écrits par openpyxl ne s'actualisent pas automatiquement à l'ouverture dans certaines versions d'Excel — Demandez aux utilisateurs de faire un clic droit et de sélectionner Actualiser ; ou utilisez plutôt un résumé basé sur une formule
Combiner avec : postgres · filesystem

Comment extraire des tableaux d'un classeur Excel en markdown

👤 Ingénieurs convertissant des feuilles de calcul financières en documents ⏱ ~10 min beginner

Quand l'utiliser : Une partie prenante vous envoie un classeur et vous en avez besoin dans un wiki.

Déroulement
  1. Énumérer les feuilles
    Ouvrez /inbox/Q1-plan.xlsx et listez les feuilles + dimensions.✓ Copié
    → Index des feuilles
  2. Extraire chacun en markdown
    Pour chaque feuille, lisez la plage utilisée et affichez-la sous forme de tableau markdown.✓ Copié
    → Bloc markdown prêt à coller

Résultat : Tableaux prêts pour le wiki.

Pièges
  • Les cellules fusionnées déforment le rendu markdown — Fusionnez avant l'export, ou gérez explicitement les régions fusionnées
Combiner avec : markdownify · notion

Comment nettoyer un fichier Excel désorganisé en une seule passe

👤 Spécialistes du nettoyage de données ⏱ ~15 min intermediate

Quand l'utiliser : Un partenaire envoie une feuille avec des dates incohérentes, des espaces blancs à la fin et des en-têtes dupliqués.

Déroulement
  1. Profiler les problèmes
    Auditez /inbox/vendors.xlsx — colonnes avec types mixtes, espaces blancs, lignes dupliquées.✓ Copié
    → Rapport des problèmes
  2. Appliquer les corrections
    Supprimez les espaces blancs, analysez la colonne E en tant que dates ISO, supprimez les lignes en double complètes. Enregistrez vers /cleaned/vendors.xlsx.✓ Copié
    → Fichier propre sauvegardé

Résultat : Un classeur propre prêt pour l'ingestion.

Pièges
  • « Corriger » les dates qui étaient intentionnellement du texte perd du sens — Confirmez auprès du propriétaire avant les conversions agressives
Combiner avec : postgres

Combinaisons

Associez-le à d'autres MCPs pour un effet X10

excel + postgres

Interroger la BD et écrire le résultat dans Excel pour les parties prenantes

Exécutez SELECT * FROM monthly_revenue WHERE month = '2026-04' et écrivez le résultat dans /reports/apr.xlsx avec un graphique.✓ Copié
excel + filesystem

Traiter par lots chaque xlsx dans un dossier

Pour chaque fichier dans /inbox/vendors/, unifiez les en-têtes à {vendor,sku,qty,price} et écrivez dans /cleaned/.✓ Copié
excel + markdownify

Convertir les tableaux xlsx en documents markdown

Extrayez chaque feuille de /inbox/plan.xlsx en sections markdown et écrivez /docs/plan.md.✓ Copié

Outils

Ce que ce MCP expose

OutilEntréesQuand appelerCoût
create_workbook path: str Démarrer un nouveau .xlsx free
create_worksheet path, name Ajouter un onglet free
write_data_to_excel path, sheet, start_cell, data: 2d array Remplir une plage free
read_data_from_excel path, sheet, range Extraire les valeurs free
apply_formula path, sheet, cell, formula Ajouter une formule free
create_chart path, sheet, chart_type, range, title Insérer un graphique free
create_pivot_table path, source, rows, cols, values Résumer les données free
format_range path, sheet, range, styles Mise en forme free
apply_conditional_formatting path, sheet, range, rule Code de couleur des cellules free

Coût et limites

Coût d'exécution

Quota d'API
Aucun — tout est local
Tokens par appel
Dépend de la quantité de données qui traverse l'invitation ; préférez les opérations de chemin de fichier
Monétaire
Gratuit (MIT)
Astuce
Lisez les plages, pas les feuilles entières, lorsqu'un fichier contient 100 k+ lignes.

Sécurité

Permissions, secrets, portée

Portées minimales : Accès en lecture/écriture du système de fichiers pour le dossier contenant les classeurs
Stockage des identifiants : Aucun
Sortie de données : E/S de fichier local uniquement ; les données ne quittent votre machine que via votre fournisseur LLM
Ne jamais accorder : Accès en écriture en dehors d'un dossier en bac à sable lors de l'exécution de prompts non fiables

Dépannage

Erreurs courantes et correctifs

Permission refusée lors de l'écriture du fichier

Un autre programme a le fichier ouvert (souvent Excel lui-même). Fermez-le et réessayez.

Vérifier : lsof path/to/file.xlsx
Formule stockée sous forme de texte

Préfixez les chaînes commençant par '=' via apply_formula, pas write_data_to_excel.

Le graphique ne s'affiche pas dans Excel

Vérifiez que la plage de données couvre les colonnes source avec des en-têtes ; Excel a besoin de 2+ lignes.

Fichier enregistré mais Excel dit « corrompu »

Généralement, mélanger write_data et les formules dans la même cellule. Recréez le fichier, construisez de bas en haut.

Alternatives

excel-mcp-server vs autres

AlternativeQuand l'utiliserCompromis
Google Sheets via google-workspace MCPVous voulez des feuilles cloud collaboratives, pas des .xlsx locauxNécessite OAuth ; pas un remplacement du xlsx hors ligne
LibreOffice headless MCPVous avez besoin d'exécution de macro ou de conversion en PDFInstallation lourde ; plus lent

Plus

Ressources

📖 Lire le README officiel sur GitHub

🐙 Voir les issues ouvertes

🔍 Parcourir les 400+ serveurs MCP et Skills