使用说明
<<<<<<< 意思是“来自前一个合并提交”(来自之前的合并提交),在中文中通常不直接翻译,而是保留原样用于版本控制语境中
带有Supabase存储的Excel MCP服务器
一个强大的MCP(模型上下文协议)服务器,专为Excel操作设计,与Supabase存储无缝集成。无需安装Microsoft Office或WPS,即可通过编程方式处理Excel文件。
🌟 特点
- ✅ Excel 解析将Excel文件转换为包含完整格式信息的JSON文件
- ✅ “Excel Generation”可以翻译为“杰出一代”或“卓越一代”,具体取决于上下文和语境,但通常用来形容在某方面表现卓越、出类拔萃的一群人或一代人从JSON数据创建格式化的Excel文件
- ✅ 高级格式化修改单元格样式,合并单元格,调整尺寸
- ✅ 公式支持执行并计算20多个常用的Excel公式
- ✅ 多表操作将多个Excel文件合并成一个工作簿
- ✅ Supabase 集成与Supabase存储进行直接的读/写操作
- ✅ 零依赖无需安装Microsoft Office或WPS
- ✅ 跨平台可在Windows、Linux和macOS上运行
🚀 快速入门
安装
选项1:从GitHub安装(目前推荐)
# Install and run directly
uvx --from git+https://github.com/1126misakp/Excel-MCP-Server-with-Supabase-Storage mcp-excel-supabase
选项2:从PyPI安装(即将推出)
# Once published to PyPI, you can use:
uvx mcp-excel-supabase
选项3:从本地源安装
# Clone the repository
git clone https://github.com/1126misakp/Excel-MCP-Server-with-Supabase-Storage
cd Excel-MCP-Server-with-Supabase-Storage
# Install in development mode
pip install -e .
# Run the server
mcp-excel-supabase
配置
- 创建一个
.env在您的项目目录中找到文件:
cp .env.example .env
- 编辑
.env并添加您的Supabase凭据:
SUPABASE_URL=https://yourproject.supabase.co
SUPABASE_KEY=your-service-role-key-here
克劳德桌面配置
在您的Claude桌面配置文件中添加:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS(麦金塔操作系统): ~/Library/Application Support/Claude/claude_desktop_config.json
Linux(发音:/ˈlɪnʊks/): ~/.config/Claude/claude_desktop_config.json
如果从GitHub安装:
{
"mcpServers": {
"excel-supabase": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/1126misakp/Excel-MCP-Server-with-Supabase-Storage",
"mcp-excel-supabase"
],
"env": {
"SUPABASE_URL": "https://yourproject.supabase.co",
"SUPABASE_KEY": "your-service-role-key-here"
}
}
}
}
如果从 PyPI 安装(发布后):
{
"mcpServers": {
"excel-supabase": {
"command": "uvx",
"args": ["mcp-excel-supabase"],
"env": {
"SUPABASE_URL": "https://yourproject.supabase.co",
"SUPABASE_KEY": "your-service-role-key-here"
}
}
}
}
运输方式
服务器通过环境变量支持三种传输模式:
STDIO 模式(默认)
最适合Claude桌面版和命令行工具:
{
"mcpServers": {
"excel-supabase": {
"command": "uvx",
"args": ["mcp-excel-supabase"],
"env": {
"SUPABASE_URL": "https://yourproject.supabase.co",
"SUPABASE_KEY": "your-service-role-key-here"
}
}
}
}
HTTP 模式
最适合Cherry Studio和网页客户端:
{
"mcpServers": {
"excel-supabase": {
"command": "uvx",
"args": ["mcp-excel-supabase"],
"env": {
"SUPABASE_URL": "https://yourproject.supabase.co",
"SUPABASE_KEY": "your-service-role-key-here",
"MCP_TRANSPORT": "http",
"MCP_HOST": "127.0.0.1",
"MCP_PORT": "8000"
}
}
}
}
SSE模式
对于旧版SSE客户端:
{
"mcpServers": {
"excel-supabase": {
"command": "uvx",
"args": ["mcp-excel-supabase"],
"env": {
"SUPABASE_URL": "https://yourproject.supabase.co",
"SUPABASE_KEY": "your-service-role-key-here",
"MCP_TRANSPORT": "sse",
"MCP_HOST": "127.0.0.1",
"MCP_PORT": "8000"
}
}
}
}
环境变量:
MCP_TRANSPORT运输方式(stdio|http|sse),默认:stdioMCP_HOST服务器主机地址,默认:127.0.0.1MCP_PORT服务器端口,默认:8000
如需详细的传输配置,请参阅 docs/TRANSPORT_MODES.md 翻译为中文是:文档/运输方式.md。
🛠️ 可用工具
此服务器提供12种MCP工具,以全面支持Excel操作:
| 工具 | 描述 |
|---|---|
parse_excel_to_json 将Excel文件解析为JSON格式 |
|
create_excel_from_json |
从JSON数据生成Excel文件 |
modify_cell_format |
编辑单元格格式(字体、颜色、边框) |
merge_cells |
合并单元格范围 |
unmerge_cells |
取消合并单元格范围 |
set_row_heights |
调整行高 |
set_column_widths |
调整列宽 |
manage_storage |
从Supabase上传/下载文件 |
set_formula 在单元格中设置Excel公式 |
|
recalculate_formulas |
重新计算工作簿中的所有公式 |
manage_sheets |
创建、删除、重命名、复制、移动工作表 |
merge_excel_files |
合并多个Excel文件 |
见 API 参考文档 以获取详细文档。
📖 使用示例
将Excel解析为JSON
# Parse a local file
result = parse_excel_to_json(
file_path="data/sales_q1.xlsx",
extract_formats=True
)
# Access parsed data
workbook = result["workbook"]
sheets = workbook["sheets"]
从JSON创建Excel文件
# Create a simple Excel file
workbook_data = {
"sheets": [{
"name": "Sales",
"rows": [
{"cells": [
{"value": "Product", "row": 1, "column": 1},
{"value": "Revenue", "row": 1, "column": 2}
]},
{"cells": [
{"value": "Product A", "row": 2, "column": 1},
{"value": 1000, "row": 2, "column": 2}
]}
]
}]
}
create_excel_from_json(
workbook_data=workbook_data,
output_path="output/sales.xlsx",
apply_formats=True
)
设置单元格格式
# Format header row
modify_cell_format(
file_path="data/sales.xlsx",
sheet_name="Sheet1",
cell_range="A1:J1",
format_spec={
"font": {"name": "Arial", "size": 12, "bold": True, "color": "FFFFFF"},
"fill": {"color": "4472C4"},
"alignment": {"horizontal": "center", "vertical": "center"}
}
)
设定公式
# Set a SUM formula
set_formula(
file_path="data/sales.xlsx",
sheet_name="Sheet1",
cell="D10",
formula="=SUM(D2:D9)"
)
# Recalculate all formulas
recalculate_formulas(
file_path="data/sales.xlsx"
)
合并Excel文件
# Merge quarterly reports
merge_excel_files(
file_paths=["q1.xlsx", "q2.xlsx", "q3.xlsx", "q4.xlsx"],
output_path="annual_report.xlsx",
handle_duplicates="rename" # or "skip" or "overwrite"
)
Supabase 存储操作
# Upload file to Supabase
manage_storage(
operation="upload",
local_path="output/report.xlsx",
remote_path="reports/2024/annual.xlsx"
)
# Download file from Supabase
manage_storage(
operation="download",
remote_path="reports/2024/annual.xlsx",
local_path="downloads/annual.xlsx"
)
# List files
manage_storage(
operation="list",
remote_path="reports/2024/"
)
如需更多示例,请参阅 示例目录。
📚 文档
- 产品需求文档(PRD)
- API 参考文档 - 完成所有12个工具的完整API文档
- 使用示例 - 6个端到端示例
- 建筑 - 系统架构和设计模式
- 开发指南 - 贡献与开发工作流程
- 故障排除 - 常见问题及解决方案
🛠️ 开发
本地设置
# Clone the repository
git clone https://github.com/1126misakp/Excel-MCP-Server-with-Supabase-Storage
cd Excel-MCP-Server-with-Supabase-Storage
# Install dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run linter
ruff check .
# Format code
black .
项目结构
Excel-MCP-Server-with-Supabase-Storage/
├── src/mcp_excel_supabase/ # Source code
│ ├── excel/ # Excel operations
│ ├── storage/ # Supabase integration
│ └── utils/ # Utilities
├── tests/ # Test suite
├── docs/ # Documentation
└── PRD.md # Product Requirements
🧪 测试
# Run all tests
pytest
# Run with coverage
pytest --cov
# Run specific test file
pytest tests/test_parser.py
📋 要求
- Python 3.9+
- 带有存储API访问权限的Supabase帐户
- 无需安装Microsoft Office或WPS
🤝 贡献
欢迎投稿!详情请见 开发指南 作为指导方针。
📄 许可证
这个项目采用MIT许可证授权——详见 许可证 文件中详述。
🙋 支持
- 问题: GitHub Issues(GitHub问题)
- 讨论: GitHub 讨论区
🗺️ 路线图
版本1.0(当前)
- ✅ 核心Excel解析与生成
- ✅ Supabase 存储集成
- ✅ 支持基本格式化
- ✅ 20多个常用公式
版本1.1(计划中)
- 📋 支持图表生成
- 📋 条件格式化
- 📋 数据验证规则
- 📋 高级公式函数
- 📋 WebUI 控制面板
🌐 相关项目
📊 性能
在标准开发机器(Intel i5处理器,8GB内存)上的基准测试结果:
| 操作 | 目标 | 实际 | 状态 |
|---|---|---|---|
| 解析1MB文件 | <2秒 | 0.598秒 | ✅ 3.3倍更快 |
| 生成1000行 | <3秒 | 0.026秒 | ✅ 速度快115倍 |
| 合并10个文件 | <8秒 | 0.117秒 | ✅ 速度快68倍 |
| 批处理20个文件 | <10秒 | 0.192秒 | ✅ 速度快52倍 |
| 1000个单元格格式 | <0.5秒 | 0.089秒 | ✅ 5.6倍更快 |
性能优化:
- ✅ 对解析过的文件使用LRU缓存(128条目)
- ✅ 线程池并发(8个工作线程)
- ✅ 大文件流式I/O
- ✅ 内存高效处理(5000行 = +0.04MB)
由充满爱意地制作 1126misakp
这个项目正在积极维护,并欢迎社区贡献。
使用Supabase存储的Excel MCP服务器
一个强大的MCP(模型上下文协议)服务器,专为Excel操作设计,与Supabase存储无缝集成。无需安装Microsoft Office或WPS,即可通过编程方式处理Excel文件。
🌟 特点
- ✅ Excel 解析将Excel文件转换为包含完整格式信息的JSON文件
- ✅ 卓越一代从JSON数据创建格式化的Excel文件
- ✅ 高级格式化修改单元格样式,合并单元格,调整尺寸
- ✅ 公式支持执行并计算20多个常用的Excel公式
- ✅ 翻译为中文是:✅(这个符号本身没有直接的中文翻译,它通常表示“正确”、“已确认”或“完成”的意思,在中文语境中可以直接保留这个符号或者根据上下文用相应的中文表述来替代。) 多表操作将多个Excel文件合并成一个工作簿
- ✅ Supabase 集成使用Supabase Storage进行直接读/写操作
- ✅ 零依赖无需安装Microsoft Office或WPS
- ✅ 跨平台适用于Windows、Linux和macOS系统
🚀 快速入门
安装
选项1:从GitHub安装(目前推荐)
# Install and run directly
uvx --from git+https://github.com/1126misakp/Excel-MCP-Server-with-Supabase-Storage mcp-excel-supabase
选项2:从PyPI安装(即将推出)
# Once published to PyPI, you can use:
uvx mcp-excel-supabase
选项3:从本地源安装
# Clone the repository
git clone https://github.com/1126misakp/Excel-MCP-Server-with-Supabase-Storage
cd Excel-MCP-Server-with-Supabase-Storage
# Install in development mode
pip install -e .
# Run the server
mcp-excel-supabase
配置
- 创建一个
.env在你的项目目录中创建文件:
cp .env.example .env
- 编辑
.env并添加您的Supabase凭据:
SUPABASE_URL=https://yourproject.supabase.co
SUPABASE_KEY=your-service-role-key-here
Claude 桌面配置
在您的Claude桌面配置文件中添加:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS(麦金塔操作系统): ~/Library/Application Support/Claude/claude_desktop_config.json
Linux(发音为“利尼斯”): ~/.config/Claude/claude_desktop_config.json
如果从GitHub安装:
{
"mcpServers": {
"excel-supabase": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/1126misakp/Excel-MCP-Server-with-Supabase-Storage",
"mcp-excel-supabase"
],
"env": {
"SUPABASE_URL": "https://yourproject.supabase.co",
"SUPABASE_KEY": "your-service-role-key-here"
}
}
}
}
如果从PyPI安装(已发布后):
{
"mcpServers": {
"excel-supabase": {
"command": "uvx",
"args": ["mcp-excel-supabase"],
"env": {
"SUPABASE_URL": "https://yourproject.supabase.co",
"SUPABASE_KEY": "your-service-role-key-here"
}
}
}
}
🛠️ 可用工具
此服务器提供了12种MCP工具,以实现全面的Excel操作:
| 工具 | 描述 |
|---|---|
parse_excel_to_json 将Excel文件解析为JSON格式 |
|
create_excel_from_json |
从JSON数据生成Excel文件 |
modify_cell_format |
编辑单元格格式(字体、颜色、边框) |
merge_cells |
合并单元格范围 |
unmerge_cells |
解除单元格范围合并 |
set_row_heights |
调整行高 |
set_column_widths |
调整列宽 |
manage_storage |
向Supabase上传/下载文件 |
set_formula |
在单元格中设置Excel公式 |
recalculate_formulas |
重新计算工作簿中的所有公式 |
manage_sheets |
创建、删除、重命名、复制、移动工作表 |
merge_excel_files 合并多个Excel文件 |
看 API 参考 以获取详细文档。
📖 使用示例
将Excel解析为JSON
# Parse a local file
result = parse_excel_to_json(
file_path="data/sales_q1.xlsx",
extract_formats=True
)
# Access parsed data
workbook = result["workbook"]
sheets = workbook["sheets"]
从JSON创建Excel文件
# Create a simple Excel file
workbook_data = {
"sheets": [{
"name": "Sales",
"rows": [
{"cells": [
{"value": "Product", "row": 1, "column": 1},
{"value": "Revenue", "row": 1, "column": 2}
]},
{"cells": [
{"value": "Product A", "row": 2, "column": 1},
{"value": 1000, "row": 2, "column": 2}
]}
]
}]
}
create_excel_from_json(
workbook_data=workbook_data,
output_path="output/sales.xlsx",
apply_formats=True
)
设置单元格格式
# Format header row
modify_cell_format(
file_path="data/sales.xlsx",
sheet_name="Sheet1",
cell_range="A1:J1",
format_spec={
"font": {"name": "Arial", "size": 12, "bold": True, "color": "FFFFFF"},
"fill": {"color": "4472C4"},
"alignment": {"horizontal": "center", "vertical": "center"}
}
)
设置公式
# Set a SUM formula
set_formula(
file_path="data/sales.xlsx",
sheet_name="Sheet1",
cell="D10",
formula="=SUM(D2:D9)"
)
# Recalculate all formulas
recalculate_formulas(
file_path="data/sales.xlsx"
)
合并Excel文件
# Merge quarterly reports
merge_excel_files(
file_paths=["q1.xlsx", "q2.xlsx", "q3.xlsx", "q4.xlsx"],
output_path="annual_report.xlsx",
handle_duplicates="rename" # or "skip" or "overwrite"
)
Supabase 存储操作
# Upload file to Supabase
manage_storage(
operation="upload",
local_path="output/report.xlsx",
remote_path="reports/2024/annual.xlsx"
)
# Download file from Supabase
manage_storage(
operation="download",
remote_path="reports/2024/annual.xlsx",
local_path="downloads/annual.xlsx"
)
# List files
manage_storage(
operation="list",
remote_path="reports/2024/"
)
如需更多示例,请参阅 示例目录。
📚 文档
- 产品需求文档(PRD)
- API 参考文档 - 完成所有12个工具的完整API文档
- 使用示例 - 6个端到端示例
- 建筑学 - 系统架构和设计模式
- 开发指南 - 贡献与开发工作流程
- 故障排除 - 常见问题及解决方案
🛠️ 开发
本地设置
# Clone the repository
git clone https://github.com/1126misakp/Excel-MCP-Server-with-Supabase-Storage
cd Excel-MCP-Server-with-Supabase-Storage
# Install dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run linter
ruff check .
# Format code
black .
项目结构
Excel-MCP-Server-with-Supabase-Storage/
├── src/mcp_excel_supabase/ # Source code
│ ├── excel/ # Excel operations
│ ├── storage/ # Supabase integration
│ └── utils/ # Utilities
├── tests/ # Test suite
├── docs/ # Documentation
└── PRD.md # Product Requirements
🧪 测试
# Run all tests
pytest
# Run with coverage
pytest --cov
# Run specific test file
pytest tests/test_parser.py
📋 要求
- Python 3.9+(即Python 3.9或更高版本)
- 带有Storage API访问权限的Supabase账户
- 无需安装Microsoft Office或WPS
🤝 贡献
欢迎投稿!请参阅 开发指南 作为指导方针。
📄 许可证
此项目遵循MIT许可证授权——详见 许可证 文件中有详细信息。
🙋 支持
- 问题: GitHub Issues(GitHub问题)
- 讨论: GitHub 讨论区
🗺️ 路线图
版本1.0(当前版本)
- ✅ 核心Excel解析与生成
- ✅ 集成Supabase存储
- ✅ 基本格式支持
- ✅ 20多个常用公式
版本1.1(计划中)
- 📋 支持图表生成
- 📋 条件格式设置
- 📋 数据验证规则
- 📋 高级公式函数
- 📋 WebUI 控制面板
🌐 相关项目
- openpyxl(注:这是一个用于读写Excel 2010及以上版本的Python库名称,直接翻译为中文即保持原样,因其本身不是具有明确中文含义的词汇) - Excel文件操作
- Supabase(注:这是一个专有名词,通常不进行翻译,直接保留原名,但在此提供其含义的中文表述,即“一个开源的后端服务平台”) - 云存储后端
- MCP协议 - 模型上下文协议
📊 性能
在标准开发机器(Intel i5处理器,8GB内存)上的基准测试:
| 操作 | 目标 | 实际 | 状态 |
|---|---|---|---|
| 解析1MB文件 | <2秒 | 0.598秒 | ✅ 3.3倍更快 |
| 生成1000行 | <3秒 | 0.026秒 | ✅ 速度快115倍 |
| 合并10个文件 | <8秒 | 0.117秒 | ✅ 快68倍 |
| 批量处理20个文件 | <10秒 | 0.192秒 | ✅ 速度快52倍 |
| 1000个单元格的格式 | <0.5秒 | 0.089秒 | ✅ 5.6倍快 |
性能优化:
- ✅ 对解析后的文件使用LRU缓存(128条目)
- ✅ 线程池并发(8个工作线程)
- ✅ 大文件流式I/O
- ✅ 内存高效处理(5000行 = +0.04MB)
由…用心打造 ❤️ 1126misakp
这个项目正在积极维护中,并欢迎社区成员的贡献。
6dc69b6(发布版本v1.0.0:基于Supabase存储的完整Excel MCP服务器)
