返回市场
Excel-MCP-服务器

Excel-MCP-服务器

作者:zhiwei557641 星标更新:2025-04-13

项目介绍

Excel MCP Server

npm smithery badge 简体中文 | English

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

功能

  • 📖 读取Excel文件

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

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

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

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

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

安装

通过Smithery安装

要通过Smithery自动安装excel-mcp-server:

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

手动安装

通过NPM安装 可以通过添加以下配置到MCP服务器配置中来自动安装excel-mcp-server。

Windows平台:

{
  "mcpServers": {
    "excel": {
        "command": "cmd",
        "args": ["/c", "npx", "--yes", "@zhiweixu/excel-mcp-server"],
        "env": {
            "LOG_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": "[设置一个可访问的绝对路径]",
            "CACHE_MAX_AGE": "1",
            "CACHE_CLEANUP_INTERVAL": "4",
            "LOG_RETENTION_DAYS": "7",
            "LOG_CLEANUP_INTERVAL": "24"
        }
    }
}

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

API工具

结构工具

  1. analyzeExcelStructure

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

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

读取工具

  1. readSheetNames

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

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

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

写入工具

  1. writeDataBySheetName

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

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

缓存工具

  1. clearFileCache
    • 功能:清除指定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
  • typescript: ^5.8.2

开发依赖项

  • @types/node: ^22.13.10
  • nodemon: ^3.1.9
  • ts-node: ^10.9.2

许可证

本项目采用MIT许可证。这意味着你可以:

  • 用于商业或非商业用途

  • 修改源代码

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

  • 保留原始版权声明

  • 使用软件时不能对作者提出索赔 有关详细许可信息,请参阅LICENSE文件。