Exstruct
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.
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
Maintainer
Works with
Installation
Manual Installation
npx exstructConfiguration
Configuration Details
claude_desktop_config.json
Performance
Response Metrics
Resource Usage
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
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]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.xlsxStart 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 renameOr 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/filesConfigure 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"]
}
}
}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/python3Exstruct 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.
Exstruct Alternatives — Similar Search & Data Extraction Servers
Looking for alternatives to Exstruct? Here are other popular search & data extraction servers you can use with Claude, Cursor, and VS Code.
TrendRadar
★ 58.0kA real-time hotspot monitoring and news aggregation assistant that provides AI-powered analysis of trending topics across multiple platforms via the Model Context Protocol. It enables users to track news and receive automated notifications through va
Scrapling
★ 52.7k🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!
PDF Math Translate
★ 33.9k[EMNLP 2025 Demo] PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/MCP/Docker/Zotero
GPT Researcher
★ 27.2kAn autonomous agent that conducts deep research on any data using any LLM providers
Agent Reach
★ 20.1kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Xiaohongshu
★ 13.7kMCP for xiaohongshu.com
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.
Set Up Exstruct in Your Editor
Choose your AI client for step-by-step setup instructions.
Quick Config Preview
Add this to your claude_desktop_config.json or .cursor/mcp.json
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.