# Excel MCP Server with Supabase Storage
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
[](https://modelcontextprotocol.io/)
A powerful MCP (Model Context Protocol) server for Excel operations with seamless Supabase Storage integration. Handle Excel files programmatically without requiring Microsoft Office or WPS installation.
## π Features
- β
**Excel Parsing**: Convert Excel files to JSON with complete formatting information
- β
**Excel Generation**: Create formatted Excel files from JSON data
- β
**Advanced Formatting**: Modify cell styles, merge cells, adjust dimensions
- β
**Formula Support**: Execute and calculate 20+ common Excel formulas
- β
**Multi-Sheet Operations**: Merge multiple Excel files into a single workbook
- β
**Supabase Integration**: Direct read/write operations with Supabase Storage
- β
**Zero Dependencies**: No Microsoft Office or WPS required
- β
**Cross-Platform**: Works on Windows, Linux, and macOS
## π Quick Start
### Installation
#### Option 1: Install from GitHub (Recommended for now)
```bash
# Install and run directly
uvx --from git+https://github.com/1126misakp/Excel-MCP-Server-with-Supabase-Storage mcp-excel-supabase
```
#### Option 2: Install from PyPI (Coming soon)
```bash
# Once published to PyPI, you can use:
uvx mcp-excel-supabase
```
#### Option 3: Install from local source
```bash
# 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
```
### Configuration
1. Create a `.env` file in your project directory:
```bash
cp .env.example .env
```
2. Edit `.env` and add your Supabase credentials:
```env
SUPABASE_URL=https://yourproject.supabase.co
SUPABASE_KEY=your-service-role-key-here
```
### Claude Desktop Configuration
Add to your Claude Desktop configuration file:
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Linux**: `~/.config/Claude/claude_desktop_config.json`
#### If installing from GitHub:
```json
{
"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"
}
}
}
}
```
#### If installing from PyPI:
```json
{
"mcpServers": {
"excel-supabase": {
"command": "uvx",
"args": ["mcp-excel-supabase"],
"env": {
"SUPABASE_URL": "https://yourproject.supabase.co",
"SUPABASE_KEY": "your-service-role-key-here"
}
}
}
}
```
### π Transport Modes
The server supports three transport modes for different use cases:
#### 1. STDIO (Default) - For Claude Desktop and CLI tools
```json
{
"mcpServers": {
"excel-supabase": {
"command": "uvx",
"args": ["mcp-excel-supabase"],
"env": {
"SUPABASE_URL": "https://yourproject.supabase.co",
"SUPABASE_KEY": "your-service-role-key-here"
}
}
}
}
```
#### 2. HTTP - For web-based clients (Recommended for Cherry Studio)
```json
{
"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"
}
}
}
}
```
Then connect to: `http://127.0.0.1:8000/mcp/`
#### 3. SSE - For legacy SSE clients
```json
{
"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"
}
}
}
}
```
Then connect to: `http://127.0.0.1:8000/sse`
**Environment Variables:**
- `MCP_TRANSPORT`: Transport mode (`stdio` | `http` | `sse`), default: `stdio`
- `MCP_HOST`: Server host for HTTP/SSE, default: `127.0.0.1`
- `MCP_PORT`: Server port for HTTP/SSE, default: `8000`
## π οΈ Available Tools
This server provides 12 MCP tools for comprehensive Excel operations:
| Tool | Description |
|------|-------------|
| `parse_excel_to_json` | Parse Excel files to JSON format |
| `create_excel_from_json` | Generate Excel files from JSON data |
| `modify_cell_format` | Edit cell formatting (fonts, colors, borders) |
| `merge_cells` | Merge cell ranges |
| `unmerge_cells` | Unmerge cell ranges |
| `set_row_heights` | Adjust row heights |
| `set_column_widths` | Adjust column widths |
| `manage_storage` | Upload/download files to/from Supabase |
| `set_formula` | Set Excel formulas in cells |
| `recalculate_formulas` | Recalculate all formulas in a workbook |
| `manage_sheets` | Create, delete, rename, copy, move sheets |
| `merge_excel_files` | Merge multiple Excel files |
See [API Reference](docs/api.md) for detailed documentation.
## π Usage Examples
### Parse Excel to JSON
```python
# 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"]
```
### Create Excel from JSON
```python
# 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 Cells
```python
# 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 Formulas
```python
# 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"
)
```
### Merge Excel Files
```python
# 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 Storage Operations
```python
# 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/"
)
```
For more examples, see the [Examples Directory](docs/examples/).
## π Documentation
- [Product Requirements Document (PRD)](PRD.md)
- [API Reference](docs/api.md) - Complete API documentation for all 12 tools
- [Usage Examples](docs/examples/) - 6 end-to-end examples
- [Basic Parsing](docs/examples/01-basic-parsing.md)
- [Excel Generation](docs/examples/02-excel-generation.md)
- [Cell Formatting](docs/examples/03-formatting-cells.md)
- [Formula Operations](docs/examples/04-formula-operations.md)
- [File Merging](docs/examples/05-file-merging.md)
- [Supabase Integration](docs/examples/06-supabase-integration.md)
- [Architecture](docs/architecture.md) - System architecture and design patterns
- [Development Guide](docs/development.md) - Contributing and development workflow
- [Troubleshooting](docs/troubleshooting.md) - Common issues and solutions
## π οΈ Development
### Local Setup
```bash
# 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 .
```
### Project Structure
```
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
```
## π§ͺ Testing
```bash
# Run all tests
pytest
# Run with coverage
pytest --cov
# Run specific test file
pytest tests/test_parser.py
```
## π Requirements
- Python 3.9+
- Supabase account with Storage API access
- No Microsoft Office or WPS installation required
## π€ Contributing
Contributions are welcome! Please see [Development Guide](docs/development.md) for guidelines.
## π License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## π Support
- **Issues**: [GitHub Issues](https://github.com/1126misakp/Excel-MCP-Server-with-Supabase-Storage/issues)
- **Discussions**: [GitHub Discussions](https://github.com/1126misakp/Excel-MCP-Server-with-Supabase-Storage/discussions)
## πΊοΈ Roadmap
### Version 1.0 (Current)
- β
Core Excel parsing and generation
- β
Supabase Storage integration
- β
Basic formatting support
- β
20+ common formulas
### Version 1.1 (Planned)
- π Chart generation support
- π Conditional formatting
- π Data validation rules
- π Advanced formula functions
- π WebUI control panel
## π Related Projects
- [openpyxl](https://openpyxl.readthedocs.io/) - Excel file operations
- [Supabase](https://supabase.com/) - Cloud storage backend
- [MCP Protocol](https://modelcontextprotocol.io/) - Model Context Protocol
## π Performance
Benchmarked on a standard development machine (Intel i5, 8GB RAM):
| Operation | Target | Actual | Status |
|-----------|--------|--------|--------|
| Parse 1MB file | <2s | 0.598s | β
**3.3x faster** |
| Generate 1000 rows | <3s | 0.026s | β
**115x faster** |
| Merge 10 files | <8s | 0.117s | β
**68x faster** |
| Batch 20 files | <10s | 0.192s | β
**52x faster** |
| Format 1000 cells | <0.5s | 0.089s | β
**5.6x faster** |
**Performance Optimizations:**
- β
LRU caching for parsed files (128 entries)
- β
Thread pool concurrency (8 workers)
- β
Streaming I/O for large files
- β
Memory-efficient processing (5000 rows = +0.04MB)
---
**Made with β€οΈ by [1126misakp](https://github.com/1126misakp)**
*This project is actively maintained and welcomes contributions from the community.*
Raw data
{
"_id": null,
"home_page": null,
"name": "mcp-excel-supabase",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "automation, excel, mcp, openpyxl, supabase",
"author": null,
"author_email": "1126misakp <hikaru_lamperouge@163.com>",
"download_url": "https://files.pythonhosted.org/packages/0e/10/6f99cca795f1aa5797250fa6d57579a225a8b4b25d3a1f61fae2493407b7/mcp_excel_supabase-1.1.0.tar.gz",
"platform": null,
"description": "# Excel MCP Server with Supabase Storage\n\n[](https://www.python.org/downloads/)\n[](https://opensource.org/licenses/MIT)\n[](https://modelcontextprotocol.io/)\n\nA powerful MCP (Model Context Protocol) server for Excel operations with seamless Supabase Storage integration. Handle Excel files programmatically without requiring Microsoft Office or WPS installation.\n\n## \ud83c\udf1f Features\n\n- \u2705 **Excel Parsing**: Convert Excel files to JSON with complete formatting information\n- \u2705 **Excel Generation**: Create formatted Excel files from JSON data\n- \u2705 **Advanced Formatting**: Modify cell styles, merge cells, adjust dimensions\n- \u2705 **Formula Support**: Execute and calculate 20+ common Excel formulas\n- \u2705 **Multi-Sheet Operations**: Merge multiple Excel files into a single workbook\n- \u2705 **Supabase Integration**: Direct read/write operations with Supabase Storage\n- \u2705 **Zero Dependencies**: No Microsoft Office or WPS required\n- \u2705 **Cross-Platform**: Works on Windows, Linux, and macOS\n\n## \ud83d\ude80 Quick Start\n\n### Installation\n\n#### Option 1: Install from GitHub (Recommended for now)\n\n```bash\n# Install and run directly\nuvx --from git+https://github.com/1126misakp/Excel-MCP-Server-with-Supabase-Storage mcp-excel-supabase\n```\n\n#### Option 2: Install from PyPI (Coming soon)\n\n```bash\n# Once published to PyPI, you can use:\nuvx mcp-excel-supabase\n```\n\n#### Option 3: Install from local source\n\n```bash\n# Clone the repository\ngit clone https://github.com/1126misakp/Excel-MCP-Server-with-Supabase-Storage\ncd Excel-MCP-Server-with-Supabase-Storage\n\n# Install in development mode\npip install -e .\n\n# Run the server\nmcp-excel-supabase\n```\n\n### Configuration\n\n1. Create a `.env` file in your project directory:\n\n```bash\ncp .env.example .env\n```\n\n2. Edit `.env` and add your Supabase credentials:\n\n```env\nSUPABASE_URL=https://yourproject.supabase.co\nSUPABASE_KEY=your-service-role-key-here\n```\n\n### Claude Desktop Configuration\n\nAdd to your Claude Desktop configuration file:\n\n**Windows**: `%APPDATA%\\Claude\\claude_desktop_config.json`\n**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`\n**Linux**: `~/.config/Claude/claude_desktop_config.json`\n\n#### If installing from GitHub:\n\n```json\n{\n \"mcpServers\": {\n \"excel-supabase\": {\n \"command\": \"uvx\",\n \"args\": [\n \"--from\",\n \"git+https://github.com/1126misakp/Excel-MCP-Server-with-Supabase-Storage\",\n \"mcp-excel-supabase\"\n ],\n \"env\": {\n \"SUPABASE_URL\": \"https://yourproject.supabase.co\",\n \"SUPABASE_KEY\": \"your-service-role-key-here\"\n }\n }\n }\n}\n```\n\n#### If installing from PyPI:\n\n```json\n{\n \"mcpServers\": {\n \"excel-supabase\": {\n \"command\": \"uvx\",\n \"args\": [\"mcp-excel-supabase\"],\n \"env\": {\n \"SUPABASE_URL\": \"https://yourproject.supabase.co\",\n \"SUPABASE_KEY\": \"your-service-role-key-here\"\n }\n }\n }\n}\n```\n\n### \ud83c\udf10 Transport Modes\n\nThe server supports three transport modes for different use cases:\n\n#### 1. STDIO (Default) - For Claude Desktop and CLI tools\n\n```json\n{\n \"mcpServers\": {\n \"excel-supabase\": {\n \"command\": \"uvx\",\n \"args\": [\"mcp-excel-supabase\"],\n \"env\": {\n \"SUPABASE_URL\": \"https://yourproject.supabase.co\",\n \"SUPABASE_KEY\": \"your-service-role-key-here\"\n }\n }\n }\n}\n```\n\n#### 2. HTTP - For web-based clients (Recommended for Cherry Studio)\n\n```json\n{\n \"mcpServers\": {\n \"excel-supabase\": {\n \"command\": \"uvx\",\n \"args\": [\"mcp-excel-supabase\"],\n \"env\": {\n \"SUPABASE_URL\": \"https://yourproject.supabase.co\",\n \"SUPABASE_KEY\": \"your-service-role-key-here\",\n \"MCP_TRANSPORT\": \"http\",\n \"MCP_HOST\": \"127.0.0.1\",\n \"MCP_PORT\": \"8000\"\n }\n }\n }\n}\n```\n\nThen connect to: `http://127.0.0.1:8000/mcp/`\n\n#### 3. SSE - For legacy SSE clients\n\n```json\n{\n \"mcpServers\": {\n \"excel-supabase\": {\n \"command\": \"uvx\",\n \"args\": [\"mcp-excel-supabase\"],\n \"env\": {\n \"SUPABASE_URL\": \"https://yourproject.supabase.co\",\n \"SUPABASE_KEY\": \"your-service-role-key-here\",\n \"MCP_TRANSPORT\": \"sse\",\n \"MCP_HOST\": \"127.0.0.1\",\n \"MCP_PORT\": \"8000\"\n }\n }\n }\n}\n```\n\nThen connect to: `http://127.0.0.1:8000/sse`\n\n**Environment Variables:**\n- `MCP_TRANSPORT`: Transport mode (`stdio` | `http` | `sse`), default: `stdio`\n- `MCP_HOST`: Server host for HTTP/SSE, default: `127.0.0.1`\n- `MCP_PORT`: Server port for HTTP/SSE, default: `8000`\n\n## \ud83d\udee0\ufe0f Available Tools\n\nThis server provides 12 MCP tools for comprehensive Excel operations:\n\n| Tool | Description |\n|------|-------------|\n| `parse_excel_to_json` | Parse Excel files to JSON format |\n| `create_excel_from_json` | Generate Excel files from JSON data |\n| `modify_cell_format` | Edit cell formatting (fonts, colors, borders) |\n| `merge_cells` | Merge cell ranges |\n| `unmerge_cells` | Unmerge cell ranges |\n| `set_row_heights` | Adjust row heights |\n| `set_column_widths` | Adjust column widths |\n| `manage_storage` | Upload/download files to/from Supabase |\n| `set_formula` | Set Excel formulas in cells |\n| `recalculate_formulas` | Recalculate all formulas in a workbook |\n| `manage_sheets` | Create, delete, rename, copy, move sheets |\n| `merge_excel_files` | Merge multiple Excel files |\n\nSee [API Reference](docs/api.md) for detailed documentation.\n\n## \ud83d\udcd6 Usage Examples\n\n### Parse Excel to JSON\n\n```python\n# Parse a local file\nresult = parse_excel_to_json(\n file_path=\"data/sales_q1.xlsx\",\n extract_formats=True\n)\n\n# Access parsed data\nworkbook = result[\"workbook\"]\nsheets = workbook[\"sheets\"]\n```\n\n### Create Excel from JSON\n\n```python\n# Create a simple Excel file\nworkbook_data = {\n \"sheets\": [{\n \"name\": \"Sales\",\n \"rows\": [\n {\"cells\": [\n {\"value\": \"Product\", \"row\": 1, \"column\": 1},\n {\"value\": \"Revenue\", \"row\": 1, \"column\": 2}\n ]},\n {\"cells\": [\n {\"value\": \"Product A\", \"row\": 2, \"column\": 1},\n {\"value\": 1000, \"row\": 2, \"column\": 2}\n ]}\n ]\n }]\n}\n\ncreate_excel_from_json(\n workbook_data=workbook_data,\n output_path=\"output/sales.xlsx\",\n apply_formats=True\n)\n```\n\n### Format Cells\n\n```python\n# Format header row\nmodify_cell_format(\n file_path=\"data/sales.xlsx\",\n sheet_name=\"Sheet1\",\n cell_range=\"A1:J1\",\n format_spec={\n \"font\": {\"name\": \"Arial\", \"size\": 12, \"bold\": True, \"color\": \"FFFFFF\"},\n \"fill\": {\"color\": \"4472C4\"},\n \"alignment\": {\"horizontal\": \"center\", \"vertical\": \"center\"}\n }\n)\n```\n\n### Set Formulas\n\n```python\n# Set a SUM formula\nset_formula(\n file_path=\"data/sales.xlsx\",\n sheet_name=\"Sheet1\",\n cell=\"D10\",\n formula=\"=SUM(D2:D9)\"\n)\n\n# Recalculate all formulas\nrecalculate_formulas(\n file_path=\"data/sales.xlsx\"\n)\n```\n\n### Merge Excel Files\n\n```python\n# Merge quarterly reports\nmerge_excel_files(\n file_paths=[\"q1.xlsx\", \"q2.xlsx\", \"q3.xlsx\", \"q4.xlsx\"],\n output_path=\"annual_report.xlsx\",\n handle_duplicates=\"rename\" # or \"skip\" or \"overwrite\"\n)\n```\n\n### Supabase Storage Operations\n\n```python\n# Upload file to Supabase\nmanage_storage(\n operation=\"upload\",\n local_path=\"output/report.xlsx\",\n remote_path=\"reports/2024/annual.xlsx\"\n)\n\n# Download file from Supabase\nmanage_storage(\n operation=\"download\",\n remote_path=\"reports/2024/annual.xlsx\",\n local_path=\"downloads/annual.xlsx\"\n)\n\n# List files\nmanage_storage(\n operation=\"list\",\n remote_path=\"reports/2024/\"\n)\n```\n\nFor more examples, see the [Examples Directory](docs/examples/).\n\n## \ud83d\udcda Documentation\n\n- [Product Requirements Document (PRD)](PRD.md)\n- [API Reference](docs/api.md) - Complete API documentation for all 12 tools\n- [Usage Examples](docs/examples/) - 6 end-to-end examples\n - [Basic Parsing](docs/examples/01-basic-parsing.md)\n - [Excel Generation](docs/examples/02-excel-generation.md)\n - [Cell Formatting](docs/examples/03-formatting-cells.md)\n - [Formula Operations](docs/examples/04-formula-operations.md)\n - [File Merging](docs/examples/05-file-merging.md)\n - [Supabase Integration](docs/examples/06-supabase-integration.md)\n- [Architecture](docs/architecture.md) - System architecture and design patterns\n- [Development Guide](docs/development.md) - Contributing and development workflow\n- [Troubleshooting](docs/troubleshooting.md) - Common issues and solutions\n\n## \ud83d\udee0\ufe0f Development\n\n### Local Setup\n\n```bash\n# Clone the repository\ngit clone https://github.com/1126misakp/Excel-MCP-Server-with-Supabase-Storage\ncd Excel-MCP-Server-with-Supabase-Storage\n\n# Install dependencies\npip install -e \".[dev]\"\n\n# Run tests\npytest\n\n# Run linter\nruff check .\n\n# Format code\nblack .\n```\n\n### Project Structure\n\n```\nExcel-MCP-Server-with-Supabase-Storage/\n\u251c\u2500\u2500 src/mcp_excel_supabase/ # Source code\n\u2502 \u251c\u2500\u2500 excel/ # Excel operations\n\u2502 \u251c\u2500\u2500 storage/ # Supabase integration\n\u2502 \u2514\u2500\u2500 utils/ # Utilities\n\u251c\u2500\u2500 tests/ # Test suite\n\u251c\u2500\u2500 docs/ # Documentation\n\u2514\u2500\u2500 PRD.md # Product Requirements\n```\n\n## \ud83e\uddea Testing\n\n```bash\n# Run all tests\npytest\n\n# Run with coverage\npytest --cov\n\n# Run specific test file\npytest tests/test_parser.py\n```\n\n## \ud83d\udccb Requirements\n\n- Python 3.9+\n- Supabase account with Storage API access\n- No Microsoft Office or WPS installation required\n\n## \ud83e\udd1d Contributing\n\nContributions are welcome! Please see [Development Guide](docs/development.md) for guidelines.\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## \ud83d\ude4b Support\n\n- **Issues**: [GitHub Issues](https://github.com/1126misakp/Excel-MCP-Server-with-Supabase-Storage/issues)\n- **Discussions**: [GitHub Discussions](https://github.com/1126misakp/Excel-MCP-Server-with-Supabase-Storage/discussions)\n\n## \ud83d\uddfa\ufe0f Roadmap\n\n### Version 1.0 (Current)\n- \u2705 Core Excel parsing and generation\n- \u2705 Supabase Storage integration\n- \u2705 Basic formatting support\n- \u2705 20+ common formulas\n\n### Version 1.1 (Planned)\n- \ud83d\udccb Chart generation support\n- \ud83d\udccb Conditional formatting\n- \ud83d\udccb Data validation rules\n- \ud83d\udccb Advanced formula functions\n- \ud83d\udccb WebUI control panel\n\n## \ud83c\udf10 Related Projects\n\n- [openpyxl](https://openpyxl.readthedocs.io/) - Excel file operations\n- [Supabase](https://supabase.com/) - Cloud storage backend\n- [MCP Protocol](https://modelcontextprotocol.io/) - Model Context Protocol\n\n## \ud83d\udcca Performance\n\nBenchmarked on a standard development machine (Intel i5, 8GB RAM):\n\n| Operation | Target | Actual | Status |\n|-----------|--------|--------|--------|\n| Parse 1MB file | <2s | 0.598s | \u2705 **3.3x faster** |\n| Generate 1000 rows | <3s | 0.026s | \u2705 **115x faster** |\n| Merge 10 files | <8s | 0.117s | \u2705 **68x faster** |\n| Batch 20 files | <10s | 0.192s | \u2705 **52x faster** |\n| Format 1000 cells | <0.5s | 0.089s | \u2705 **5.6x faster** |\n\n**Performance Optimizations:**\n- \u2705 LRU caching for parsed files (128 entries)\n- \u2705 Thread pool concurrency (8 workers)\n- \u2705 Streaming I/O for large files\n- \u2705 Memory-efficient processing (5000 rows = +0.04MB)\n\n---\n\n**Made with \u2764\ufe0f by [1126misakp](https://github.com/1126misakp)**\n\n*This project is actively maintained and welcomes contributions from the community.*\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "MCP server for Excel operations with Supabase Storage integration",
"version": "1.1.0",
"project_urls": {
"Documentation": "https://github.com/1126misakp/Excel-MCP-Server-with-Supabase-Storage/blob/main/docs/README.md",
"Homepage": "https://github.com/1126misakp/Excel-MCP-Server-with-Supabase-Storage",
"Issues": "https://github.com/1126misakp/Excel-MCP-Server-with-Supabase-Storage/issues",
"Repository": "https://github.com/1126misakp/Excel-MCP-Server-with-Supabase-Storage"
},
"split_keywords": [
"automation",
" excel",
" mcp",
" openpyxl",
" supabase"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "330087f2f0be8bf87232e5a7abaa161148df32ae11d6e27a2684a3571655b69d",
"md5": "4cab7b6ffd6221b5ededae90d7ebc941",
"sha256": "13c5dcb2d53b91e4d82b96d5594037784ca5e9392af09f6fa07ca2090f5bdd80"
},
"downloads": -1,
"filename": "mcp_excel_supabase-1.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4cab7b6ffd6221b5ededae90d7ebc941",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 83177,
"upload_time": "2025-10-21T14:22:05",
"upload_time_iso_8601": "2025-10-21T14:22:05.979450Z",
"url": "https://files.pythonhosted.org/packages/33/00/87f2f0be8bf87232e5a7abaa161148df32ae11d6e27a2684a3571655b69d/mcp_excel_supabase-1.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0e106f99cca795f1aa5797250fa6d57579a225a8b4b25d3a1f61fae2493407b7",
"md5": "386ece5542fdd9de8d38a39c19f90b05",
"sha256": "aef093611657d27cf40f7909077551c740ddaaaef8ab7a58f4b376c8fe61e035"
},
"downloads": -1,
"filename": "mcp_excel_supabase-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "386ece5542fdd9de8d38a39c19f90b05",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 252260,
"upload_time": "2025-10-21T14:22:07",
"upload_time_iso_8601": "2025-10-21T14:22:07.846768Z",
"url": "https://files.pythonhosted.org/packages/0e/10/6f99cca795f1aa5797250fa6d57579a225a8b4b25d3a1f61fae2493407b7/mcp_excel_supabase-1.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-21 14:22:07",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "1126misakp",
"github_project": "Excel-MCP-Server-with-Supabase-Storage",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "openpyxl",
"specs": [
[
">=",
"3.1.0"
],
[
"<",
"4.0.0"
]
]
},
{
"name": "supabase",
"specs": [
[
">=",
"2.0.0"
],
[
"<",
"3.0.0"
]
]
},
{
"name": "mcp",
"specs": [
[
">=",
"1.0.0"
],
[
"<",
"2.0.0"
]
]
},
{
"name": "python-dotenv",
"specs": [
[
">=",
"1.0.0"
],
[
"<",
"2.0.0"
]
]
},
{
"name": "formulas",
"specs": [
[
">=",
"1.2.0"
],
[
"<",
"2.0.0"
]
]
},
{
"name": "pydantic",
"specs": [
[
">=",
"2.0.0"
],
[
"<",
"3.0.0"
]
]
},
{
"name": "regex",
"specs": [
[
">=",
"2023.0.0"
]
]
}
],
"lcname": "mcp-excel-supabase"
}