Pod

Yes, this is on purpose. Pod is built for agents, so the default page is plain HTML.
Human? View the normal website.
Agent? You probably prefer /mcp/mcp-server-for-excel/issues.md or /mcp/mcp-server-for-excel/issues.json, or Pod over MCP.

Reported issues for MCP Server for Excel

Pod holds 23 of 43 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to MCP Server for Excel.

Most discussed

[BUG] screenshot capture/capture-sheet fails with COMException 0x800A03EC on a protected worksheet

Bug Description

screenshot capture and capture-sheet fail with a bare COMException: 0x800A03EC when the target worksheet is protected. Unprotecting the sheet and repeating the same call succeeds — protection alone is the trigger, not the range, not the workbook, not whether Excel is visible.

v1.10.6 made this easy to reach by adding worksheet protection to the server. A caller can now protect a sheet and then be unable to capture it in the same session, with an error that doesn't expl

Read the thread · 2026-08-17 · open · external user · 6 comments

JSON Schema array items format incompatible with Gemini API (400)

Problem

When mcp-excel is enabled as an MCP server alongside the Gemini API, the server registers ~385 function declarations. Gemini's API rejects the request with HTTP 400 errors like:

` GenerateContentRequest.tools[0].function_declarations[377].parameters.properties[formulas].items: field predicate failed: == Type.ARRAY GenerateContentRequest.tools[0].function_declarations[377].parameters.properties[formats].items: field predicate failed: == Type.ARRAY GenerateContentRequest.tools[0].fu

Read the thread · 2026-06-10 · closed · external user · 5 comments

[MCP] namedrange list crashes session with "Connection closed"

Issue Description

namedrange action list crashes the MCP session with MCP error -32000: Connection closed. Reproduced on v1.8.61 against two different .xlsx files in the same session. After the crash, the session is gone (subsequent calls return Session '<sessionId>' not found), and Excel.exe is left as an orphaned process holding an exclusive lock on the file — file action=open against the same file then fails with `Cannot open '...'. The file is already open in Excel or another p

Read the thread · 2026-05-17 · closed · external user · 9 comments

Session open/create fails with Specified cast is not valid on Windows 11 + Office 365 Click-to-Run

Bug: session open/create fails with Specified cast is not valid

Environment

Command used

Tested these MCP actions:

Expected behavior

Read the thread · 2026-03-22 · closed · external user · 15 comments

[BUG] vba.run fails on existing .xlsm workbook while datamodel.evaluate and VBA project operations succeed

Bug Description

On an existing .xlsm workbook, vba.run consistently fails with:

InvalidOperationException: VBA trust access is not enabled. Enable 'Trust access to the VBA project object model' in Excel Trust Center settings.

The error appears misleading. In the same healthy interactive service/session:

The failure appears isolated to vba.run on the existi

Read the thread · 2026-03-20 · closed · external user · 4 comments

[BUG] An error occurred invoking 'excel_range'.

Bug Description

Claude Code fails to read cells with excel_range. All actions (get-values, get-used-range, get-formulas) fail with a generic error message. Other tools like excel_table, excel_range_edit, excel_worksheet, excel_pivottable work correctly. The workaround is using excel_range_edit with action: "find" and searchValue: "*" to read cell values.

Component

*For MCP Server:

Read the thread · 2026-02-08 · closed · external user · 5 comments

[FEATURE] DAX EVALUATE query execution

Is your feature request related to a problem?

Currently, there's no way to execute DAX queries and retrieve tabular results programmatically. Users can create measures, but cannot run ad-hoc DAX EVALUATE queries to explore data or debug calculations.

Component

Describe the solution you'd like

Add

Read the thread · 2026-01-13 · closed · external user · 3 comments

[BUG] v1.4.49 was the last working version – MCP server fails to start

Bug Description

When using the MCP Excel Server to create a new Excel file via the CreateEmpty action, the MCP server fails to start and exits immediately. Version 1.4.49 was the last version where this workflow worked correctly.

Component

Command/Usage

For MCP Server:

Read the thread · 2026-01-10 · closed · external user · 3 comments

Most recent

CLI: powerquery load-to accepts --timeout but ignores it

Reproduced on Windows 11, excelcli.exe 1.10.7 (standalone binary). Companion to the two-clock docs issue; this is the code side.

Bug Description

IPowerQueryCommands.LoadTo has no TimeSpan timeout. Shared CLI settings still accept --timeout on load-to. The value is dropped. Load-to is capped by the session clock (default 120s) plus an internal DataOperationTimeout CTS (30 min), not by the flag the user passed.

Component

Comman

Read the thread · 2026-08-19 · closed · external user · 2 comments

