MCP server intelligence profile

excel-vision-mcp Server

Enables AI agents to read Excel files with full content extraction, including embedded images, cell data, formulas, and merged cells, returning multimodal content for vision-capable models

Local OnlyVOYAGER-Inc
Awaiting current scanPypi · 1.2.1

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

1Distribution channel
13Independently observed tools
0Linked remote endpoints
AvailableVersion intelligence

Detailed security scan evidence is not public for this MCP yet. Public identity, registry metadata, and independently observed protocol inventory remain available.

Install and connect

Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.

Install excel-vision-mcp from PyPI

Install exact version 1.2.1. The executable name has not been verified, so it is intentionally not guessed.

python -m pip install 'excel-vision-mcp==1.2.1'

Identity

Canonical slugexcel-vision-mcp-4eaa2753DeploymentLocal Only
Canonical packagepypi:excel-vision-mcpRepositoryVOYAGER-Inc/excel-vision-mcp
First publishedJul 30, 2026Latest releaseJul 30, 2026
Last security verificationClassification confidence90%
PublicationDraftOfficial distributionNot verified

Distributions

ChannelIdentifierCurrent versionVersionsSource
pypiexcel-vision-mcp1.2.11Repository

Current release

PackageVersionPublished / observedInventorySecurity scan
pypiexcel-vision-mcp1.2.1CurrentJul 30, 202613 toolsSucceeded · 0 resources · 0 promptsEvidence restricted
Enterprise protection

Continuously monitor this MCP for security risk

Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.

  • Independent exact-version security scans
  • Continuous release and vulnerability monitoring
  • Risk-change alerts with capability context
  • Historical evidence and API exports
Custom pricingContact salesTailored to your organization, integrations, data needs, and support requirements.

Current version evidence

No public current-version evidence is available yet.

Current protocol inventory

2025-06-18Negotiated protocol
ExcelReaderServer-reported name
4Capability groups
Aug 22, 2026Observed

Tools 13

