关于 MCP Excel Reader
MCP Excel Reader 是一个读取 Excel 文件的 MCP 服务,基于 SheetJS 与 TypeScript 构建。它通过自动分块和分页处理较大的表格文件,适合需要让 AI 读取表格数据的用户。
主要功能
- 01读取 .xlsx 和 .xls 文件
- 02大文件自动分块
- 03按工作表名称选择数据表
- 04按起始行与最大行数分页
- 05正确处理日期
适用场景
- 01让 AI 助手读取大型 Excel 数据表
- 02分批读取超出上下文长度的表格数据
- 03按工作表和行范围提取数据
MCP 相关
该项目是 MCP 服务,向 MCP 客户端暴露 read_excel 工具,用于读取 Excel 文件内容。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Excel Reader
一个用于读取 Excel 文件的模型上下文协议(MCP)服务,支持自动分块和分页。该工具基于 SheetJS 和 TypeScript 构建,可通过自动将大型 Excel 文件拆分为易于处理的数据块,帮助你高效处理这些文件。
功能
- 📊 读取 Excel 文件(.xlsx、.xls),并自动限制文件大小
- 🔄 自动对大型数据集进行分块
- 📑 选择工作表并分页读取行
- 📅 正确处理日期
- ⚡ 针对大型文件进行了优化
- 🛡️ 错误处理和验证
安装
通过 Smithery 安装
要通过 Smithery 自动为 Claude Desktop 安装 Excel Reader:
npx -y @smithery/cli install @ArchimedesCrypto/excel-reader-mcp-chunked --client claude
作为 MCP 服务
- 全局安装:
npm install -g @archimdescrypto/excel-reader
- 添加到 MCP 设置文件中(通常位于
~/.config/claude/settings.json或同等位置):
{
"mcpServers": {
"excel-reader": {
"command": "excel-reader",
"env": {}
}
}
}
用于开发
- 克隆仓库:
git clone https://github.com/ArchimdesCrypto/mcp-excel-reader.git
cd mcp-excel-reader
- 安装依赖:
npm install
- 构建项目:
npm run build
用法
用法
Excel Reader 提供了一个工具 read_excel,参数如下:
interface ReadExcelArgs {
filePath: string; // Path to Excel file
sheetName?: string; // Optional sheet name (defaults to first sheet)
startRow?: number; // Optional starting row for pagination
maxRows?: number; // Optional maximum rows to read
}
// Response format
interface ExcelResponse {
fileName: string;
totalSheets: number;
currentSheet: {
name: string;
totalRows: number;
totalColumns: number;
chunk: {
rowStart: number;
rowEnd: number;
columns: string[];
data: Record<string, any>[];
};
hasMore: boolean;
nextChunk?: {
rowStart: number;
columns: string[];
};
};
}
基本用法
与 Claude 或其他兼容 MCP 的 AI 搭配使用时:
Read the Excel file at path/to/file.xlsx
AI 将使用该工具读取文件,并自动对大型文件进行分块处理。
功能
-
自动分块
- 自动将大型文件拆分为易于处理的数据块
- 默认数据块大小为 100KB
- 提供分页元数据
-
选择工作表
- 按名称读取指定工作表
- 如果未指定,则默认读取第一个工作表
-
行分页
- 使用 startRow 和 maxRows 控制读取哪些行
- 获取下一数据块的信息,以便连续读取
-
错误处理
- 验证文件是否存在及其格式
- 提供清晰的错误消息
- 妥善处理格式错误的 Excel 文件
扩展 SheetJS 功能
Excel Reader 基于 SheetJS 构建,可通过其强大功能进行扩展:
可用扩展
-
公式处理
// Enable formula parsing const wb = XLSX.read(data, { cellFormula: true, cellNF: true }); -
单元格格式
// Access cell styles and formatting const styles = Object.keys(worksheet) .filter(key => key[0] !== '!') .map(key => ({ cell: key, style: worksheet[key].s })); -
数据验证
// Access data validation rules const validation = worksheet['!dataValidation']; -
工作表功能
- 合并单元格:
worksheet['!merges'] - 隐藏行/列:
worksheet['!rows']、worksheet['!cols'] - 工作表保护:
worksheet['!protect']
- 合并单元格:
如需了解更多功能和详细文档,请访问 SheetJS 文档。
贡献
- Fork 此仓库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交更改(
git commit -m 'Add some amazing feature') - 推送到分支(
git push origin feature/amazing-feature) - 创建 Pull Request
许可证
本项目采用 MIT License,详情请参阅 LICENSE 文件。
致谢
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
