Excel文件处理服务

基于Model Context Protocol (MCP)的Excel文件处理服务器,提供读取、写入和分析Excel文件的功能。

  • by zhiwei5576
  • TypeScript
  • 本地部署
  • 51 星标
  • 更新于
在 GitHub 查看 zhiwei5576/excel-mcp-server

使用说明

Excel MCP服务器

简体中文 |英语

基于模型上下文协议(MCP)的Excel文件处理服务器,提供读取、写入和分析Excel文件的功能。

特性

  • 📖 读取Excel文件

    • 获取工作表列表
    • 读取特定工作表数据
    • 读取所有工作表数据
  • ✍️ 编写Excel文件

    • 创建新的Excel文件
    • 写入特定工作表
    • 支持多个工作表
  • 🔍 分析Excel结构

    • 分析工作表结构
    • 将结构导出到新文件
  • 💾 缓存管理

    • 自动文件内容缓存
    • 计划缓存清理
    • 手动清除缓存
  • 📝 日志管理

    • 自动操作日志记录
    • 定期日志清理

安装

通过Smithery安装

通过以下方式自动安装Claude Desktop的excel mcp服务器 史密瑟里:

npx -y @smithery/cli install @zhiwei5576/excel-mcp-server --client claude

手动安装

通过NPM安装 通过将以下配置添加到mcp服务器配置中,可以自动安装excelmcp服务器。

Windows平台:

{
  "mcpServers": {
    "excel": {
        "command": "cmd",
        "args": ["/c", "npx", "--yes", "@zhiweixu/excel-mcp-server"],
        "env": {
            "LOG_PATH": "[set an accessible absolute path]",
            "CACHE_MAX_AGE": "1",
            "CACHE_CLEANUP_INTERVAL": "4",
            "LOG_RETENTION_DAYS": "7",
            "LOG_CLEANUP_INTERVAL": "24"
        }
    }
}

其他平台:

{
  "mcpServers": {
    "excel": {
        "command": "npx",
        "args": ["--yes", "@zhiweixu/excel-mcp-server"],
        "env": {
            "LOG_PATH": "[set an accessible absolute path]",
            "CACHE_MAX_AGE": "1",
            "CACHE_CLEANUP_INTERVAL": "4",
            "LOG_RETENTION_DAYS": "7",
            "LOG_CLEANUP_INTERVAL": "24"
        }
    }
}

注意:LOG_PATH是可选的。如果未设置,日志将存储在应用程序根目录下的“logs”文件夹中。其他参数是可选的。

API工具

结构工具

  1. 分析ExcelStructure

    • 功能:获取Excel文件结构,包括JSON格式的表列表和列标题
    • 参数:
      • fileAbsolutePath:Excel文件的绝对路径
      • headerRows:标题行数(默认值:1)
  2. ExportExcelStructure

    • 功能:将Excel文件结构(工作表和标题)导出到新的Excel模板文件
    • 参数:
      • sourceFilePath:源Excel文件路径
      • targetFilePath:目标Excel文件路径
      • headerRows:标题行数(默认值:1)

阅读工具

  1. readSheetNames

    • 功能:从Excel文件中获取所有工作表名称
    • 参数:
      • fileAbsolutePath:Excel文件的绝对路径
  2. readDataBySheet

    • 功能:从Excel文件中的特定工作表获取数据
    • 参数:
      • fileAbsolutePath:Excel文件的绝对路径
      • sheetName:要读取的表的名称
      • headerRow:表头行号(默认值:1)
      • dataStartRow:数据起始行号(默认值:2)
  3. readSheetData

    • 功能:从Excel文件中的所有工作表中获取数据
    • 参数:
      • fileAbsolutePath:Excel文件的绝对路径
      • headerRow:表头行号(默认值:1)
      • dataStartRow:数据起始行号(默认值:2)

写入工具

  1. writeDataBySheet

    • 功能:将数据写入Excel文件中的特定工作表(如果工作表存在,则覆盖)
    • 参数:
      • fileAbsolutePath:Excel文件的绝对路径
      • sheetName:要写入的表的名称
      • data:要写入的数据数组
  2. writeSheetData

    • 功能:使用提供的数据创建新的Excel文件
    • 参数:
      • fileAbsolutePath:新Excel文件的绝对路径
      • data:包含多张图纸数据的对象

缓存工具

  1. 清除文件缓存
    • 功能:清除指定Excel文件的缓存数据
    • 参数:
      • fileAbsolutePath:要从缓存中清除的Excel文件的绝对路径

配置

环境变量

  • LOG_PATH:日志文件存储路径

    • 可选的
    • 默认值:应用程序根目录下的“logs”文件夹
  • CACHE_MAX_AGE:缓存过期时间(小时)

    • 可选的
    • 默认值:1
  • CACHE_CLEANUP_INTERVAL:缓存清理间隔(小时)

    • 可选的
    • 默认值:4
  • LOG_RETENTION_DAYS:日志保留天数

    • 可选的
    • 默认值:7
  • LOG_CLEANUP_INTERVAL:日志清理间隔(小时)

    • 可选的
    • 默认值:24

默认配置

  • 缓存配置

    • 缓存过期时间:1小时
    • 缓存清理间隔:4小时
  • 日志配置

    • 日志保留天数:7天
    • 清理间隔:24小时

依赖项

  • @modelcontextprotocol/sdk:^1.7.0
  • 版本 xlsx: ^0.18.5
  • 打字稿:^5.8.2

发展依赖性

  • @类型/节点:^22.13.10
  • 节点号:^3.1.9
  • ts节点:^10.9.2

许可证

该项目根据MIT许可证获得许可。这意味着您可以自由地:

  • 将软件用于商业或非商业目的

  • 修改源代码

  • 分发原始或修改后的代码 要求:

  • 保留原始版权声明

  • 不得就软件使用向作者索赔任何责任 有关详细的许可证信息,请参阅 许可证 文件。