Agent skill · Audited from source

excel-mcp

skill · sbroenne/mcp-server-excelMIT licenceAudited 21 Oct 2026 · source 5b587e8d41f6

★ 830pushed today
✕BLOCKGrade D · 69/100 · 25 findings · 5b587e8
830repo stars · whole sbroenne/mcp-server-excel

Is it safe? No — BLOCK, grade D (69/100). We read this skill's source at commit 5b587e8d41f6 and observed filesystem, network and shell access and a hard-coded secret (see the findings). The audit raised 25 findings, 1 critical or high. What it does: Apply optional presentation conventions when the user requests Excel report formatting or a new reader-facing report through excelcli. Use for readable headers, meaningful number formats, financial-model colours, and…

Ask an AI about this pageGChatGPTCClaudePPerplexityGeGeminiXGrok
More
Cite

Cite this page

ModelsAtlas. “excel-mcp (sbroenne/mcp-server-excel)”. Retrieved 21 Oct 2026. https://modelsatlas.com/skills/sbroenne/excel-mcp

Blocked. The page stays public so you can check this skill if someone recommended it to you. The audit found 1 critical or high finding, starting with “Network egress” in infrastructure/azure/setup-excel-desktop.ps1:36. Do not install it without reading them.

Trust audit

Audit 0.4.1 · source read 21 Oct 2026

Trust score69/100✕BLOCK D
0 critical1 high3 medium23 low10 info

BLOCK means the audit found something that could harm you or your machine. Grade D is shared by 642 of 14,816 audited skills.

What the source does

  • FilesystemDeclared1 observation
  • NetworkDeclared7 observations
  • ShellDeclared2 observations
  • DependenciesNot pinnedSome versions float
  • SecretsFoundSee the findings; values are never shown

Five audit layers

LayerWhat we checkResultFindings
L0 ProvenanceRepo owner, licence, archive status, activityWARN6
L1 Static sourceSecrets, path traversal, supply chain, hidden codeFAIL16
L2 InstructionsPrompt injection, authority framing, hidden directivesPASS3
L3 InventoryThe files and declarations match the sourcePASS0
L4 SandboxRun in isolation and watch behaviourSKIPPED why0

Gates applied: no behavioural pass.

Findings (25)

