/ Каталог / Песочница / excel-mcp-server
● Сообщество haris-musa ⚡ Сразу

excel-mcp-server

автор haris-musa · haris-musa/excel-mcp-server

Create, read, and edit real .xlsx files from chat — formulas, tables, charts, pivot tables, conditional formatting.

excel-mcp-server (haris-musa) is a Python MCP that manipulates Excel workbooks via openpyxl. Works on local .xlsx files or as a remote HTTP service. Supports formulas, chart generation, pivot tables, formatting, and data validation.

Зачем использовать

Ключевые функции

Живое демо

Как выглядит на практике

excel.replay ▶ готово
0/0

Установка

Выберите клиент

~/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
    }
  }
}

Откройте Claude Desktop → Settings → Developer → Edit Config. Перезапустите после сохранения.

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

Cursor использует ту же схему mcpServers, что и Claude Desktop. Конфиг проекта приоритетнее глобального.

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

Щёлкните значок MCP Servers на боковой панели Cline, затем "Edit Configuration".

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

Тот же формат, что и Claude Desktop. Перезапустите Windsurf для применения.

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

Continue использует массив объектов серверов, а не map.

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

Добавьте в context_servers. Zed перезагружается автоматически.

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

Однострочная команда. Проверить: claude mcp list. Удалить: claude mcp remove.

Сценарии использования

Реальные сценарии: excel-mcp-server

How to generate a monthly Excel report from a prompt

👤 Ops, finance, anyone sending Excel to non-technical stakeholders ⏱ ~20 min intermediate

Когда использовать: Every month-end when you refresh 'the spreadsheet everyone asks for'.

Предварительные требования
  • uv installed — curl -LsSf https://astral.sh/uv/install.sh | sh
  • A source of truth (CSV, DB query, or prior month's file) — Export to CSV, or pair with postgres MCP
Поток
  1. Create the workbook
    Create /reports/2026-04.xlsx with tabs 'Summary', 'Revenue', 'Costs', 'Charts'.✓ Скопировано
    → File created, sheets exist
  2. Populate data
    Fill 'Revenue' from /data/apr-revenue.csv; add a total row with SUM formulas.✓ Скопировано
    → Rows + totals present
  3. Add charts
    On 'Charts' tab add a line chart of daily revenue from 'Revenue' A2:B31 titled 'April Revenue'.✓ Скопировано
    → Chart visible on open in Excel
  4. Format
    On 'Summary', bold headers, apply thousands separators to currency, and conditional-format any red (negative) values.✓ Скопировано
    → Professionally formatted file

Итог: A reviewer-ready .xlsx with live formulas and charts.

Подводные камни
  • Pasting 100k rows via prompt blows the context window — Have the MCP read the CSV directly from disk rather than pasting values
  • Pivot tables written by openpyxl don't auto-refresh on open in some Excel versions — Instruct users to right-click Refresh; or use a formula-based summary instead
Сочетать с: postgres · filesystem

How to extract tables from an Excel deck into markdown

👤 Engineers turning finance spreadsheets into docs ⏱ ~10 min beginner

Когда использовать: A stakeholder sends you a workbook and you need it in a wiki.

Поток
  1. Enumerate sheets
    Open /inbox/Q1-plan.xlsx and list sheets + dimensions.✓ Скопировано
    → Sheet index
  2. Extract each as markdown
    For each sheet, read the used range and render as a markdown table.✓ Скопировано
    → Markdown blob ready to paste

Итог: Wiki-ready tables.

Подводные камни
  • Merged cells mangle markdown rendering — Unmerge before export, or handle merged regions explicitly
Сочетать с: markdownify · notion

How to clean a messy Excel file in one pass

👤 Data wranglers ⏱ ~15 min intermediate

Когда использовать: A partner sends a sheet with inconsistent dates, trailing whitespace, and duplicated headers.

Поток
  1. Profile the problems
    Audit /inbox/vendors.xlsx — columns with mixed types, whitespace, duplicate rows.✓ Скопировано
    → Issue report
  2. Apply fixes
    Trim whitespace, parse column E as dates in ISO, remove full-duplicate rows. Save to /cleaned/vendors.xlsx.✓ Скопировано
    → Clean file saved

Итог: A clean workbook ready for ingestion.

Подводные камни
  • 'Fixing' dates that were intentionally text loses meaning — Confirm with the owner before aggressive coercions
Сочетать с: postgres

Комбинации

Сочетайте с другими MCP — эффект x10

excel + postgres

Query the DB and write the result to Excel for stakeholders

Run SELECT * FROM monthly_revenue WHERE month = '2026-04' and write the result to /reports/apr.xlsx with a chart.✓ Скопировано
excel + filesystem

Batch-process every xlsx in a folder

For every file in /inbox/vendors/, unify the headers to {vendor,sku,qty,price} and write to /cleaned/.✓ Скопировано
excel + markdownify

Convert xlsx tables to markdown docs

Extract each sheet of /inbox/plan.xlsx to markdown sections and write /docs/plan.md.✓ Скопировано

Инструменты

Что предоставляет этот MCP

ИнструментВходные данныеКогда вызыватьСтоимость
create_workbook path: str Start a new .xlsx free
create_worksheet path, name Add a tab free
write_data_to_excel path, sheet, start_cell, data: 2d array Populate a range free
read_data_from_excel path, sheet, range Extract values free
apply_formula path, sheet, cell, formula Add a formula free
create_chart path, sheet, chart_type, range, title Insert a chart free
create_pivot_table path, source, rows, cols, values Summarize data free
format_range path, sheet, range, styles Styling free
apply_conditional_formatting path, sheet, range, rule Color-code cells free

Стоимость и лимиты

Во что обходится

Квота API
None — all local
Токенов на вызов
Depends on how much data flows through the prompt; prefer file-path operations
Деньги
Free (MIT)
Совет
Read ranges, not whole sheets, when a file has 100k+ rows.

Безопасность

Права, секреты, радиус поражения

Минимальные скоупы: Filesystem read/write to the folder containing the workbooks
Хранение учётных данных: None
Исходящий трафик: Local file I/O only; data only leaves your machine via your LLM provider
Никогда не давайте: Write access outside a sandboxed folder when running untrusted prompts

Устранение неполадок

Частые ошибки и исправления

Permission denied writing file

Another program has the file open (often Excel itself). Close it and retry.

Проверить: lsof path/to/file.xlsx
Formula stored as text

Prefix strings starting with '=' via apply_formula, not write_data_to_excel.

Chart doesn't render in Excel

Check the data range covers the source columns with headers; Excel needs 2+ rows.

File saved but Excel says 'corrupted'

Usually mixing write_data and formulas in the same cell. Recreate the file, build bottom-up.

Альтернативы

excel-mcp-server в сравнении

АльтернативаКогда использоватьКомпромисс
Google Sheets via google-workspace MCPYou want collaborative cloud sheets, not local .xlsxNeeds OAuth; not a replacement for offline xlsx
LibreOffice headless MCPYou need macro execution or conversion to PDFHeavy install; slower

Ещё

Ресурсы

📖 Читать официальный README на GitHub

🐙 Открытые задачи

🔍 Все 400+ MCP-серверов и Skills