这是一个用于读取Excel文件的模型上下文协议(MCP)服务器,支持自动分块和分页。该工具使用SheetJS和TypeScript构建,通过自动将大型Excel文件分割成可管理的小块来帮助您高效处理这些文件。
<a href="https://glama.ai/mcp/servers/jr2ggpdk3a"><img width="380" height="200" src="https://gips0.baidu.com/it/u=1326553573,2653715280&fm=3081&app=3081&f=PNG?w=760&h=400" alt="Excel Reader MCP 服务器" /></a>
要通过 Smithery 自动安装 Excel Reader for Claude Desktop:
npx -y @smithery/cli install @ArchimedesCrypto/excel-reader-mcp-chunked --client claude
npm install -g @archimdescrypto/excel-reader
~/.config/claude/settings.json 或类似位置):{
"mcpServers": {
"excel-reader": {
"command": "excel-reader",
"env": {}
}
}
}
git clone https://github.com/ArchimdesCrypto/mcp-excel-reader.git
cd mcp-excel-reader
npm install
npm run build
Excel Reader 提供了一个名为 read_excel 的单一工具,其参数如下:
interface ReadExcelArgs {
filePath: string; // Excel 文件路径
sheetName?: string; // 可选的工作表名称(默认为第一个工作表)
startRow?: number; // 可选的起始行数(用于分页)
maxRows?: number; // 可选的最大行数
}
// 响应格式
interface ExcelResponse {
fileName: string;
totalSheets: number;
currentSheet: {
name: string;
totalRows: number;
totalColumns: number;
chunk: {
rowStart: number;
rowEnd: number;
columns: string[];
data: Record<string, any>[];
};
hasMore: boolean;
nextChunk?: {
rowStart: number;
columns: string[];
};
};
}
当与 Claude 或其他兼容 MCP 的 AI 一起使用时:
读取位于 path/to/file.xlsx 的 Excel 文件
AI 将使用此工具读取文件,并自动处理大型文件的分块。
自动分块
工作表选择
行分页
错误处理
Excel Reader 是基于 SheetJS 构建的,可以扩展其强大的特性:
公式处理
// 启用公式解析
const wb = XLSX.read(data, {
cellFormula: true,
cellNF: true
});
单元格格式化
// 访问单元格样式和格式
const styles = Object.keys(worksheet)
.filter(key => key[0] !== '!')
.map(key => ({
cell: key,
style: worksheet[key].s
}));
数据验证
// 访问数据验证规则
const validation = worksheet['!dataValidation'];
工作表特性
worksheet['!merges']worksheet['!rows'], worksheet['!cols']worksheet['!protect']更多特性和详细文档,请访问 SheetJS 文档。
git checkout -b feature/amazing-feature)git commit -m '添加一些惊人的功能')git push origin feature/amazing-feature)本项目采用 MIT 许可证 - 详情见 LICENSE 文件。