Excel ReaderSAFE
A Model Context Protocol (MCP) server for reading Excel files with automatic chunking and pagination support. Built with SheetJS and TypeScript.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://mseep.ai/app/archimedescrypto-excel-reader-mcp)
[](https://smithery.ai/server/@ArchimedesCrypto/excel-reader-mcp-chunked) A Model Context Protocol (MCP) server for reading Excel files with automatic chunking and pagination support. Built with SheetJS and TypeScript, this tool helps you handle large Excel files efficiently by automatically breaking them into manageable chunks.
Features
- 📊 Read Excel files (.xlsx, .xls) with automatic size limits
- 🔄 Automatic chunking for large datasets
- 📑 Sheet selection and row pagination
- 📅 Proper date handling
- ⚡ Optimized for large files
- 🛡️ Error handling and validation
Installation
Installing via Smithery
To install Excel Reader for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @ArchimedesCrypto/excel-reader-mcp-chunked --client claude
As an MCP Server
- Install globally:
npm install -g @archimdescrypto/excel-reader
- Add to your MCP settings file (usually at
~/.config/claude/settings.jsonor equivalent):
{
"mcpServers": {
"excel-reader": {
"command": "excel-reader",
"env": {}
}
}
}For Development
- Clone the repository:
git clone https://github.com/ArchimdesCrypto/mcp-excel-reader.git cd mcp-excel-reader
- Install dependencies:
npm install
- Build the project:
npm run build
Usage
Usage
The Excel Reader provides a single tool read_excel with the following parameters:
interface ReadE
c92f09808bb4OBSERVED · 2026-10-08Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add excel-reader-mcp -- npx -y @archimdescrypto/[email protected]
{
"mcpServers": {
"excel-reader-mcp": {
"command": "npx",
"args": [
"-y",
"@archimdescrypto/[email protected]"
]
}
}
}Exposed tools (14)
14 read · 0 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
export_to_csv | read | Export a sheet to CSV format |
export_to_json | read | Export a sheet to JSON format |
filter_rows | read | Filter rows based on column criteria |
get_cell | read | Get the value of a specific cell |
get_column_stats | read | Get statistics for numeric columns |
get_formulas | read | Get formulas from cells in a range or entire sheet |
get_merged_cells | read | Get all merged cell ranges in a sheet |
get_range | read | Get values from a specific cell range |
get_sheet_info | read | Get detailed metadata about a sheet |
get_unique_values | read | Get distinct values in a column |
list_sheets | read | List all sheet names in an Excel workbook |
read_excel | read | Read an Excel file and return its contents as structured data with automatic chunking |
search_text | read | Find cells containing specific text |
sort_data | read | Sort data by one or more columns |
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (5 observation(s))
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (6)
import { FilterRowsArgs, FilterRowsResponse, FilterCondition } from '../../types/index.js';import { loadWorkbook } from '../../utils/workbook-cache.js';import { applyChunking } from '../../utils/chunking.js';import { GetColumnStatsArgs, GetColumnStatsResponse, ColumnStats } from '../../types/index.js';import { loadWorkbook } from '../../utils/workbook-cache.js';xlsx, @types/node, typescript
Gates applied: no_behavioural_pass.
c92f09808bb4full audit observations/trust-audit/mcp-server/archimedescrypto__excel-reader.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-08 | c92f09808bb4 | SAFE | B | 89 | first audit |
Questions
What is the Excel Reader MCP server?
A Model Context Protocol (MCP) server for reading Excel files with automatic chunking and pagination support. Built with SheetJS and TypeScript.
What tools does Excel Reader expose?
14 in total: 14 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is Excel Reader safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.
What credentials does Excel Reader need?
No credential environment variables were found in its source, so it appears to need none.
How does Excel Reader run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as @archimdescrypto/excel-reader-mcp at 1.0.0.
How current is this page?
The grade is for one exact copy of the source (c92f09808bb4), read on 2026-10-08. The repository is watched and re-audited when it changes.