使用说明
📊 Excel MCP服务器
通过原子操作进行快速高效的电子表格分析,专为AI代理构建
🇬🇧 英语• 🇷🇺 俄语 • 🇨🇳 中文 • 🇪🇸 西班牙语 • 🇯🇵日本语 • 🇧🇷 葡萄牙语
由...制作❤️ 为妈妈 @Jwadow
使用AI代理通过原子操作分析Excel电子表格——无需将数据转储到AI上下文中
可与OpenCode、Claude Code、Codex应用程序、Cursor、Cline、Roo Code、Kilo Code和其他MCP兼容的AI代理配合使用
为什么存在 • 我妈妈的评论 • 你的代理人能做什么 • 安装 • 💖 捐赠
🔒 数据安全与隐私
当地第一建筑 此服务器完全在您的本地计算机上运行。您的Excel文件在本地处理 永远不要离开你的电脑.
安全吗?
- 当地模特(Ollama,LM工作室): 您的数据 从不 离开你的机器。100%私人。
- 云模型(OpenRouter、ChatGPT): 只有 精确的结果 操作(计数、求和、公式)和元数据(列名)被发送到模型。大量原始数据仍保留在您的磁盘上。
🤨 为什么存在
问题: 大多数用于AI的Excel工具将原始电子表格数据转储到代理的上下文中。这会淹没上下文窗口,减慢一切速度,人工智能仍然可能在大型数据集中计算错误或混淆。
本项目: 想想Excel的SQL。你的AI代理组成原子操作(filter_and_count, aggregate, group_by)并返回精确的结果,而不是数千行。
代理分析数据 没有看到它结果以数字、公式和见解的形式出现。
“这就像通过SQL处理数据库,而不是将所有内容拖入内存。” --分析生产电子表格后的AI Agent
🔌 什么是MCP?
模型上下文协议 是一个开放标准,允许AI代理使用外部工具。
这个项目就是这样一个工具。当你将此服务器连接到你的AI代理(OpenCode、Claude Code、Codex app、Cursor、Cline、Roo Code、Kilo Code等)时,你的代理会收到很多处理Excel文件的新命令——过滤、计数、聚合、分析。
主要优势: 你的人工智能不会将数千行电子表格加载到内存中。相反,它会提出具体的问题并得到精确的答案。更快、更准确、没有上下文溢出。
👩 我妈妈的评论
翻译自俄语。她不是一个技术人员——用一根手指打字,每天在工作中使用Excel。
“通常我需要一个小时来分解这个电子表格,按类别过滤,复制到不同的列中,计算总数。给它任务,它在3分钟内完成了所有事情。检查它是否正确。现在,任何任务都是这样的,只需写下我需要的东西,它就会完成。我真的很震惊。我半辈子都在手工做这件事,电脑只会得到我需要的。真正节省了这么多时间。”
🚀 你的代理人能做什么
一旦连接,您的AI代理将获得许多用于分析电子表格数据的专用工具。代理只接收精确的查询和可靠的结果。
📊 数据探索
- 检查文件 -结构、表、列、数据类型(自动检测杂乱的标题)
- 配置文件列 -一次调用中的统计信息、空计数、最高值、数据质量
- 查找数据 -在多个工作表中搜索,在任何位置定位列
🔍 过滤和查询
- 12名过滤器操作员 -
==,!=,>,<,>=,<=,in,not_in,contains,startswith,endswith,regex - 复杂逻辑 -嵌套AND/OR组,NOT运算符,无限制条件
- 批量操作 -在一个请求中将数据分为多个类别(速度提高6倍)
- 重叠分析 -维恩图、交叉口计数、集合操作
📈 聚合与分析
- 8聚合功能 -总和、平均值、中位数、最小值、最大值、标准差、方差、计数
- 分组 -具有多个分组列的透视表
- 统计分析 -相关性(Pearson/Spearman/Kendall)、异常检测(IQR/Z评分)
- 时间序列 -环比增长、移动平均线、累计
🏆 高级操作
- 排名 -前N、后N、百分位数排名(支持分组)
- 计算列 -列之间的算术表达式
- 数据验证 -查找重复项、空值、数据质量检查
- 表比较 -版本之间的差异,查找更改
⚡ 性能特点
- 原子操作 -无论文件大小,结果都在20-50ms内
- 智能缓存 -文件加载一次,可重复用于所有操作
- 样本行 -预览筛选后的数据而不进行完全检索
- 上下文保护 -智能限制防止AI上下文溢出
📋 Excel集成
- 公式生成 -每个结果都包含用于动态更新的Excel公式
- TSV输出 -将结果直接复制粘贴到Excel中
- 传统支持 -适用于旧的.xls文件(Excel 97-2003)
- 多图幅 -在一个文件中跨多个工作表进行分析
您的代理现在可以处理的示例查询:
- “按收入显示前10名客户”
- “查找第四季度金额>1000美元的所有订单”
- “计算每个产品类别的环比增长”
- “哪些客户既是VIP客户又是活跃客户?(重叠分析)”
- “在电子邮件列中查找重复项”
⚙️ 安装和配置
先决条件
Python 3.10或更高版本 — 点击此处下载
步骤1:克隆存储库
git clone https://github.com/jwadow/mcp-excel.git
cd mcp-excel
没有Git?点击“代码”→ 在此存储库页面顶部的“下载ZIP”,解压缩并打开该文件夹中的终端。
第二步:选择安装方式
🎯 Option A: Poetry (Recommended)
Poetry是一个现代的Python依赖管理器(取代了pip+venv+requirements.txt)。
安装它: pip install poetry 或 pipx install poetry
安装依赖项:
poetry install
配置您的AI代理:
将此添加到MCP设置(JSON配置)中:
{
"mcpServers": {
"excel": {
"command": "poetry",
"args": ["run", "python", "-m", "mcp_excel.main"],
"cwd": "C:/path/to/mcp-excel"
}
}
}
重要提示: 替换 C:/path/to/mcp-excel 带有克隆存储库的实际路径。
📦 Option B: pip with virtual environment
安装依赖项:
# Windows
python -m venv venv
venv\Scripts\activate
pip install -e .
# Linux/Mac
python -m venv venv
source venv/bin/activate
pip install -e .
在venv中查找Python路径:
# Windows
where python
# Linux/Mac
which python
配置您的AI代理:
将此添加到MCP设置(JSON配置)中:
{
"mcpServers": {
"excel": {
"command": "C:/path/to/mcp-excel/venv/Scripts/python.exe",
"args": ["-m", "mcp_excel.main"],
"cwd": "C:/path/to/mcp-excel"
}
}
}
重要提示:
- 替换
C:/path/to/mcp-excel/venv/Scripts/python.exe从实际路径where python命令 - 在Linux/Mac上,使用路径为
which python(例如。,/path/to/mcp-excel/venv/bin/python)
🐍 Option C: System Python (Not Recommended)
全局安装依赖项:
pip install "mcp>=1.1.0" "pandas>=2.2.0" "pydantic>=2.10.0" "xlrd>=2.0.1" "openpyxl>=3.1.0" "psutil>=6.1.0" "python-dateutil>=2.9.0"
配置您的AI代理:
{
"mcpServers": {
"excel": {
"command": "python",
"args": ["-m", "mcp_excel.main"],
"cwd": "C:/path/to/mcp-excel"
}
}
}
⚠️ 警告: 这会污染你的全球Python环境。用诗歌或文选代替。
步骤3:验证安装
重新启动AI代理并测试:
"Analyze the Excel file at C:/Users/YourName/Documents/test.xlsx"
如果它奏效了,你就完了!如果没有,请检查:
- 存储库路径正确
cwd - Python路径正确
command(适用于pip方法) - 所有依赖项均已安装
支持的AI代理
可与任何兼容MCP的AI代理配合使用。
⚠️ 重要提示: 这是一个MCP服务器。当您的AI代理需要时,它会自动运行。不要在终端中手动运行。
💡 用法
配置后,重新启动AI代理并要求其分析Excel文件:
"Analyze the Excel file at C:/Users/YourName/Documents/sales.xls"
"Show me top 10 customers by revenue from sales.xlsx"
"Find duplicates in column 'Email' in contacts.xlsx"
"Calculate month-over-month growth from revenue.xls"
🛠️ 可用工具
📋 Complete Tool Reference (25 tools) - Click to expand
📊 文件检查(5个工具)
inspect_file
获取文件结构概述-图纸、尺寸、格式。 用途: 初始文件探索、工作表发现、格式验证 退货: 工作表列表、行/列计数、文件元数据
get_sheet_info
具有自动页眉检测功能的详细工作表分析。 用途: 了解数据结构、列类型、示例预览 退货: 列名/类型、行数、样本数据(3行)、标题检测信息
get_column_names
快速列枚举,无需加载完整数据。 用途: 模式验证、过滤器构建、列可用性检查 退货: 列名列表、列数
get_data_profile
全面的列分析-类型、统计数据、空值、顶级值。 用途: 初步数据探索、质量评估、分布分析 退货: 每列:类型、空%、唯一计数、统计数据(数字)、前N个值 效率: 替换10+个单独的调用(get_column_stats+get_value_counts+find_nulls)
find_column
在多个工作表中定位列。 用途: 多表导航、数据发现、跨表分析 退货: 带列位置、索引、行数的工作表列表(不区分大小写)
📥 数据检索(3个工具)
get_unique_values
从列中提取唯一值。 用途: 数据探索、过滤器构建、独特价值发现、数据质量检查 退货: 唯一值列表、计数、截断标志(如果超过限制) 默认限制: 100个值
get_value_counts
频率分析-前N个最常见值。 用途: 分布分析、确定主要类别、数据不平衡检测 退货: 价值→ 计数字典、总计数、TSV输出 违约: 前10个值
filter_and_get_rows
使用分页检索筛选的行。 用途: 数据提取、样品检验、详细分析、导出 退货: 筛选行(字典列表)、总计数、TSV输出 分页: 限制/偏移支持
🔍 过滤和计数(3个工具)
filter_and_count
使用14个运算符计数符合条件的行。
操作员: ==, !=, >, <, >=, <=, in, not_in, contains, startswith, endswith, regex, is_null, is_not_null
逻辑: 嵌套AND/OR组,非运算符,无限制条件
用途: 分类、分割、数据验证、类别计数
退货: 计数+Excel公式(COUNTIFS),可选样本行
filter_and_count_batch
在一次调用中将数据分类为多个类别(速度提高6倍)。 用途: 多品类分类、市场细分、质量控制 退货: 每个类别的计数+公式,Excel的TSV表 效率: 加载文件一次,应用所有筛选器,返回所有结果
analyze_overlap
维恩图分析——交叉口、联合体、专属区。 用途: 重叠分析、交叉销售机会、数据一致性检查 退货: 集合计数、成对交集(A∩B)、并集、维恩数据(2-3组) 示例: VIP和活跃客户、产品类别重叠、已完成订单但无完成日期
📈 聚合和分析(2个工具)
aggregate
使用可选筛选器执行聚合(8个操作)。
操作: sum, mean, median, min, max, std, var, count
用途: 总计、平均值、统计摘要、条件聚合、KPI
退货: 聚合值+Excel公式(SUMIF、AVERAGEIF等)
特别: 自动将文本存储的数字转换为数字
group_by
具有多列分组的数据透视表。 用途: 类别分析、层次分组、按地区/产品销售 退货: 带聚合值的分组数据,TSV输出 支持: 多个分组列,全部8个聚合操作
📊 统计(3个工具)
get_column_stats
统计摘要-计数、平均值、中位数、标准差、四分位数。 用途: 分布分析、数据分析、异常检测准备 退货: 完整统计数据(最小值、最大值、平均值、中位数、标准差、Q1、Q3)、空计数、TSV输出
correlate
2+列之间的相关矩阵。 方法: Pearson(线性)、Spearman(基于排名)、Kendall(基于排名的) 用途: 关系分析、变量依赖、特征选择 退货: 相关矩阵(-1到1),TSV输出
detect_outliers
使用IQR或Z评分进行异常检测。 方法: IQR(稳健),Z分数(假设正态分布) 用途: 欺诈检测、传感器错误、数据质量、异常值识别 退货: 使用索引、计数、方法/阈值的异常行
✅ 数据验证(2个工具)
find_duplicates
按指定列检测重复行。
用途: 数据质量、重复数据消除计划、完整性检查
退货: 所有重复行(包括第一次出现)、计数、索引
注: 用途 duplicated(keep=False) 标记所有重复项
find_nulls
查找具有详细统计信息的空值。
用途: 完整性检查、缺失值分析、数据清理
退货: 每列:空计数、百分比、索引(前100个)
注: 占位符(“.”、“-”)不能空用 == 或 in 操作员
🔄 多页操作(2个工具)
search_across_sheets
在所有工作表中搜索值。 用途: 跨表搜索、价值跟踪、数据定位 退货: 包含匹配次数、总匹配次数的工作表列表 支持: 数字和字符串值
compare_sheets
使用键列在两张工作表之间进行区分。 用途: 版本比较、变更检测、对账、审计跟踪 退货: 有差异的行、状态(仅in_sheet1/sheet2/different_values)、并排比较
📅 时间序列(3个工具)
calculate_period_change
逐期增长分析。 时期: 月、季度、年 用途: 趋势分析、增长跟踪、季节性比较、同比分析 退货: 带值的期间、绝对值/百分比变化、Excel公式
calculate_running_total
可选择分组的累计总和。 用途: 累计分析、进度跟踪、余额计算、现金流 退货: Excel公式(SUM($B$2:B2))中具有连续总计的行 支持: 分组(每组运行总重置)
calculate_moving_average
使用指定的窗口大小进行平滑处理。 用途: 趋势检测、降噪、模式识别 退货: 带有移动平均线的行,Excel公式(平均值(B1:B7)) 示例: 7天移动平均线,30天股价平滑
🏆 高级操作(2个工具)
rank_rows
按列值排序,使用前N个筛选。 方向: desc(最高优先),asc(最低优先) 用途: 排行榜、顶部/底部分析、百分位数排名 退货: 使用排名编号对行进行排序,Excel公式(rank) 支持: Top-N过滤,组内排名
calculate_expression
列之间的算术表达式。
操作: +, -, *, /,括号
用途: 衍生指标、财务计算、比率分析、关键绩效指标
退货: 计算值,Excel公式(例如,=A2*B2)
示例: 收入=价格*数量,利润=(收入-成本)/收入
🗺️ 路线图
📁 文件格式支持
目前支持:
- ✅ XLS文件 -Excel 97-2003(只读)
- ✅ XLSX文件 -Excel 2007+(只读)
计划:
- 🔜 XLSM -支持宏的Excel
- 🔜 CSV -逗号分隔值
- 🔜 制表符分隔值 -制表符分隔值
- 🔜 运营数据存储 -OpenDocument电子表格
- 🔜 镶木地板 -列式存储格式
🚀 特性
- 写入操作 -修改电子表格文件(创建计算列、更新值)
- SSE运输方式 -服务器发送远程访问事件
- 高级配方生成 -具有嵌套函数的更复杂的Excel公式
- 数据导出 -将筛选/聚合结果导出到新文件
📜 许可证
该项目根据 GNU Affero通用公共许可证v3.0(AGPL-3.0).
这意味着:
- ✅ 您可以使用、修改和分发此软件
- ✅ 您可以将其用于商业目的
- ⚠️ 您必须公开源代码 当你分发软件时
- ⚠️ 网络使用是分配 --如果在服务器上运行修改后的版本并让其他人与之交互,则必须使源代码可用
- ⚠️ 修改必须在同一许可证下发布
看 许可证 完整许可证文本的文件。
为什么选择AGPL-3.0?
AGPL-3.0确保对该软件的改进使整个社区受益。如果修改此服务器并将其部署为服务,则必须与用户分享您的改进。
💖 支持项目
如果这个项目为您节省了时间或金钱,请考虑支持它!
每一份贡献都有助于保持这个项目的活力和发展
🤑 捐赠
🪙 或发送加密货币
| 货币 | 网络 | 地址 |
|---|---|---|
| 泰达币 | TRC20 | TSVtgRc9pkC1UgcbVeijBHjFmpkYHDRu26 |
| 比特币 | 比特币 | 12GZqxqpcBsqJ4Vf1YreLqwoMGvzBPgJq6 |
| 地球 | 以太坊 | 0xc86eab3bba3bbaf4eb5b5fff8586f1460f1fd395 |
| 索尔 | 索拉纳 | 9amykF7KibZmdaw66a1oqYJyi75fRqgdsqnG66AK3jvh |
| TON | 吨 | UQBVh8T1H3GI7gd7b-_PPNnxHYYxptrcCVf3qQk5v41h3QTM |
🤝 贡献
欢迎投稿!请确保:
- 所有依赖项都与AGPL兼容
- 代码遵循现有样式
- 包括对新功能的测试
- 文档已更新
对于问题、疑问或贡献,请在GitHub上打开问题。
💬 需要帮助?
有问题吗?发现bug了吗?有一个功能想法吗?我们是来帮忙的!
无论你是在安装过程中遇到困难,发现有问题,还是只是想提出改进建议,GitHub Issues都是你的选择。如果你是GitHub的新手,不要担心,只需点击上面的链接并描述你的情况。我们会一起解决的。
