
Excel Server
Excel 数据处理微服务
概述
Excel MCP Server
简体中文 | English
基于 Model Context Protocol (MCP) 的 Excel 文件处理服务器,提供读取、写入和分析 Excel 文件的功能。
功能
-
📖 读取 Excel 文件
- 获取工作表列表
- 读取特定工作表数据
- 读取所有工作表数据
-
✍️ 写入 Excel 文件
- 创建新的 Excel 文件
- 写入特定工作表
- 支持多个工作表
-
🔍 分析 Excel 结构
- 分析工作表结构
- 导出结构到新文件
-
💾 缓存管理
- 自动文件内容缓存
- 定时清理缓存
- 手动清除缓存
-
📝 日志管理
- 自动操作日志记录
- 定期清理日志
安装
通过 Smithery 安装
要通过 Smithery 自动为 Claude Desktop 安装 excel-mcp-server:
bash
npx -y @smithery/cli install @zhiwei5576/excel-mcp-server --client claude
手动安装
通过 NPM 安装
将以下配置添加到 MCP 服务器的配置中可以自动安装 excel-mcp-server。
Windows 平台:
bash
{
"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"
}
}
}
其他平台:
bash
{
"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 工具
结构工具
-
analyzeExcelStructure
- 功能:获取 Excel 文件结构,包括以 JSON 格式表示的工作表列表和列标题
- 参数:
- fileAbsolutePath: Excel 文件的绝对路径
- headerRows: 标题行数(默认值:1)
-
exportExcelStructure
- 功能:将 Excel 文件结构(工作表和标题)导出到一个新的 Excel 模板文件
- 参数:
- sourceFilePath: 源 Excel 文件路径
- targetFilePath: 目标 Excel 文件路径
- headerRows: 标题行数(默认值:1)
读取工具
-
readSheetNames
- 功能:从 Excel 文件中获取所有工作表名称
- 参数:
- fileAbsolutePath: Excel 文件的绝对路径
-
readDataBySheetName
- 功能:从 Excel 文件中的特定工作表获取数据
- 参数:
- fileAbsolutePath: Excel 文件的绝对路径
- sheetName: 要读取的工作表名称
- headerRow: 标题行号(默认值:1)
- dataStartRow: 数据开始行号(默认值:2)
-
readSheetData
- 功能:从 Excel 文件中的所有工作表获取数据
- 参数:
- fileAbsolutePath: Excel 文件的绝对路径
- headerRow: 标题行号(默认值:1)
- dataStartRow: 数据开始行号(默认值:2)
写入工具
-
writeDataBySheetName
- 功能:向 Excel 文件中的特定工作表写入数据(如果工作表存在则覆盖)
- 参数:
- fileAbsolutePath: Excel 文件的绝对路径
- sheetName: 要写入的工作表名称
- data: 要写入的数据数组
-
writeSheetData
- 功能:使用提供的数据创建一个新的 Excel 文件
- 参数:
- fileAbsolutePath: 新 Excel 文件的绝对路径
- data: 包含多个工作表数据的对象
缓存工具
- 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 文件。