.claude

Excel MCP Skill

install
source · Clone the upstream repo
git clone https://github.com/kousunh/Excel-mcp-server
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/kousunh/Excel-mcp-server "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude" ~/.claude/skills/kousunh-excel-mcp-server-claude && rm -rf "$T"
manifest: .claude/skill.md
source content

Excel MCP Skill

Excel ファイルの読み書き・書式設定を行うための MCP ツール群。

2つのモード

  • workbook
    — 開いている Excel ブックをリアルタイム操作(xlwings)
  • path
    — 閉じた .xlsx ファイルを直接編集(Excel 不要、画像・グラフを壊さない)

どちらか一方を指定する。両方指定しない。

基本フロー

閉じたファイルを扱う場合

  1. read_cells
    で現状を確認(path, range, formats=true)
  2. write_cells
    で値を書き込む(path, range, value)
  3. format_cells
    で書式を整える(path, range, format)

開いている Excel を扱う場合

  1. get_excel_info
    でブック名・シート名を取得
  2. read_cells
    /
    write_cells
    /
    format_cells
    を workbook 指定で使う
  3. 複雑な操作は
    execute_vba
    で VBA を実行(開いている時のみ)

ツール早見表

ツールworkbookpath必須パラメータ
get_excel_info--なし
read_cellsOKOKrange
write_cellsOKOKrange, value
format_cellsOKOKrange, format
execute_vbaOKworkbook, code

value の指定方法

単一値:      "hello"  /  42  /  true
1行:         ["A", "B", "C"]
複数行:      [["A1","B1"], ["A2","B2"]]
1列:         range="A1:A3", value=["x","y","z"]

range のサイズと value の形状を合わせる。単一値を範囲に書くと全セルに同じ値が入る。

format の指定方法

{
  "bold": true,
  "fontSize": 14,
  "fontColor": "#FF0000",
  "backgroundColor": "#FFFF00",
  "textAlign": "center",
  "numberFormat": "#,##0",
  "borders": {
    "outside": { "style": "thin", "color": "#000000" }
  }
}

使えるプロパティ: bold, italic, underline, fontSize, fontName, fontColor, backgroundColor, textAlign (left/center/right), verticalAlign (top/middle/bottom), numberFormat, wrapText, borders

borders の位置: top, bottom, left, right, inside, outside borders の style: thin, medium, thick, double, dotted, dashed, none

注意点

  • path
    モードは .xlsx 形式のみ対応(.xls, .csv は不可)
  • path
    モードで編集してもExcelには即反映されない(ファイルを開き直す必要あり)
  • execute_vba
    は開いているブック専用。閉じたファイルには使えない
  • sheet を省略すると最初のシート(またはアクティブシート)が対象
  • 大きな範囲を一度に読むより、必要な範囲だけ指定する方が高速