# Excel MCP Server (FsOpenXmlDsl)

Decompiles .xlsx workbooks into standalone F# or C# scripts, XML, and JSON. It helps agents read existing spreadsheets and construct new files from structured schemas.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 9
- Author: Kookerella-Ltd
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/Kookerella-Ltd/Kookerella.FsOpenXmlDsl
- Updated: 2026-09-16
- HTML: https://affpapa.org/en/nevibecode/mcp/excel-mcp-server-fsopenxmldsl

## What it does

Most spreadsheet libraries only write files imperatively. This server works in both directions. It parses existing `.xlsx` or `.xlsm` files into a typed data model, then decompiles that model into readable C# or F# scripts. You can run those scripts to recreate the identical workbook.

The engine also maps workbooks to and from plain XML and JSON. Through the Model Context Protocol, it exposes tools like `generate_csharp_script`, `generate_fsharp_script`, `generate_xml`, `create_workbook_from_xml`, and corresponding JSON handlers. Supported structures include cell formatting, data validations, comments, tables, sparklines, and charts.

VBA macros are preserved strictly as raw `vbaProject.bin` bytes rather than deconstructed code. Running the server requires either the .NET toolchain or a standalone pre-built executable from the repository releases.

## Install

### Claude Code (native platform)

**Install**
- The MCP registry has no launch command for it: see the repository README

## When to use it
- Decompile `.xlsx` spreadsheets into standalone C# or F# scripts
- Build new Excel workbooks directly from JSON or XML structures
- Inspect existing styles, tables, and formulas via structured representations
- Generate reproducible spreadsheet code without writing manual OpenXML calls

## Example prompts
- Convert `invoice.xlsx` into a standalone C# script using `generate_csharp_script`.
- Create a new workbook from `payload.json` via `create_workbook_from_json`.
- Export the structure of `report.xlsx` into XML using `generate_xml`.

## Similar
- [excel-analysis](https://affpapa.org/en/nevibecode/skills/excel-analysis.md) — skill · 3031 installs
- [csv-excel-merger](https://affpapa.org/en/nevibecode/skills/csv-excel-merger.md) — skill · 1200 installs
- [Skywork Excel](https://affpapa.org/en/nevibecode/skills/skywork-excel.md) — skill · 361 installs
- [dwg-to-excel](https://affpapa.org/en/nevibecode/skills/dwg-to-excel.md) — skill · 308 installs
- [convert-excel-to-md](https://affpapa.org/en/nevibecode/skills/convert-excel-to-md.md) — skill · 88 installs
- [Excel MCP Server](https://affpapa.org/en/nevibecode/mcp/excel-mcp-server.md) — MCP server · ★ 4268

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
