README
🚀 FastExcel MCP 服务器
FastExcel MCP 服务器基于 Java 实现,用于进行 Excel 操作。它遵循模型上下文协议 (MCP),具备标准化的头与列关系映射,能高效处理各类 Excel 文件。
🚀 快速开始
如果使用 Claude Desktop,请在配置文件中添加 MCP 服务器信息:
{
"mcpServers": [
{
"name": "FastExcelMCP",
"executable": "/path/to/javacExecutable",
"options": ["-Dsome.option=value"],
"jvmArgs": [],
"workingDir": "."
}
]
}
需要 JDK 17+ 和 Maven 3.9.6+,通过以下命令构建:
mvn clean install
✨ 主要特性
- 可读取 Excel 文件(XLSX、XLS、CSV)的标题和数据行。
- 能验证输入路径是否在配置的工作区范围内。
- 支持多个工作表和自定义标题行。
- 可获取总数据行数(不包括标题行)。
- 内置性能缓存,以实现更快的重复访问速度。
⚠️ 重要提示
服务器仅允许在通过
env: MCP_WORKSPACES配置的工作区目录内进行操作。
📚 详细文档
工具
get_total_rows_number (带缓存支持)
获取 Excel 文件中数据行的总数(不包括标题行)。
- 输入:
excelPath(字符串):Excel 文件的绝对或相对路径。headRowNumber(整数):标题所在的行号(1 基数索引)。sheetName(字符串,可选):要读取的工作表名称。若为空,则默认为第一个工作表。
- 输出:
- 返回数据行的总数,作为整数。
get_sheet_names (带缓存支持)
获取 Excel 文件中所有工作表的名称及其索引。
- 输入:
excelPath(字符串):Excel 文件的绝对或相对路径。
- 输出:
- 返回一个包含工作表编号和名称的对象列表。
read_head_spec (带缓存支持)
解析并返回 Excel 文件中的标题信息。
- 输入:
excelPath(字符串):Excel 文件的绝对或相对路径。headRowNumber(整数):标题所在的行号(1 基数索引)。sheetName(字符串,可选):要读取的工作表名称。若为空,则默认为第一个工作表。
- 输出:
- 返回一个按顺序排列的列索引和标题标题的对象列表。
read_rows_spec (带缓存支持)
解析并返回与标题关联的数据行信息。
- 输入:
excelPath(字符串):Excel 文件的绝对或相对路径。headRowNumber(整数):标题所在的行号(1 基数索引)。readRowNumbers(整数,可选):要读取的数据行数目(不包括标题)。若为空,则读取所有数据行。sheetName(字符串,可选):要读取的工作表名称。若为空,则默认为第一个工作表。
- 输出:
- 返回一个包含行数据及其对应标题的列表。
cache_clear
清除内存中的所有 Excel 文件缓存数据。
- 输出:
- 成功清除缓存时返回
true。
- 成功清除缓存时返回
test_cache_available
测试指定 Excel 文件是否存在于缓存中。
- 输出:
- 返回一个布尔值,表示文件是否在缓存中。
📄 许可证
该软件采用 Apache License 2.0 许可证。
Scan to join WeChat group