Server data from the Official MCP Registry
XLSX tools: inspect, read, diff and validate workbooks; write, edit and convert with --allow-write.
About
XLSX tools: inspect, read, diff and validate workbooks; write, edit and convert with --allow-write.
Security Report
Valid MCP server (2 strong, 1 medium validity signals). No known CVEs in dependencies. ⚠️ Package registry links to a different repository than scanned source. Imported from the Official MCP Registry. Trust signals: 6 highly-trusted packages. 1 finding(s) downgraded by scanner intelligence.
11 files analyzed · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
How to Install
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-devxord-xlvane": {
"args": [
"-y",
"@xlvane/mcp"
],
"command": "npx"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
xlvane
An MIT-licensed library for reading and writing XLSX files, designed for input from untrusted sources.
Releases are published from GitHub Actions with npm provenance: xlvane from 1.0.1, @xlvane/mcp from 1.2.2, and @xlvane/exceljs (named @xlvane/compat until 1.3.2, with provenance from 1.0.1) from its first release after 1.3.3, which is published from the maintainer's machine (SECURITY.md).
Website: xlvane.github.io (guide, error codes, an in-browser demo). Status: published on npm (xlvane, @xlvane/exceljs, @xlvane/mcp). Install with npm install xlvane (and npm install @xlvane/exceljs for the exceljs-compatible API). Changes for users are in CHANGELOG.md, planned and deferred work in ROADMAP.md; how releases are made is in docs/RELEASING.md.
Packages
| Package | Contents | Runtime dependencies |
|---|---|---|
xlvane | Core library (safe reading, inspect(), writing with styles, task API, streaming) and the xlvane command line | fflate |
@xlvane/exceljs | exceljs-compatible API (docs/exceljs-compat.md) | xlvane |
@xlvane/mcp | MCP server for AI agents and other MCP clients | xlvane, @modelcontextprotocol/server |
Command line in 5 minutes
npm install -g xlvane # or use npx xlvane in a project
xlvane # overview and common commands
xlvane inspect report.xlsx # sheets, columns, header rows, warnings
xlvane read report.xlsx --sheet Sales # print a sheet as a table
xlvane convert report.xlsx sales.csv # XLSX ⇄ CSV / JSON
xlvane create data.json report.xlsx # formatted report from JSON or CSV
xlvane diff old.xlsx new.xlsx # what changed
xlvane help <command> # usage and examples
Add --json to any command for machine-readable output (docs/cli-json.md). More in packages/xlvane/README.md.
MCP server, Agent Skill and offline docs
npx @xlvane/mcp --root ./data(orxlvane mcp --root ./data) serves the toolsinspect_workbook,read_table,diffandvalidatefor files inside./data;--allow-writeaddswrite_table,edit_cellsandconvert. See packages/mcp/README.md.- skills/xlvane/SKILL.md is an Agent Skill with instructions and examples. Install it into a project with one command of the
skillsCLI:npx skills add ./node_modules/xlvane/skills --skill xlvaneafternpm install xlvane(works offline), ornpx skills add <path-to-a-clone-of-this-repository>/skills --skill xlvane. - The
xlvanepackage also ships its documentation (docs/) andllms-full.txt(README, skill and docs in one file), so it is readable without network access.
Moving from exceljs or SheetJS
- docs/migrate-from-exceljs.md: switching a project from exceljs to
@xlvane/exceljswithnpx xlvane migrateand an npm alias, what to check afterwards and how to roll back. - How to fix the CVEs in the
xlsxpackage from npm: the two advisories of thexlsx(SheetJS) package on npm, the fixed SheetJS versions outside npm, and the equivalent xlvane calls.
xlvane compared with other libraries
Every cell below is backed by a recorded source (registry document, README or source file at a pinned version or commit), checked on 2026-11-03. Performance is not compared here.
| xlvane | ExcelJS | SheetJS Community Edition (npm xlsx) | excelize (Go) | |
|---|---|---|---|---|
| Latest version (date) | 1.3.3 (2026-11-05) | 4.4.0 on npm (2023-10-19) | 0.18.5 on npm (2022-03-24); later versions are distributed by SheetJS outside npm | v2.11.1 Go module (2026-11-02) |
| License | MIT | MIT | Apache-2.0 | BSD-3-Clause |
| Runtime dependencies | 1 (fflate) | 9 | 7 | 9 direct module requirements in go.mod |
| Read / write XLSX | Yes / yes (XLSM, XLTX and XLTM are read too) | Yes / yes | Yes / yes | Yes / yes (also XLAM, XLSM, XLTM, XLTX) |
Legacy .xls | No (rejected with an error) | Not documented | Read and write (BIFF2 to BIFF8) | Not listed |
| Other formats | CSV, JSON | CSV | XLSB, ODS, Numbers, CSV, HTML and others | None listed |
| Cell styles (fonts, fills, borders) when writing | Yes | Yes | Listed under SheetJS Pro in the README | Yes |
| Charts | From 1.3.0: write and read column, bar, line, pie, scatter and area charts. Earlier versions skip them when reading and keep them unchanged in editCells | No chart API | Listed under SheetJS Pro; chartsheets are read as their cached data | Write (AddChart, AddChartSheet) |
| Formula calculation | No | No | Not in the Community Edition (the README points to SheetJS Pro) | Partial (CalcCellValue, with documented gaps) |
| Streaming | Read and write XLSX | Read and write XLSX | Write CSV, HTML and JSON (XLSX.stream); for reading, the README buffers the stream first | Read and write worksheets |
What xlvane cannot do: it does not calculate formulas, does not open encrypted (password-protected) workbooks or legacy .xls files, does not model pivot tables, shapes, slicers or form controls, and reads and writes no format besides XLSX (plus XLSM, XLTX and XLTM on reading), CSV and JSON (packages/xlvane/README.md, SECURITY.md). @xlvane/exceljs is a replacement for the commonly used exceljs API; docs/exceljs-compat.md lists what is supported, partly supported and not supported. xlvane is an independent project, not affiliated with or endorsed by the authors of ExcelJS, SheetJS or excelize.
How xlvane is built and verified
- Who writes the code. The code, tests and documentation are written by AI coding agents (Claude Code), following the rules in CLAUDE.md and the maintainer's plan. Each phase starts with a plan that the maintainer approves; the maintainer also approves every release (staged publishing with two-factor authentication, docs/RELEASING.md). Decisions and checked facts, each with its source, are kept in the maintainer's internal notes, which are not in this repository.
- Tests.
npm testran 2200 tests in 203 files on 2026-11-03 (2149 passed, 48 skipped, 3 marked as to do; Node.js 22.23.4): unit tests, security tests (tests/security), policy tests (tests/policy: dependencies, release workflow, texts read by agents), command-line snapshots, the ported exceljs tests and the corpus tests. - Corpus. 340 files of the Apache POI test corpus (Apache License 2.0; written by Excel for Windows, Mac and the web, LibreOffice, ONLYOFFICE and others, and damaged files) and files saved by LibreOffice; the origin and license of every file is in tests/corpus/LICENSES.md.
- Fuzzing. Property-based tests with fast-check in tests/fuzz. Each property runs
XLV_FUZZ_RUNStimes (100 innpm test, 20 000 by default innpm run fuzz; runs withXLV_FUZZ_RUNS=100000are recorded for 1.1.1, for 1.2.2 before the 1.2.3 fixes and for 1.3.0), and the slower ones (CSV, sheet rules, edits, writing, streaming, streamed ZIP) a tenth to a fiftieth of that (tests/fuzz/runs.ts and theRUNSconstant of each file). - LibreOffice. tests/libreoffice opens files written by xlvane in LibreOffice Calc (headless) and checks the values, styles and layout it sees; CI installs LibreOffice and requires these tests.
- Runtimes. CI runs the tests on Node.js 22, 24 and 26, and the same smoke bundle in Bun, Deno, Chromium and workerd (Cloudflare Workers) (scripts/run-runtimes.mjs, .github/workflows/ci.yml).
- Security reviews. Independent reviews with proof-of-concept files were run before 1.1.1, on the published versions 1.0.0 to 1.2.2 before 1.2.3, and twice on the 1.3.0 release candidate. Each fixed finding has a test that failed before the fix.
- Provenance. Releases are built and published by .github/workflows/release.yml through npm trusted publishing, which adds provenance (
xlvanefrom 1.0.1,@xlvane/mcpfrom 1.2.2,@xlvane/compatfrom 1.0.1 to 1.3.2; its successor@xlvane/exceljsfrom the first release after 1.3.3, which is published from the maintainer's machine).
Development
Requires Node.js 22.18+, 24.11+ or 26+ (the range supported by the build and test tools).
npm install
npm test # unit, security, policy and corpus tests
npm run fuzz # property-based tests with many runs
npm run typecheck # TypeScript
npm run check:pkg # build, publint, attw and package policy checks
How to report problems and propose changes is in CONTRIBUTING.md. Project rules are in CLAUDE.md, and the security policy in SECURITY.md.
License
MIT. @xlvane/exceljs is an independent project, not affiliated with or endorsed by the exceljs project or its authors; its LICENSE includes the exceljs MIT notice, because its API and type declarations follow exceljs 4.4.0.
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Rea
Freeby Morluto · Developer Tools
Reverse engineer anything from your terminal or agent with one CLI and MCP server.
Paperclip
Freeby Paperclipai · Developer Tools
Trending hip-hop artist momentum scores across four cultural dimensions.
Fetch
Freeby Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
Git
Freeby Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
