Exstruct

v1.0.0Search & Data Extractionstable

Conversion from Excel to structured JSON (tables, shapes, charts) for LLM/RAG pipelines, and autonomous Excel reading/writing by AI agents via CLI and MCP integration.

data-exdocument-aiexcelexcel-automationexcel-parsing
Share:
145
Stars
0
Downloads
0
Weekly
0/5

What is Exstruct?

Exstruct is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to conversion from excel to structured json (tables, shapes, charts) for llm/rag pipelines, and autonomous excel reading/writing by ai agents via cli and mcp integration.

Conversion from Excel to structured JSON (tables, shapes, charts) for LLM/RAG pipelines, and autonomous Excel reading/writing by AI agents via CLI and MCP integration.

This server falls under the Search & Data Extraction category on MCPgee, the world's largest MCP server directory with 33,000+ servers.

Features

  • Conversion from Excel to structured JSON (tables, shapes, ch

Use Cases

Convert Excel tables to structured JSON
Parse charts and shapes from spreadsheets
Enable autonomous Excel reading and writing
harumiWeb

Maintainer

LicenseBSD-3-Clause
Languagepython
Versionv1.0.0
UpdatedMay 18, 2026
Statushealthy
Maintenanceactive

Works with

ClaudeOpenAIwindowsmacoslinux

Installation

Manual Installation

npx exstruct

Configuration

Configuration Details

Config File

claude_desktop_config.json

Performance

Response Metrics

Response Time< 200ms
ThroughputMedium

Resource Usage

Memory UsageLow
CPU UsageLow

How to Set Up and Use Exstruct

Exstruct is a Python library and MCP server that converts Excel workbooks into structured JSON, capturing cells, tables, shapes, charts, SmartArt, merged cells, hyperlinks, and formulas in a format that LLMs and RAG pipelines can directly consume. It also supports patch-based editing — letting AI agents safely read and write Excel files through a validate → dry-run → inspect → apply workflow. The MCP integration allows any MCP-compatible AI client to autonomously read or modify spreadsheets without needing COM, Excel, or a GUI.

Prerequisites

  • Python 3.9 or later with pip available
  • LibreOffice installed if you need shape/chart extraction on Linux or WSL (for COM-less environments)
  • Optional: pypdfium2 and Pillow for PDF/PNG rendering of sheets
  • An MCP-compatible client such as Claude Desktop
  • uvx (part of uv) recommended for zero-dependency MCP server invocation
1

Install Exstruct with MCP support

Install the exstruct package with the mcp extras. This pulls in the MCP server entrypoint alongside the core extraction library.

pip install exstruct[mcp]
2

Verify the CLI installation

Run exstruct on a sample file to confirm installation succeeded and to understand the output structure before connecting via MCP.

exstruct input.xlsx
3

Start the MCP server pointing at your data directory

Launch exstruct-mcp with a --root path that scopes which Excel files the AI agent can access. Use --on-conflict rename to avoid overwriting originals during edits.

exstruct-mcp --root /path/to/excel/files --on-conflict rename
4

Or run without installing via uvx

Use uvx for a zero-install, isolated run of the MCP server — ideal for one-off use or CI pipelines.

uvx --from 'exstruct[mcp]' exstruct-mcp --root /path/to/excel/files
5

Configure your MCP client

Add the server to your claude_desktop_config.json so Claude Desktop can launch and connect to it automatically.

{
  "mcpServers": {
    "exstruct": {
      "command": "uvx",
      "args": ["--from", "exstruct[mcp]", "exstruct-mcp", "--root", "/path/to/excel/files"]
    }
  }
}
6

Set the LibreOffice Python path if on Linux/WSL

On Debian/Ubuntu/WSL, shapes and charts require a LibreOffice-compatible Python interpreter. Set the environment variable before running.

export EXSTRUCT_LIBREOFFICE_PYTHON_PATH=/usr/lib/libreoffice/program/python3

Exstruct Examples

Client configuration

claude_desktop_config.json entry using uvx to run exstruct-mcp with a scoped root directory.

{
  "mcpServers": {
    "exstruct": {
      "command": "uvx",
      "args": [
        "--from", "exstruct[mcp]",
        "exstruct-mcp",
        "--root", "/Users/yourname/spreadsheets",
        "--on-conflict", "rename"
      ]
    }
  }
}

Prompts to try

Example prompts that leverage Exstruct's extraction and editing capabilities through the MCP server.

- "Read sales_report.xlsx and give me a summary of the Q3 revenue table"
- "Extract all charts from financial_model.xlsx and describe what each one shows"
- "Find all cells in budget.xlsx that contain formulas and list what each formula computes"
- "Update the 'Unit Price' column in inventory.xlsx — multiply every value by 1.1 for a 10% price increase"
- "Validate the structure of data_export.xlsx and tell me if any merged cell regions could cause parsing issues"

Troubleshooting Exstruct

Shapes and charts are missing from extracted JSON

On Linux/WSL without Excel COM, shapes require LibreOffice. Install it (apt install libreoffice) and set EXSTRUCT_LIBREOFFICE_PYTHON_PATH to the LibreOffice Python binary path before running exstruct-mcp.

exstruct-mcp command not found after pip install

Ensure pip installed into a location on your PATH. Try pip install --user exstruct[mcp] and add ~/.local/bin to PATH, or use uvx --from 'exstruct[mcp]' exstruct-mcp as a path-independent alternative.

File edits overwrite the original Excel file unexpectedly

Pass --on-conflict rename when starting exstruct-mcp. This renames the existing file rather than overwriting it, giving you a backup before any agent-initiated patch is applied.

Frequently Asked Questions about Exstruct

What is Exstruct?

Exstruct is a Model Context Protocol (MCP) server that conversion from excel to structured json (tables, shapes, charts) for llm/rag pipelines, and autonomous excel reading/writing by ai agents via cli and mcp integration. It connects AI assistants to external tools and data sources through a standardized interface.

How do I install Exstruct?

Follow the installation instructions on the Exstruct GitHub repository. Clone the repo, install dependencies, and add the server config to your AI client.

Which AI clients work with Exstruct?

Exstruct works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.

Is Exstruct free to use?

Yes, Exstruct is open source and available under the BSD-3-Clause license. You can use it freely in both personal and commercial projects.

Browse More Search & Data Extraction MCP Servers

Explore all search & data extraction servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.

Quick Config Preview

{ "mcpServers": { "exstruct": { "command": "npx", "args": ["-y", "exstruct"] } } }

Add this to your claude_desktop_config.json or .cursor/mcp.json

Read the full setup guide →

Ready to use Exstruct?

Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.

33,000+ ServersFree & Open SourceStep-by-Step Guides