/ 디렉터리 / 플레이그라운드 / 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는 Claude Desktop과 동일한 mcpServers 스키마 사용. 프로젝트 설정이 전역보다 우선.

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

Cline 사이드바의 MCP Servers 아이콘 클릭 후 "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는 맵이 아닌 서버 오브젝트 배열 사용.

~/.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와 조합해 10배 효율

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

더 보기

리소스

📖 GitHub에서 공식 README 읽기

🐙 열린 이슈 보기

🔍 400+ MCP 서버 및 Skills 전체 보기