Skip to content
Agentmart
Submit a tool

Excel Vision MCP

Excel MCP with image extraction and write support — AI agents see and edit xlsx files

Connector by VOYAGER-Inc · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 20
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/voyager-inc-excel-vision-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Excel MCP with image extraction and write support — AI agents see and edit xlsx files

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
6 read · 6 write · 0 delete · 1 not yet classified
Secrets
None asked for
Install scripts
Not scanned yet
Runs as
Python package

Tools by what they do 13

Read from the source code; the running server may list different tools.

Read 6 · Look things up without changing anything.

  • extract_images
  • get_workbook_overview
  • list_sheets
  • read_excel_data
  • read_full_content
  • search_excel

Write 6 · Create, change, send or run things.

  • add_excel_sheet
  • create_excel_file
  • insert_excel_image
  • set_excel_column_widths
  • update_excel_cells
  • write_excel_rows

Not yet classified 1 · We could not tell from the name and description.

  • format_excel_cells

Files it touches

  • Any path the agent passes to its tools

Tools (13)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • add_excel_sheet

    Add a new empty sheet to an existing workbook. @param file_path: Absolute path to the .xlsx/.xlsm file. @param sheet_name: Name for the new sheet; must not already exist. @param position: 0-based index to insert at. None = append at the end. @return: Confirmation with the updated sheet list.

  • create_excel_file

    Create a new empty .xlsx workbook. @param file_path: Absolute destination path; parent directory must exist. @param sheet_names: Sheet names to create in order. None = single "Sheet1". @param overwrite: Set true to replace an existing file. Default false. @return: Confirmation with the created sheet list.

  • extract_images

    Extract 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).

  • format_excel_cells

    Apply formatting to a cell range: font, colors, borders, alignment, number format. Only the attributes you pass are changed; existing styling is preserved. Example — style a header row: cell_range="A1:D1", bold=true, font_color="FFFFFF", fill_color="4472C4", horizontal_align="center", border_style="thin". @param file_path: Absolute path to the .xlsx/.xlsm file. @param cell_range: Range like "A1:C10" or a single cell like "B2". @param sheet_name: Target sheet. None = first sheet. @param font_name: Font family (e.g. "Calibri"). @param font_size: Font size in points. @param bold: Bold on/off. @…

  • get_workbook_overview

    Get 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.

  • insert_excel_image

    Insert an image from a local file into a workbook, anchored at a cell. @param file_path: Absolute path to the .xlsx/.xlsm file. @param image_path: Absolute path to the image file (PNG/JPEG/GIF/BMP). @param cell: Anchor cell coordinate (e.g. "B2"). @param sheet_name: Target sheet. None = first sheet. @param width: Display width in pixels. None = natural size. @param height: Display height in pixels. None = natural size. @return: Confirmation with anchor position and display size.

  • list_sheets

    List 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_data

    Read 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 numb…

  • read_full_content

    Read 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:…

  • search_excel

    Search 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.

  • set_excel_column_widths

    Set column widths manually and/or auto-fit them to content. Auto-fit sizes each column to its longest content (full-width CJK characters count double), capped at max_width. Cells longer than the cap get wrap_text enabled so long descriptions wrap onto multiple lines instead of stretching the column; Excel auto-expands their row heights on open. Columns in `widths` are set exactly and skipped by auto-fit. @param file_path: Absolute path to the .xlsx/.xlsm file. @param sheet_name: Target sheet. None = first sheet. @param widths: Explicit widths per column letter, e.g. {"A": 12, "B": 35}. @para…

  • update_excel_cells

    Set individual cells by coordinate, e.g. {"A1": "Title", "B2": 42}. String values starting with "=" are written as formulas (e.g. "=SUM(A1:A5)"). Note: newly written formulas have no calculated value until the file is opened in Excel. For cells inside a merged range, write to the range's top-left anchor cell. The save is atomic — a failed write never corrupts the original file. @param file_path: Absolute path to the .xlsx/.xlsm file. @param updates: Mapping of cell coordinate to value. @param sheet_name: Target sheet. None = first sheet. @return: Confirmation with the number of cells writte…

  • write_excel_rows

    Write a rectangular block of rows starting at start_cell. Efficient for tabular data: pass a list of rows, each a list of values. Existing cells in the target range are overwritten; cells outside it are untouched. The save is atomic. @param file_path: Absolute path to the .xlsx/.xlsm file. @param rows: List of rows, each a list of cell values. @param sheet_name: Target sheet. None = first sheet. @param start_cell: Top-left coordinate of the block (default "A1"). @return: Confirmation with the written range.

Signals

Stars
20
Forks
2
Open issues
0
Contributors
1
Weekly downloads
67
Last commit
Jul 31, 2026 (2 months ago)
Last release
Jul 30, 2026 (3 months ago)
Last package publish
Jul 30, 2026 (3 months ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.VOYAGER-Inc/excel-vision-mcp
Version
1.2.1
Auth
No auth
Packages
pypi excel-vision-mcp
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026
Cite this page

Excel Vision MCP. Agent Mart. https://agentmart.dev/connectors/voyager-inc-excel-vision-mcp (last updated 2026-10-24)