ToolCategoryAnnotationsRisk
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.
Input schema
{
  "properties": {
    "file_path": {
      "title": "File Path",
      "type": "string"
    },
    "sheet_name": {
      "title": "Sheet Name",
      "type": "string"
    },
    "position": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Position"
    }
  },
  "required": [
    "file_path",
    "sheet_name"
  ],
  "title": "add_excel_sheetArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "add_excel_sheetOutput",
  "type": "object"
}
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.
Input schema
{
  "properties": {
    "file_path": {
      "title": "File Path",
      "type": "string"
    },
    "sheet_names": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Sheet Names"
    },
    "overwrite": {
      "default": false,
      "title": "Overwrite",
      "type": "boolean"
    }
  },
  "required": [
    "file_path"
  ],
  "title": "create_excel_fileArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "create_excel_fileOutput",
  "type": "object"
}
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).
Input schema
{
  "properties": {
    "file_path": {
      "title": "File Path",
      "type": "string"
    },
    "sheet_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Sheet Name"
    },
    "max_width": {
      "default": 1024,
      "title": "Max Width",
      "type": "integer"
    },
    "max_height": {
      "default": 1024,
      "title": "Max Height",
      "type": "integer"
    }
  },
  "required": [
    "file_path"
  ],
  "title": "extract_imagesArguments",
  "type": "object"
}
Output schema
{
  "$defs": {
    "Annotations": {
      "additionalProperties": true,
      "properties": {
        "audience": {
          "anyOf": [
            {
              "items": {
                "enum": [
                  "user",
                  "assistant"
                ],
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Audience"
        },
        "priority": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Priority"
        }
      },
      "title": "Annotations",
      "type": "object"
    },
    "ImageContent": {
      "additionalProperties": true,
      "description": "Image content for a message.",
      "properties": {
        "type": {
          "const": "image",
          "title": "Type",
          "type": "string"
        },
        "data": {
          "title": "Data",
          "type": "string"
        },
        "mimeType": {
          "title": "Mimetype",
          "type": "string"
        },
        "annotations": {
          "anyOf": [
            {
              "$ref": "#/$defs/Annotations"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "_meta": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Meta"
        }
      },
      "required": [
        "type",
        "data",
        "mimeType"
      ],
      "title": "ImageContent",
      "type": "object"
    },
    "TextContent": {
      "additionalProperties": true,
      "description": "Text content for a message.",
      "properties": {
        "type": {
          "const": "text",
          "title": "Type",
          "type": "string"
        },
        "text": {
          "title": "Text",
          "type": "string"
        },
        "annotations": {
          "anyOf": [
            {
              "$ref": "#/$defs/Annotations"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "_meta": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Meta"
        }
      },
      "required": [
        "type",
        "text"
      ],
      "title": "TextContent",
      "type": "object"
    }
  },
  "properties": {
    "result": {
      "items": {
        "anyOf": [
          {
            "$ref": "#/$defs/TextContent"
          },
          {
            "$ref": "#/$defs/ImageContent"
          }
        ]
      },
      "title": "Result",
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "title": "extract_imagesOutput",
  "type": "object"
}
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. @param italic: Italic on/off. @param font_color: Text color, RRGGBB hex (e.g. "FFFFFF"). @param fill_color: Background color, RRGGBB hex (e.g. "4472C4"). @param border_style: thin, medium, thick, double, dashed, or dotted. @param border_edges: "all" = every cell; "outline" = outer edge of range only. @param horizontal_align: left, center, right, or justify. @param vertical_align: top, center, or bottom. @param wrap_text: Enable/disable text wrapping. @param number_format: Excel format code (e.g. "#,##0.00", "dd/mm/yyyy", "0%"). @return: Confirmation with the number of cells formatted.
Input schema
{
  "properties": {
    "file_path": {
      "title": "File Path",
      "type": "string"
    },
    "cell_range": {
      "title": "Cell Range",
      "type": "string"
    },
    "sheet_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Sheet Name"
    },
    "font_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Font Name"
    },
    "font_size": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Font Size"
    },
    "bold": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Bold"
    },
    "italic": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Italic"
    },
    "font_color": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Font Color"
    },
    "fill_color": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Fill Color"
    },
    "border_style": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Border Style"
    },
    "border_edges": {
      "default": "all",
      "title": "Border Edges",
      "type": "string"
    },
    "horizontal_align": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Horizontal Align"
    },
    "vertical_align": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Vertical Align"
    },
    "wrap_text": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Wrap Text"
    },
    "number_format": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Number Format"
    }
  },
  "required": [
    "file_path",
    "cell_range"
  ],
  "title": "format_excel_cellsArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "format_excel_cellsOutput",
  "type": "object"
}
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.
Input schema
{
  "properties": {
    "file_path": {
      "title": "File Path",
      "type": "string"
    }
  },
  "required": [
    "file_path"
  ],
  "title": "get_workbook_overviewArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_workbook_overviewOutput",
  "type": "object"
}
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.
Input schema
{
  "properties": {
    "file_path": {
      "title": "File Path",
      "type": "string"
    },
    "image_path": {
      "title": "Image Path",
      "type": "string"
    },
    "cell": {
      "title": "Cell",
      "type": "string"
    },
    "sheet_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Sheet Name"
    },
    "width": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Width"
    },
    "height": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Height"
    }
  },
  "required": [
    "file_path",
    "image_path",
    "cell"
  ],
  "title": "insert_excel_imageArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "insert_excel_imageOutput",
  "type": "object"
}
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.
Input schema
{
  "properties": {
    "file_path": {
      "title": "File Path",
      "type": "string"
    }
  },
  "required": [
    "file_path"
  ],
  "title": "list_sheetsArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "list_sheetsOutput",
  "type": "object"
}
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 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.
Input schema
{
  "properties": {
    "file_path": {
      "title": "File Path",
      "type": "string"
    },
    "sheet_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Sheet Name"
    },
    "start_row": {
      "default": 1,
      "title": "Start Row",
      "type": "integer"
    },
    "max_rows": {
      "default": 200,
      "title": "Max Rows",
      "type": "integer"
    },
    "include_hidden": {
      "default": false,
      "title": "Include Hidden",
      "type": "boolean"
    }
  },
  "required": [
    "file_path"
  ],
  "title": "read_excel_dataArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "read_excel_dataOutput",
  "type": "object"
}
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: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.
Input schema
{
  "properties": {
    "file_path": {
      "title": "File Path",
      "type": "string"
    },
    "max_rows_per_sheet": {
      "default": 500,
      "title": "Max Rows Per Sheet",
      "type": "integer"
    },
    "max_image_width": {
      "default": 1024,
      "title": "Max Image Width",
      "type": "integer"
    },
    "max_image_height": {
      "default": 1024,
      "title": "Max Image Height",
      "type": "integer"
    },
    "include_hidden": {
      "default": false,
      "title": "Include Hidden",
      "type": "boolean"
    }
  },
  "required": [
    "file_path"
  ],
  "title": "read_full_contentArguments",
  "type": "object"
}
Output schema
{
  "$defs": {
    "Annotations": {
      "additionalProperties": true,
      "properties": {
        "audience": {
          "anyOf": [
            {
              "items": {
                "enum": [
                  "user",
                  "assistant"
                ],
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Audience"
        },
        "priority": {
          "anyOf": [
            {
              "maximum": 1,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Priority"
        }
      },
      "title": "Annotations",
      "type": "object"
    },
    "ImageContent": {
      "additionalProperties": true,
      "description": "Image content for a message.",
      "properties": {
        "type": {
          "const": "image",
          "title": "Type",
          "type": "string"
        },
        "data": {
          "title": "Data",
          "type": "string"
        },
        "mimeType": {
          "title": "Mimetype",
          "type": "string"
        },
        "annotations": {
          "anyOf": [
            {
              "$ref": "#/$defs/Annotations"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "_meta": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Meta"
        }
      },
      "required": [
        "type",
        "data",
        "mimeType"
      ],
      "title": "ImageContent",
      "type": "object"
    },
    "TextContent": {
      "additionalProperties": true,
      "description": "Text content for a message.",
      "properties": {
        "type": {
          "const": "text",
          "title": "Type",
          "type": "string"
        },
        "text": {
          "title": "Text",
          "type": "string"
        },
        "annotations": {
          "anyOf": [
            {
              "$ref": "#/$defs/Annotations"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "_meta": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Meta"
        }
      },
      "required": [
        "type",
        "text"
      ],
      "title": "TextContent",
      "type": "object"
    }
  },
  "properties": {
    "result": {
      "items": {
        "anyOf": [
          {
            "$ref": "#/$defs/TextContent"
          },
          {
            "$ref": "#/$defs/ImageContent"
          }
        ]
      },
      "title": "Result",
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "title": "read_full_contentOutput",
  "type": "object"
}
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.
Input schema
{
  "properties": {
    "file_path": {
      "title": "File Path",
      "type": "string"
    },
    "query": {
      "title": "Query",
      "type": "string"
    },
    "sheet_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Sheet Name"
    },
    "include_hidden": {
      "default": false,
      "title": "Include Hidden",
      "type": "boolean"
    }
  },
  "required": [
    "file_path",
    "query"
  ],
  "title": "search_excelArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "search_excelOutput",
  "type": "object"
}
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}. @param auto_fit: Auto-size all other columns in the used range. @param max_width: Width cap for auto-fit in character units (default 60). @param wrap_overflow: Wrap cells longer than max_width (default true). @return: Confirmation listing each column and the width applied.
Input schema
{
  "properties": {
    "file_path": {
      "title": "File Path",
      "type": "string"
    },
    "sheet_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Sheet Name"
    },
    "widths": {
      "anyOf": [
        {
          "additionalProperties": {
            "type": "number"
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Widths"
    },
    "auto_fit": {
      "default": false,
      "title": "Auto Fit",
      "type": "boolean"
    },
    "max_width": {
      "default": 60,
      "title": "Max Width",
      "type": "integer"
    },
    "wrap_overflow": {
      "default": true,
      "title": "Wrap Overflow",
      "type": "boolean"
    }
  },
  "required": [
    "file_path"
  ],
  "title": "set_excel_column_widthsArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "set_excel_column_widthsOutput",
  "type": "object"
}
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 written.
Input schema
{
  "properties": {
    "file_path": {
      "title": "File Path",
      "type": "string"
    },
    "updates": {
      "additionalProperties": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "integer"
          },
          {
            "type": "number"
          },
          {
            "type": "boolean"
          },
          {
            "type": "null"
          }
        ]
      },
      "title": "Updates",
      "type": "object"
    },
    "sheet_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Sheet Name"
    }
  },
  "required": [
    "file_path",
    "updates"
  ],
  "title": "update_excel_cellsArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "update_excel_cellsOutput",
  "type": "object"
}
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.
Input schema
{
  "properties": {
    "file_path": {
      "title": "File Path",
      "type": "string"
    },
    "rows": {
      "items": {
        "items": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "integer"
            },
            {
              "type": "number"
            },
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ]
        },
        "type": "array"
      },
      "title": "Rows",
      "type": "array"
    },
    "sheet_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Sheet Name"
    },
    "start_cell": {
      "default": "A1",
      "title": "Start Cell",
      "type": "string"
    }
  },
  "required": [
    "file_path",
    "rows"
  ],
  "title": "write_excel_rowsArguments",
  "type": "object"
}
Output schema
{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "write_excel_rowsOutput",
  "type": "object"
}

Resources 0

  • None observed.

Resource templates 0

  • None observed.

Prompts 0

  • None observed.

Remote endpoints

EndpointTransportAuthenticationHealthObserved
No verified remote endpoint is linked.

excel-vision-mcp Server questions

How do I install excel-vision-mcp Server?

Install the selected package version with: python -m pip install 'excel-vision-mcp==1.2.1'

What tools does excel-vision-mcp Server provide?

excel-vision-mcp Server exposed 13 tools during independent protocol observation, including add_excel_sheet, create_excel_file, extract_images, format_excel_cells, get_workbook_overview, insert_excel_image, list_sheets, read_excel_data, and others.

Is excel-vision-mcp Server secure?

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

Company and product intelligence

These internal links are derived from strong identity fields such as the implementation name, package, repository, vendor, and listing name—not generic description prose.

Associated company landscape

Microsoft & Azure intelligence →

Association is based on retained identity fields; it does not by itself prove first-party publication.

Explore related MCP server guides

Curated product and capability guides containing this catalog record.

Official vs Community MCP Servers

Let’s talk about MCP security.

Share your details and our security team will contact you.