HIGHNetwork egressnet.metadata_ip · infrastructure/azure/setup-excel-desktop.ps1:36
F-04 Network egressCWE-200 · CWE-319Layer L1
$tokenUri = 'http://169.254.169.254/metadata/identity/oauth2/token' +
Why
cloud metadata endpoint: the classic SSRF credential grab
Fix
—
MEDIUMInventory / provenanceinv.binary · videos/agentic-world-bank-briefing/assets/voice/01a.wav
F-13 Inventory / provenanceCWE-1104Layer L0
01a.wav
Why
a compiled or binary member cannot be reviewed from source
Fix
ship source, or explain the binary in the README
MEDIUMNetwork egressnet.raw_ip · infrastructure/azure/setup-excel-desktop.ps1:36
F-04 Network egressCWE-200 · CWE-319Layer L1
$tokenUri = 'http://169.254.169.254/metadata/identity/oauth2/token' +
Why
No further detail recorded for this rule.
Fix
—
MEDIUMHard-coded secretssecret.generic · tests/ExcelMcp.Service.Tests/PersistentServiceConnectionTests.Lifecycle.cs:70
F-03 Hard-coded secretsCWE-798 · CWE-321Layer L1
const string secret = "…";
Why
No further detail recorded for this rule.
Fix
—
LOWInventory / provenanceinv.binary · samples/world-bank-briefing/WDI_Briefing_2000-2024.pptx
F-13 Inventory / provenanceCWE-1104Layer L0
WDI_Briefing_2000-2024.pptx
Why
a compiled or binary member cannot be reviewed from source
Fix
ship source, or explain the binary in the README
LOWInventory / provenanceinv.binary · samples/world-bank-briefing/WDI_Development_2000-2024.xlsx
F-13 Inventory / provenanceCWE-1104Layer L0
WDI_Development_2000-2024.xlsx
Why
a compiled or binary member cannot be reviewed from source
Fix
ship source, or explain the binary in the README
LOWInventory / provenanceinv.binary · samples/world-bank-dashboard/world-in-motion.xlsx
F-13 Inventory / provenanceCWE-1104Layer L0
world-in-motion.xlsx
Why
a compiled or binary member cannot be reviewed from source
Fix
ship source, or explain the binary in the README
LOWInventory / provenanceinv.binary · tests/ExcelMcp.ComInterop.Tests/Integration/Session/TestFiles/batch-test-static.xlsx
F-13 Inventory / provenanceCWE-1104Layer L0
batch-test-static.xlsx
Why
a compiled or binary member cannot be reviewed from source
Fix
ship source, or explain the binary in the README
LOWInventory / provenanceinv.hidden_file · vscode-extension/.vscodeignore
F-13 Inventory / provenanceCWE-1104Layer L0
.vscodeignore
Why
hidden member outside the usual dotfiles
Fix
review its purpose
LOWFilesystem / pathfs.traversal · .github/workflows/publish-mcp-registry.yml:82
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
../../../../mcp-publisher.exe publish --verbose
Why
No further detail recorded for this rule.
Fix
—
LOWFilesystem / pathfs.traversal · gh-pages/mkdocs.yml:45
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
# Many pulled-in source READMEs contain repo-relative links (e.g. ../../FEATURES.md)
Why
No further detail recorded for this rule.
Fix
—
LOWFilesystem / pathfs.traversal · gh-pages/tests/test_sitegen.py:36
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
self.rewrite("../../src/ExcelMcp.Core/Foo.cs"),
Why
No further detail recorded for this rule.
Fix
—
LOWFilesystem / pathfs.traversal · gh-pages/tests/test_sitegen.py:41
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
self.assertEqual(self.rewrite("../../scripts/"), f"[x]({REPO_URL}/tree/main/scripts)")
Why
No further detail recorded for this rule.
Fix
—
LOWFilesystem / pathfs.traversal · gh-pages/tests/test_sitegen.py:54
F-05 Filesystem / pathCWE-22 · CWE-59Layer L1
for link in ("https://example.com", "#here", "/faq/", "mailto:[email protected]", "../../../x.md"):
Why
No further detail recorded for this rule.
Fix
—
LOWNetwork egressnet.raw_ip · docs/DEVELOPMENT.md:601
F-04 Network egressCWE-200 · CWE-319Layer L1
npx -y @microsoft/aspire-cli dashboard run --frontend-url http://127.0.0.1:18888 --otlp-grpc-url http://127.0.0.1:4317 --otlp-http-url http://127.0.0.1:4318
Why
No further detail recorded for this rule.
Fix
—
LOWNetwork egressnet.raw_ip · tests/ExcelMcp.Core.Tests/Helpers/LocalMSourceCancellationProbe.cs:20
F-04 Network egressCWE-200 · CWE-319Layer L1
Url = $"http://127.0.0.1:{((IPEndPoint)_listener.LocalEndpoint).Port}/evaluation.csv";
Why
No further detail recorded for this rule.
Fix
—
LOWNetwork egressnet.raw_ip · tests/Shared/LocalOtlpReceiver.cs:26
F-04 Network egressCWE-200 · CWE-319Layer L1
Endpoint = $"http://127.0.0.1:{((IPEndPoint)_listener.LocalEndpoint).Port}";
Why
No further detail recorded for this rule.
Fix
—
LOWSupply chainsupply.unpinned · npm-packages/excelcli/package.json
F-08 Supply chainCWE-829 · CWE-1357Layer L1
foreground-child
Why
1 dependency range(s) float
Fix
pin exact versions or ship a lockfile
LOWSupply chainsupply.unpinned · npm-packages/mcp-server-excel/package.json
F-08 Supply chainCWE-829 · CWE-1357Layer L1
foreground-child
Why
1 dependency range(s) float
Fix
pin exact versions or ship a lockfile
LOWSupply chainsupply.unpinned · npm-packages/shared/package.json
F-08 Supply chainCWE-829 · CWE-1357Layer L1
foreground-child
Why
1 dependency range(s) float
Fix
pin exact versions or ship a lockfile
LOWSupply chainsupply.unpinned · package.json
F-08 Supply chainCWE-829 · CWE-1357Layer L1
@changesets/changelog-github, @changesets/cli
Why
2 dependency range(s) float
Fix
pin exact versions or ship a lockfile
LOWSupply chainsupply.unpinned · vscode-extension/package.json
F-08 Supply chainCWE-829 · CWE-1357Layer L1
@types/node, @types/vscode, @vscode/vsce, oxlint, typescript, vitest
Why
6 dependency range(s) float
Fix
pin exact versions or ship a lockfile
LOWPrompt injectionprompt.transfer_instruction · CHANGELOG.md:52
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
- [#1190](https://github.com/sbroenne/mcp-server-excel/pull/1190) [`582354b`](https://github.com/sbroenne/mcp-server-excel/commit/582354b07536d7e2ea061834777f4f3116da3a01) Thanks [@sbroenne](https://g
Why
an instruction to move sensitive data to an outside destination
Fix
remove; a skill never needs the user's secrets off the machine
LOWPrompt injectionprompt.transfer_instruction · CHANGELOG.md:56
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
- [#1161](https://github.com/sbroenne/mcp-server-excel/pull/1161) [`75b1fe2`](https://github.com/sbroenne/mcp-server-excel/commit/75b1fe29c8c8544b866606199ed6d00d3dbab507) Thanks [@sbroenne](https://g
Why
an instruction to move sensitive data to an outside destination
Fix
remove; a skill never needs the user's secrets off the machine
LOWPrompt injectionprompt.transfer_instruction · CHANGELOG.md:62
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
- [#1188](https://github.com/sbroenne/mcp-server-excel/pull/1188) [`2f584fc`](https://github.com/sbroenne/mcp-server-excel/commit/2f584fcb126c01eb037b9ac7aa1490cecdd8c971) Thanks [@sbroenne](https://g
Why
an instruction to move sensitive data to an outside destination
Fix
remove; a skill never needs the user's secrets off the machine

Audit 0.4.1 · source sha 5b587e8d41f6 · 21 Oct 2026Report an issue or request a re-scan

Provenance

Who published it, and what the verdict is pinned to

  • Publishersbroenne GitHub userOwner of the repository this skill is read from
  • Source foldersbroenne/mcp-server-excelThe exact folder we audited
  • LicenceMITAs the repository states it
  • Commit pinned for this verdict5b587e8d41f6A new audit runs when the source changes
  • Repository statusNot archivedPushed today
  • Sandboxed runNot runSkills are read, not executed; layer L4 is skipped

What it tells the agent

Full source on GitHub ↗

Its description: Apply optional presentation conventions when the user requests Excel report formatting or a new reader-facing report through excelcli. Use for readable headers, meaningful number formats, financial-model colours, and…

---
name: excel-cli-report-formatting
description: >-
  Apply optional presentation conventions when the user requests Excel report
  formatting or a new reader-facing report through excelcli. Use for readable
  headers, meaningful number formats, financial-model colours, and report layout.
  Do not load for ordinary reads, raw exports, targeted data updates, Power Query
  or Data Model work, or failure recovery without a report-formatting request.
compatibility: Windows with desktop Excel and excelcli.
---

# Report formatting with excelcli

Use the user's requested style first, the existing template second, and the
optional conventions in the [formatting guide](references/report-formatting.md)
only when neither specifies a style. Read that guide for the requested report,
not unrelated workbook work.

Discover exact actions and flags with `excelcli <command> --help`.
Preserve values, formulas, units, identifiers, existing layouts, and unrelated
sheets. Formatting is not permission to refresh data or rebuild workbook objects.
Use Table styles for Tables and the owning chart/PivotTable controls for those
objects; plain-cell formatting is not interchangeable with their style systems.

Inspect the affected formats and calculated outputs before saving the authorized
result. Financial-model colours and dashboard visuals are optional, not a
requirement for every report. Screenshots are optional and need a desktop.

General workflow and recovery documentation is available on the
[website](https://excelmcpserver.dev/reference/); it is not another required skill.

Excerpt, first 1,580 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.

Install

Pinned to the audited commit 5b587e8

claude plugin install excel-cli@mcp-server-excel-plugins
claude plugin install excel-mcp@mcp-server-excel-plugins

Commands as the repository documents them: shown, never run by us. Our verdict covers commit 5b587e8d41f6 only.

Works in which agents?

What its own text says, not a test

AgentStatusMore
Claude CodeMentioned in its text, not testedSkills for Claude Code · About Claude Code
Claude DesktopMentioned in its text, not testedSkills for Claude Desktop · About Claude Desktop
CodexMentioned in its text, not testedSkills for Codex · About Codex
GitHub CopilotMentioned in its text, not testedSkills for GitHub Copilot · About GitHub Copilot
CursorMentioned in its text, not testedSkills for Cursor · About Cursor
Gemini CLIMentioned in its text, not testedSkills for Gemini CLI · About Gemini CLI
WindsurfMentioned in its text, not testedSkills for Windsurf · About Windsurf
“Mentioned” means the skill’s text names the agent. We have not run it there.

Audit history

Every audit, every source change

  1. ✕BLOCK D 69 / 100

    first audit · source 5b587e8d41f6

excel-cli✓SAFE

sbroenne/mcp-server-excel

Discover and launch the Excel CLI for ordinary Excel workbook requests on Windows, including reads, writes, formulas, data refreshes, and workbook automation. Use the installed excel-cli plugin's npx launcher and native…

★ 830Grade B
Research!CAUTION

alirezarezvani/claude-skills

Default entry point for any research request — a hybrid router that classifies the question deterministically and either delegates to a specialist research skill (pulse for trends/sentiment, grants for NIH funding,…

★ 28kGrade B
Soc2 Audit Prep!CAUTION

alirezarezvani/claude-skills

/cs:soc2-audit-prep <scope> — SOC 2 Type II readiness 6-question forcing interrogation. Observation-period focused. Use before Type II observation begins, mid-period checkpoint, or pre-field-test month-10 readiness.

★ 28kGrade B
Fda Qsr Audit Prep!CAUTION

alirezarezvani/claude-skills

/cs:fda-qsr-audit-prep <scope> — FDA 21 CFR 820 (QSR / QMSR) audit 6-question forcing interrogation. Post-Feb 2026 substantially harmonized with ISO 13485. Use before annual internal QSR audit, pre-FDA-inspection…

★ 28kGrade B
Gdpr Audit Prep!CAUTION

alirezarezvani/claude-skills

/cs:gdpr-audit-prep <scope> — GDPR audit 6-question Article-cited forcing interrogation. Use before annual internal GDPR review, post-breach internal audit, DPA investigation readiness, or acquisition due diligence.

★ 28kGrade B
Iso13485 Audit Prep!CAUTION

alirezarezvani/claude-skills

/cs:iso13485-audit-prep <scope> — ISO 13485 QMS audit 6-question forcing interrogation. Design controls + CAPA + post-market focused. Use before Clause 8.2.4 internal audit, MDR / FDA QSR alignment review, or…

★ 28kGrade B

Questions about excel-mcp

What does the excel-mcp skill do?
Automate real Microsoft Excel with AI via MCP Server or CLI — Power Query, DAX, VBA, PivotTables, charts, and 412 operations.
Is excel-mcp safe to install?
No — not without reading the findings first. The audit graded it D (69/100) and found 1 critical or high issue in the source. Each one is listed on this page with the file and line it is on.
What can excel-mcp access on my machine?
The audit observed that it reaches the network, runs shell commands and reads or writes files. Each of those is consistent with what it says it does. Secrets in the source: found — see the findings.
Which assistants does excel-mcp work with?
Its documentation mentions claude-code, claude-desktop, codex, copilot, cursor, gemini-cli and windsurf. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (5b587e8d41f6), read on 2026-10-21. The repository is watched, and a new audit runs when it changes — this is the first audit.

Sources

Spotted something wrong? Report a correction · Methodology

Keep going in your AI

Opens with this page as the source. We add nothing else to the prompt.