CLI: powerquery list always includes full Formula (FormulaPreview already exists)

Using excelcli.exe 1.10.7 (standalone binary). Enhancement, not a local workaround in CLI flags.

Is your feature request related to a problem?

powerquery list serializes the entire M formula for every query. Two medium queries can be tens of thousands of characters. Terminals truncate; coding-agent context fills. Live powerquery list --help has no names-only / --formula-preview switch. view is one query and still full M.

PowerQueryInfo already has both Formula (full) and

Read the thread · 2026-08-19 · closed · external user · 2 comments

CLI: powerquery evaluate cleanup misses Excel-named Connection / Connection1 leftovers

Reproduced on Windows 11, excelcli.exe 1.10.7 (standalone binary).

Bug Description

powerquery evaluate is documented as testing M without a permanent query (“temporary objects auto-deleted”). Cleanup deletes connections whose name contains __pq_eval_*. Excel names ListObjects.Add-from-connection-string connections Connection, Connection1, … Those names do not contain the temp query id, so leftovers remain. A later session close --save writes them into the xlsx (`xl/con

Read the thread · 2026-08-19 · closed · external user · 2 comments

CLI: service status / session list use a 2s pipe timeout; empty session list is not proof of no sessions

Reproduced on Windows 11, excelcli.exe 1.10.7 (standalone binary).

Bug Description

excelcli -q service start returns {"success":true,"message":"Service started."}. Immediate service status / session list often return Service connection timed out. session.open on the same daemon can still work.

session list on a daemon that does not answer in 2s prints {"sessions":[]} with exit 0 — empty list is not proof there are no sessions.

There is no --timeout on `service st

Read the thread · 2026-08-19 · closed · external user · 2 comments

Docs/skill: two timeout clocks; load-to --timeout is accepted and ignored

Using excelcli.exe 1.10.7 and the v1.10.7 excel-cli skill / IPowerQueryCommands XML.

Bug Description

Timeout docs contradict each other, and load-to advertises a timeout it does not take.

Coding agents raise --timeout on load-to or pass timeout: 0 expecting “wait forever,” then hit the session 120s cap (or think refresh’s 30 min clock applies to load-to).

Component

Command/Usage

session open --timeout hel

Read the thread · 2026-08-19 · closed · external user · 2 comments

CLI: batch JSON timeout as integer fails (CLI --timeout seconds works)

Reproduced on Windows 11, excelcli.exe 1.10.7 (standalone binary).

Bug Description

CLI --timeout 3600 is seconds (ParseTimeSpanOrSeconds, changelog 1.8.63 / #640). The same integer in batch JSON fails deserialization.

Component

Command/Usage

[
  {"command": "session.open", "args": {"filePath": "C:\\tmp\\probe.xlsx"}},
  {"command": "powerquery.refresh", "args": {"queryName": "Probe", "

[Read the thread](https://github.com/sbroenne/mcp-server-excel/issues/783) · 2026-08-19 · closed · external user · 2 comments

### CLI: batch JSON ignores mCodeFile (CLI --m-code-file works)

Reproduced on Windows 11, `excelcli.exe` **1.10.7** (standalone binary).

## Bug Description

`excelcli batch` ignores `args.mCodeFile`. The same evaluate/create/update with CLI `--m-code-file` works. Batch requires inline `mCode`.

## Component

- [x] **CLI**
- [x] **Core Library** (generated `DispatchToCore` / service args)

## Command/Usage

```json
[
  {"command": "session.open", "args": {"filePath": "C:\\tmp\\probe.xlsx"}},
  {"command": "powerquery.evaluate", "args": {"mCodeFile": "C:\\tmp

[Read the thread](https://github.com/sbroenne/mcp-server-excel/issues/782) · 2026-08-19 · closed · external user · 2 comments

### CLI: powerquery load-to destination `worksheet` reports success and unloads to ConnectionOnly

Reproduced on Windows 11, `excelcli.exe` **1.10.7** (standalone binary).

## Bug Description

`powerquery load-to --load-destination worksheet` returns `"success": true` and leaves the query **connection-only**. If the query was already loaded to a table, the table is **stripped**.

This is the leftover *enum-string* hole after #764 / #770. 1.10.7 now rejects unknown *options*. An unknown *enum value* still succeeds.

Skill XML, `IPowerQueryCommands` XML, and the website table document destinati

[Read the thread](https://github.com/sbroenne/mcp-server-excel/issues/781) · 2026-08-19 · closed · external user · 2 comments

### Docs: cli-commands.md parameter names do not match the binary (--sheet-name vs --sheet); pythoninexcel missing; consider shipping skills/shared

Using `excel-skills-v1.10.5.zip` from the v1.10.5 release, with `excelcli.exe` 1.10.5.

### 1. Parameter names in `cli-commands.md` do not match the binary

`skills/excel-cli/references/cli-commands.md` documents parameter names that the CLI does not accept:

| Documented in `cli-commands.md` | Actual (`excelcli <cmd> --help`) |
|---|---|
| `--sheet-name` | `--sheet` |
| `--range-address` | `--range` |

Affects at least `screenshot`, `chart` and `worksheetstyle`. Example - the `screenshot` param

[Read the thread](https://github.com/sbroenne/mcp-server-excel/issues/767) · 2026-08-14 · closed · external user · 1 comment

### CLI: pythoninexcel get-result exceeding the session timeout wedges the service and strands an EXCEL.EXE

Windows 11, Excel 16.0 (build 20228.0), `excelcli.exe` **1.10.5**, M365 with Python in Excel enabled.

### Summary

When `pythoninexcel get-result` is given a `--max-wait-seconds` **greater than** the session
`--timeout`, the operation does not merely fail - it leaves the session unclosable, then takes the
whole CLI service down, and `service stop --forced` does not reap the child Excel.

### Repro

```console
> excelcli session open C:\tmp\verify.xlsx --timeout 180
> excelcli pythoninexcel set-

[Read the thread](https://github.com/sbroenne/mcp-server-excel/issues/766) · 2026-08-14 · closed · external user · 1 comment

### CLI: session open --show does not make Excel visible (isExcelVisible:true but Application.Visible is False)

Windows 11, Excel 16.0 (build 20228.0), `excelcli.exe` **1.10.5**.

### Summary

`session open --show` reports the session as visible, but Excel is never actually shown.

```console
> excelcli session open C:\tmp\verify.xlsx --show --timeout 600
{"sessionId":"83e65acd...","success":true}

> excelcli session list
{"sessions":[{"sessionId":"83e65acd...","isExcelVisible":true,"activeOperations":0,"canClose":true}]}

Attaching to that same instance via COM reports the opposite:

import

[Read the thread](https://github.com/sbroenne/mcp-server-excel/issues/765) · 2026-08-14 · closed · external user · 1 comment

### CLI: unrecognised arguments are silently ignored and still return success:true (CLI-side recurrence of #473)

Reproduced on Windows 11, Excel 16.0 (build 20228.0), `excelcli.exe` **1.10.5**, countryCode 1.

### Summary

The CLI accepts unrecognised arguments, ignores them, and still reports `"success": true`.

```console
> excelcli diag echo --message "sentinel"
{"action":"echo","message":"sentinel","success":true}

> excelcli diag echo --message "sentinel" --totally-bogus-flag xyz
{"action":"echo","message":"sentinel","success":true}      <-- identical; no warning, no error

Relationship to #47

Read the thread · 2026-08-14 · closed · external user · 1 comment

[MCP] conditionalformat add-rule: bool/int parameters throw JsonException ("could not be converted to System.String")

Issue Description

conditionalformat action add-rule fails with a JsonException as soon as any of its non-string parameters is supplied. The tool schema declares them as boolean / integer, but the matching args properties on the service side are typed as string, so a client that follows the schema always gets Cannot get the value of a token type 'True' as a string.

Seven parameters are affected: font_bold, font_italic, data_bar_show_value, icon_set_reverse, `icon_se

Read the thread · 2026-08-06 · closed · external user · 2 comments

[MCP] ## Bug: range get-formulas / set-formulas always fail with COMException 0x800A03EC (de-DE locale, Excel 2019 32-bit)

Bug: range get-formulas / set-formulas always fail with COMException 0x800A03EC (de-DE locale, Excel 2019 32-bit)

Summary

Reading or writing cell formulas via the range tool always fails with COMException: 0x800A03EC, while reading/writing values, formatting, worksheet ops and VBA all work normally. The failure occurs on every cell — including empty cells and trivial, locale-independent formulas — so it is not a formula-content or locale-separator problem. This ma

Read the thread · 2026-08-02 · open · external user · 3 comments

Add type-specific details to list-rules response for colorScale, iconSet, dataBar and visual rule types

Summary

Currently, list-rules and list-worksheet-rules return only common fields (type, appliesTo, priority, stopIfTrue, and interior/font/borders for cellValue/expression rules). For visual rule types (colorScale, dataBar, iconSet, top10, aboveAverage, uniqueValues, blanksCondition, timePeriod), their specific configuration is not exposed, making it impossible to fully inspect or round-trip these rules.

Motivation

Read the thread · 2026-07-23 · closed · external user · 1 comment

The remaining reports are on the project's issue tracker.