mcpField
M
MCP Excel Reader

MCP Excel Reader

本地服务
github.com/ArchimedesCrypto数据与分析2933 周前更新

关于 MCP Excel Reader

MCP Excel Reader 是一个读取 Excel 文件的 MCP 服务,基于 SheetJS 与 TypeScript 构建。它通过自动分块和分页处理较大的表格文件,适合需要让 AI 读取表格数据的用户。

主要功能

  1. 01读取 .xlsx 和 .xls 文件
  2. 02大文件自动分块
  3. 03按工作表名称选择数据表
  4. 04按起始行与最大行数分页
  5. 05正确处理日期

适用场景

  1. 01让 AI 助手读取大型 Excel 数据表
  2. 02分批读取超出上下文长度的表格数据
  3. 03按工作表和行范围提取数据

MCP 相关

该项目是 MCP 服务,向 MCP 客户端暴露 read_excel 工具,用于读取 Excel 文件内容。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"excel-reader": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
启动命令npx -y @smithery/cli

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@smithery/cli

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MseeP.ai Security Assessment Badge

MCP Excel Reader

smithery badge 一个用于读取 Excel 文件的模型上下文协议(MCP)服务,支持自动分块和分页。该工具基于 SheetJS 和 TypeScript 构建,可通过自动将大型 Excel 文件拆分为易于处理的数据块,帮助你高效处理这些文件。

Excel Reader MCP 服务

功能

  • 📊 读取 Excel 文件(.xlsx、.xls),并自动限制文件大小
  • 🔄 自动对大型数据集进行分块
  • 📑 选择工作表并分页读取行
  • 📅 正确处理日期
  • ⚡ 针对大型文件进行了优化
  • 🛡️ 错误处理和验证

安装

通过 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 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 将使用该工具读取文件,并自动对大型文件进行分块处理。

功能
  1. 自动分块

    • 自动将大型文件拆分为易于处理的数据块
    • 默认数据块大小为 100KB
    • 提供分页元数据
  2. 选择工作表

    • 按名称读取指定工作表
    • 如果未指定,则默认读取第一个工作表
  3. 行分页

    • 使用 startRow 和 maxRows 控制读取哪些行
    • 获取下一数据块的信息,以便连续读取
  4. 错误处理

    • 验证文件是否存在及其格式
    • 提供清晰的错误消息
    • 妥善处理格式错误的 Excel 文件

扩展 SheetJS 功能

Excel Reader 基于 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. Fork 此仓库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交更改(git commit -m 'Add some amazing feature')
  4. 推送到分支(git push origin feature/amazing-feature)
  5. 创建 Pull Request

许可证

本项目采用 MIT License,详情请参阅 LICENSE 文件。

致谢

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。