Reads and edits Excel workbooks through MCP, including embedded images, formatting markers, formulas, search, and sheet operations.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent ā or use 1-click editor setup below.
š” Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Excel Vision MCP.
list_sheetsList all sheets in an Excel workbook with their dimensions and metadata. Returns sheet names, row/column counts, data ranges, merged cell counts, and total embedded image count. Use this to understand the structure of an Excel file before reading its contents. @param file_path: Absolute path to the .xlsx file. @return: Formatted text with workbook structure overview.
read_excel_dataRead cell data from an Excel sheet with pagination for large files. Returns cell values organized by row with coordinate labels and formatting markers ([B]=bold, [S]=strikethrough, [HL:color]=highlight, [C:color]=font color) that reveal the author's emphasis and status marks. Hidden rows/columns are skipped by default ā the author hid them for a reason ā except hidden cells that visible formulas depend on, which are kept and marked [HIDDEN-REF]. @param file_path: Absolute path to the .xlsx file. @param sheet_name: Sheet to read. None = first/active sheet. @param start_row: Starting row number (1-indexed). @param max_rows: Maximum rows to return (default 200). @param include_hidden: Set true to also read hidden rows/columns. @return: Formatted text table with cell values and formatting markers.
extract_imagesExtract all embedded images from an Excel file. Uses dual extraction strategy: cell-position mapping (primary) and ZIP archive scanning (fallback) to ensure no images are missed. Returns images as base64-encoded ImageContent that AI can visually analyze. @param file_path: Absolute path to the .xlsx file. @param sheet_name: Specific sheet, or None for all sheets. @param max_width: Max width in pixels for image optimization (default 1024). @param max_height: Max height in pixels for image optimization (default 1024). @return: Mixed list of TextContent (metadata) and ImageContent (images).
read_full_contentRead the FULL content of an Excel file including all text data AND embedded images. This is the primary tool for comprehensive document analysis. Returns all sheet data as structured text followed by all extracted images with their cell positions. Ideal for analyzing documents where both text and diagrams/screenshots are essential, such as requirement definitions, reports, or design specs. For very large files, data is paginated per sheet. Image extraction uses dual strategy (cell-mapping + archive) for maximum coverage. Cell text carries formatting markers ([B]=bold, [S]=strikethrough, [HL:color]= highlight) so emphasis and status marks survive into the analysis. Hidden rows/columns are skipped by default, except hidden cells that visible formulas depend on. @param file_path: Absolute path to the .xlsx file. @param max_rows_per_sheet: Max rows to read per sheet (default 500). @param max_image_width: Max width for image optimization (default 1024). @param max_image_height: Max height for image optimization (default 1024). @param include_hidden: Set true to also read hidden rows/columns. @return: Mixed list of TextContent and ImageContent covering entire workbook.
get_workbook_overviewGet a quick summary overview of an Excel workbook. Returns file metadata, sheet list with dimensions, image count, and merged cell information. Use this for a fast assessment before deeper analysis. @param file_path: Absolute path to the .xlsx file. @return: Formatted text summary.
search_excelSearch for text content across all cells in an Excel workbook. Performs case-insensitive substring search and returns matching cells with their coordinates and values. Hidden rows/columns are excluded by default. Limited to 100 results. @param file_path: Absolute path to the .xlsx file. @param query: Text to search for. @param sheet_name: Limit to specific sheet, or None for all sheets. @param include_hidden: Set true to also search hidden rows/columns. @return: Formatted text with search results.
The excel-vision-mcp MCP server exposes local .xlsx and, for some write operations, .xlsm workbooks through MCP tools. It can inspect workbook structure, read cell values, search text across sheets, extract embedded images, and return a combined representation of spreadsheet text and visuals.
Reading preserves context that ordinary cell extraction can lose. Returned cell text may include markers for bold, italic, strikethrough, highlights, font colors, merged cells, and hidden cells referenced by visible formulas. Hidden rows and columns are omitted by default, but callers can request them. Image results include base64-encoded ImageContent and cell-position metadata when available.
The server also provides workbook editing operations. Agents can create workbooks, add sheets, update individual cells, write rectangular row ranges, insert local images, apply formatting, and set or auto-fit column widths. Formula strings beginning with = are written as formulas; their calculated values are not available until the workbook is opened in Excel.
excel-vision-mcp MCP server uses a dual approach for embedded images. It first maps images to worksheet positions and then scans the .xlsx ZIP archive's media directory as a fallback. The read_full_content tool combines sheet text and extracted images in one response, while extract_images focuses on image retrieval and can target one sheet or the whole workbook.
For large workbooks, reading tools limit rows per request. read_excel_data reads a selected row range, and read_full_content paginates each sheet according to its configured maximum. search_excel performs a case-insensitive substring search and returns up to 100 matching cells, excluding hidden content unless requested.
Write operations save atomically, so a failed update does not corrupt the original file. File access can be restricted to configured directories through EXCEL_VISION_MCP_ALLOWED_DIRS; without that setting, the process can access Excel files available to the user account.
The package requires Python 3.11 or newer and can run directly with uvx excel-vision-mcp, or be installed with pip and started using the excel-vision-mcp executable. The repository also documents running from source with uv, and a Docker mode that communicates over stdin/stdout and mounts a spreadsheet directory.
MCP configuration examples are provided for Claude Desktop, Cursor, and Windsurf. Add the server as a local stdio process, then restart the client after changing its configuration. When using Docker, the mounted directory is referenced from inside the container, and the documented image configuration limits access to /data.
The tools cover these workflows:
read_full_content.The server operates on local file paths rather than a hosted workbook service. Callers must provide absolute paths, and Docker users must use paths inside the mounted container directory. The default row limits and the 100-result search limit may require multiple calls or narrower queries for large files.
Newly written formulas do not have calculated results until Excel opens the file. Image extraction can resize images using maximum width and height settings. Hidden rows and columns are intentionally skipped unless include_hidden is enabled, although hidden cells needed by visible formulas are retained and marked. The documented license is MIT.
Factual signals from GitHub, npm, and our automated checks ā not a rating.
No reviews yet ā be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/excel-vision-mcp)<a href="https://allmcps.com/mcp/excel-vision-mcp"><img src="https://allmcps.com/api/badge/excel-vision-mcp?style=directory" alt="Excel Vision MCP on AllMCPs" /></a>