Excel MCP 服务器
简体中文| English
基于模型上下文协议(MCP)的Excel文件处理服务器,提供读取、写入和分析Excel文件的功能。
特征
- 📖 读取 Excel 文件
- 获取工作表列表
- 读取特定工作表数据
- 读取所有工作表数据
- ✍️ 写入 Excel 文件
- 创建新的 Excel 文件
- 写入特定工作表
- 支持多个工作表
- 🔍 分析 Excel 结构
- 💾 缓存管理
- 📝 日志管理
安装
通过 Smithery 安装
要通过Smithery自动为 Claude Desktop 安装 excel-mcp-server:
npx -y @smithery/cli install @zhiwei5576/excel-mcp-server --client claude
手动安装
通过 NPM 安装 excel-mcp-server 可以通过在 MCP 服务器配置中添加以下配置来自动安装。
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 工具
结构工具
- 分析Excel结构
- 功能:获取 JSON 格式的 Excel 文件结构,包括工作表列表和列标题
- 参数:
- fileAbsolutePath:Excel 文件的绝对路径
- headerRows:标题行数(默认值:1)
- 导出Excel结构
- 功能:将Excel文件结构(工作表和标题)导出到新的Excel模板文件
- 参数:
- sourceFilePath:源 Excel 文件路径
- targetFilePath:目标 Excel 文件路径
- headerRows:标题行数(默认值:1)
阅读工具
- 读取工作表名称
- 功能:获取Excel文件中所有sheet名称
- 参数:
- fileAbsolutePath:Excel 文件的绝对路径
- 通过工作表名称读取数据
- 功能:获取Excel文件中特定sheet的数据
- 参数:
- fileAbsolutePath:Excel 文件的绝对路径
- sheetName:要读取的工作表的名称
- headerRow:标题行数(默认值:1)
- dataStartRow:数据起始行号(默认:2)
- 读取工作表数据
- 功能:获取Excel文件中所有sheet的数据
- 参数:
- fileAbsolutePath:Excel 文件的绝对路径
- headerRow:标题行数(默认值:1)
- dataStartRow:数据起始行号(默认:2)
编写工具
- 通过工作表名称写入数据
- 功能:将数据写入Excel文件中的指定sheet(如果sheet存在则覆盖)
- 参数:
- fileAbsolutePath:Excel 文件的绝对路径
- sheetName:要写入的工作表的名称
- 数据:要写入的数据数组
- 写入工作表数据
- 功能:使用提供的数据创建一个新的 Excel 文件
- 参数:
- fileAbsolutePath:新 Excel 文件的绝对路径
- data:包含多个 Sheet 数据的对象
缓存工具
- 清除文件缓存
- 功能:清除指定Excel文件的缓存数据
- 参数:
- fileAbsolutePath:要从缓存中清除的 Excel 文件的绝对路径
配置
环境变量
LOG_PATH
:日志文件存储路径- 选修的
- 默认值:应用程序根目录下的“logs”文件夹
CACHE_MAX_AGE
:缓存过期时间(小时)CACHE_CLEANUP_INTERVAL
:缓存清理间隔(小时)LOG_RETENTION_DAYS
:日志保留天数LOG_CLEANUP_INTERVAL
:日志清理间隔(小时)
默认配置
依赖项
- @modelcontextprotocol/sdk: ^1.7.0
- xlsx: ^0.18.5
- 打字稿:^5.8.2
开发依赖项
- @类型/节点:^22.13.10
- nodemon:^3.1.9
- ts节点:^10.9.2
执照
本项目遵循 MIT 许可证。这意味着您可以自由地:
- 将该软件用于商业或非商业用途
- 修改源代码
- 分发原始或修改后的代码要求:
- 保留原有版权声明
- 对于软件使用,作者不承担任何责任。有关详细的许可信息,请参阅LICENSE文件。