Skip to main content
Glama

MCP Excel 阅读器

铁匠徽章一个模型上下文协议 (MCP) 服务器,用于读取 Excel 文件,并支持自动分块和分页。该工具基于 SheetJS 和 TypeScript 构建,可自动将大型 Excel 文件拆分为易于管理的块,从而帮助您高效地处理这些文件。

特征

  • 📊 读取具有自动大小限制的 Excel 文件(.xlsx、.xls)

  • 🔄 大型数据集的自动分块

  • 📑 工作表选择和行分页

  • 📅 正确的日期处理

  • ⚡ 针对大文件进行了优化

  • 🛡️ 错误处理和验证

Related MCP server: Excel MCP Server

安装

通过 Smithery 安装

要通过Smithery自动为 Claude Desktop 安装 Excel Reader:

npx -y @smithery/cli install @ArchimedesCrypto/excel-reader-mcp-chunked --client claude

作为 MCP 服务器

  1. 全局安装:

npm install -g @archimdescrypto/excel-reader
  1. 添加到您的 MCP 设置文件(通常在~/.config/claude/settings.json或同等位置):

{ "mcpServers": { "excel-reader": { "command": "excel-reader", "env": {} } } }

为了发展

  1. 克隆存储库:

git clone https://github.com/ArchimdesCrypto/mcp-excel-reader.git cd mcp-excel-reader
  1. 安装依赖项:

npm install
  1. 构建项目:

npm run build

用法

用法

Excel 阅读器提供了一个单独的工具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

人工智能将使用该工具读取文件,自动处理大文件的分块。

特征

  1. 自动分块

    • 自动将大文件分割成可管理的块

    • 默认块大小为 100KB

    • 提供分页元数据

  2. 工作表选择

    • 按名称阅读特定工作表

    • 如果未指定,则默认为第一张表

  3. 行分页

    • 使用 startRow 和 maxRows 控制要读取哪些行

    • 获取下一个块信息以进行连续读取

  4. 错误处理

    • 验证文件存在和格式

    • 提供清晰的错误信息

    • 优雅地处理格式错误的 Excel 文件

使用 SheetJS 功能进行扩展

Excel 阅读器基于 SheetJS 构建,并可通过其强大的功能进行扩展:

可用扩展

  1. 公式处理

    // Enable formula parsing const wb = XLSX.read(data, { cellFormula: true, cellNF: true });
  2. 单元格格式

    // Access cell styles and formatting const styles = Object.keys(worksheet) .filter(key => key[0] !== '!') .map(key => ({ cell: key, style: worksheet[key].s }));
  3. 数据验证

    // Access data validation rules const validation = worksheet['!dataValidation'];
  4. 图纸特征

    • 合并单元格: worksheet['!merges']

    • 隐藏行/列: worksheet['!rows']worksheet['!cols']

    • 工作表保护: worksheet['!protect']

有关更多功能和详细文档,请访问SheetJS 文档

贡献

  1. 分叉存储库

  2. 创建你的功能分支( git checkout -b feature/amazing-feature

  3. 提交您的更改( git commit -m 'Add some amazing feature'

  4. 推送到分支( git push origin feature/amazing-feature

  5. 打开拉取请求

执照

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。

致谢

One-click Deploy
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ArchimedesCrypto/excel-reader-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server