volute-xls


Namevolute-xls JSON
Version 1.1.3 PyPI version JSON
download
home_pagehttps://gitlab.com/coritan/volute-xls
SummaryMCP server for Excel analysis and multimodal AI integration - comprehensive metadata extraction and sheet image capture for agents
upload_time2025-08-27 06:29:23
maintainerNone
docs_urlNone
authorCoritan
requires_python>=3.8
licenseMIT
keywords mcp excel ai agents desktop automation xlwings multimodal vision spreadsheet image-capture openpyxl
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Volute-XLS: Excel Integration for AI Applications

[![PyPI version](https://badge.fury.io/py/volute-xls.svg)](https://badge.fury.io/py/volute-xls)
[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

A comprehensive **Model Context Protocol (MCP) server** that enables AI agents to interact with Microsoft Excel spreadsheets through advanced metadata extraction, content analysis, and multimodal sheet image capture.

## πŸš€ Features

### πŸ“Š **Excel Analysis & Metadata Extraction**
- **Comprehensive workbook analysis** - File properties, sheet structure, named ranges
- **Detailed sheet content analysis** - Cell data, formulas, data types, merged cells
- **Chart and image detection** - Identify visual elements in spreadsheets  
- **Sample data extraction** - Get representative cell data for content understanding
- **Cross-platform support** - Works on Windows, macOS, and Linux

### πŸ–ΌοΈ **Multimodal Sheet Image Capture** (Windows + xlwings)
- **Full sheet capture** - Export entire worksheets as PNG images
- **Range-specific capture** - Target specific cell ranges for focused analysis
- **Zoom control** - Adjust capture zoom levels (10% to 400%)
- **Base64 encoding** - Ready for multimodal LLM analysis
- **Thread-safe operations** - Reliable concurrent Excel automation

### πŸ”§ **Dual Architecture**
- **Local Server** - Full COM automation with xlwings for Windows Excel integration
- **Cloud Server** - Cross-platform openpyxl-based analysis without local requirements
- **FastMCP Integration** - Built on the Model Context Protocol standard
- **SDK Client Library** - Easy programmatic access to all tools

## πŸ“¦ Installation

### Basic Installation (Cross-platform)
```bash
pip install volute-xls
```

### Full Windows Installation (with image capture)
```bash
pip install volute-xls[windows]
# or for all features
pip install volute-xls[full]
```

### Development Installation
```bash
pip install volute-xls[dev]
```

## πŸƒβ€β™‚οΈ Quick Start

### 1. Start the Local Server
```bash
# HTTP server (default)
volute-xls-local

# STDIO for MCP clients  
volute-xls-local --transport stdio
```

### 2. Use with MCP Configuration
Add to your MCP client configuration:

**Option A: Using installed package command**
```json
{
  "volute-xls-local": {
    "command": "volute-xls-local",
    "args": ["--transport", "stdio"],
    "env": {},
    "working_directory": null
  }
}
```

**Option B: Using Python module (alternative)**
```json
{
  "volute-xls-local": {
    "command": "python",
    "args": [
      "-m",
      "volute_xls.server_local",
      "--transport",
      "stdio"
    ],
    "env": {},
    "working_directory": null
  }
}
```

### 3. Programmatic Usage
```python
from volute_xls import create_client

# Extract Excel metadata
async with create_client("local") as client:
    metadata = await client.extract_excel_metadata(
        "path/to/workbook.xlsx",
        include_sheet_content=True,
        include_sheet_data=True
    )
    print(f"Found {len(metadata['data']['sheets'])} sheets")

# Capture sheet images (Windows + xlwings)
async with create_client("local") as client:
    images = await client.capture_excel_sheets(
        "path/to/workbook.xlsx",
        sheet_names=["Sheet1", "Dashboard"],
        image_width=1200,
        image_height=800
    )
    # Images returned as base64-encoded PNG data
```

## πŸ› οΈ Available Tools

### `extract_excel_metadata`
Extract comprehensive metadata from Excel workbooks including file properties, sheet structure, cell content summary, and named ranges.

**Parameters:**
- `excel_path` (str): Path to Excel file (.xlsx, .xlsm, .xls)
- `include_sheet_content` (bool): Include detailed sheet analysis
- `include_sheet_data` (bool): Include sample cell data  
- `output_format` (str): "json" or "summary"

### `analyze_excel_sheets`
Perform focused analysis of specific worksheets with detailed content extraction and optional sample data.

**Parameters:**
- `excel_path` (str): Path to Excel file
- `sheet_names` (list): Specific sheets to analyze (None for all)
- `include_data_sample` (bool): Include sample data
- `max_rows` (int): Maximum rows in sample
- `include_formatting` (bool): Include cell formatting

### `capture_excel_sheets` (Windows + xlwings)
Capture Excel worksheets as PNG images for multimodal analysis.

**Parameters:**
- `excel_path` (str): Path to Excel file
- `sheet_names` (list): Sheet names to capture
- `image_width` (int): Image width (200-4000px)
- `image_height` (int): Image height (200-4000px)
- `zoom_level` (float): Zoom percentage (10-400%)

### `capture_excel_ranges` (Windows + xlwings)
Capture specific cell ranges as images for detailed analysis.

**Parameters:**
- `excel_path` (str): Path to Excel file
- `sheet_ranges` (dict): {"SheetName": ["A1:C10", "E1:G5"]}
- `image_width` (int): Image width (100-2000px)
- `image_height` (int): Image height (100-2000px)

## 🌐 Architecture

### Local Server (`volute-xls-local`)
- **Full Excel Integration** - COM automation via xlwings
- **Image Capture** - Native Excel sheet-to-image export
- **Local File Access** - Direct file system operations
- **Thread Safety** - Concurrent Excel operations
- **Windows Optimized** - Best performance on Windows with Excel installed

### Cloud Server (`volute-xls-server`)
- **Cross-Platform** - Pure Python openpyxl-based analysis
- **No Excel Required** - Works without Microsoft Excel
- **Scalable** - Cloud deployment ready
- **Limited Features** - Metadata and analysis only (no image capture)

## πŸ“‹ Requirements

### Basic Requirements (All Platforms)
- Python 3.8+
- fastmcp >= 2.0.0
- openpyxl >= 3.0.0
- Pillow >= 9.0.0

### Windows Image Capture Requirements
- Microsoft Excel installed
- xlwings >= 0.30.0
- pywin32 >= 306

### Supported File Formats
- **.xlsx** - Excel 2007+ workbooks
- **.xlsm** - Excel macro-enabled workbooks  
- **.xls** - Legacy Excel workbooks (limited support)

## πŸ”§ Configuration

### Environment Variables
```bash
# Local server configuration
LOCAL_SERVER_NAME="Volute-XLS-Local"
LOCAL_SERVER_HOST="127.0.0.1"
LOCAL_SERVER_PORT="8002"

# Cloud server configuration  
CLOUD_SERVER_NAME="Volute-XLS-Cloud"
CLOUD_SERVER_HOST="0.0.0.0"
CLOUD_SERVER_PORT="8000"
```

### Server Options
```bash
# Start local server with custom settings
volute-xls-local --host 0.0.0.0 --port 8080

# Start cloud server
volute-xls-server --port 8000
```

## πŸ§ͺ Testing

```bash
# Install development dependencies
pip install volute-xls[dev]

# Run tests
pytest tests/

# Test with sample Excel file
python -c "
import asyncio
from volute_xls import create_client

async def test():
    async with create_client('local') as client:
        caps = await client.get_excel_capabilities()
        print('Excel capabilities:', caps)

asyncio.run(test())
"
```

## 🀝 Integration Examples

### Claude Desktop MCP Configuration
```json
{
  "mcpServers": {
    "volute-xls-local": {
      "command": "volute-xls-local",
      "args": ["--transport", "stdio"]
    }
  }
}
```

### Programmatic Analysis Pipeline
```python
import asyncio
from volute_xls import VoluteXLSLocalClient

async def analyze_workbook(file_path):
    async with VoluteXLSLocalClient() as client:
        # 1. Extract metadata
        metadata = await client.extract_excel_metadata(file_path)
        
        # 2. Analyze key sheets
        key_sheets = ["Summary", "Data", "Charts"]
        analysis = await client.analyze_excel_sheets(
            file_path, 
            sheet_names=key_sheets,
            include_data_sample=True
        )
        
        # 3. Capture images for multimodal analysis  
        if analysis.get('success'):
            images = await client.capture_excel_sheets(
                file_path,
                sheet_names=key_sheets
            )
            return {
                'metadata': metadata,
                'analysis': analysis, 
                'images': images
            }

# Usage
result = asyncio.run(analyze_workbook("financial_report.xlsx"))
```

## πŸ“š Documentation

- **API Reference** - [docs/api.md](docs/api.md)
- **Developer Guide** - [DEVELOPER_GUIDE.md](DEVELOPER_GUIDE.md)
- **Examples** - [examples/](examples/)
- **Troubleshooting** - [docs/troubleshooting.md](docs/troubleshooting.md)

## πŸ›‘οΈ Security & Privacy

- **Local Processing** - All Excel analysis happens locally
- **No Data Upload** - Files never leave your machine with local server
- **Thread Safety** - Concurrent operations are protected
- **Resource Management** - Automatic cleanup of temporary files and Excel instances

## πŸ—ΊοΈ Roadmap

- [ ] **Enhanced Chart Analysis** - Detailed chart metadata extraction
- [ ] **Pivot Table Support** - Analysis of pivot tables and data models
- [ ] **VBA Code Detection** - Identify and analyze VBA macros
- [ ] **Performance Optimization** - Faster processing of large workbooks
- [ ] **Additional Image Formats** - Support for JPEG, SVG export
- [ ] **Cloud Image Capture** - Server-side image generation without xlwings

## 🀝 Contributing

We welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.

### Development Setup
```bash
git clone https://gitlab.com/coritan/volute-xls.git
cd volute-xls
pip install -e .[dev,full]
pre-commit install
```

## πŸ“„ License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## πŸ™ Acknowledgments

- **FastMCP** - For the excellent Model Context Protocol framework
- **openpyxl** - For cross-platform Excel file processing  
- **xlwings** - For Windows Excel COM automation
- **Pillow** - For image processing capabilities
- **Model Context Protocol** - For the agent integration standard

---

**Created with ❀️ for the AI agent community**

For questions, issues, or feature requests, please visit our [GitLab repository](https://gitlab.com/coritan/volute-xls) or [open an issue](https://gitlab.com/coritan/volute-xls/-/issues).

            

Raw data

            {
    "_id": null,
    "home_page": "https://gitlab.com/coritan/volute-xls",
    "name": "volute-xls",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "mcp, excel, ai, agents, desktop, automation, xlwings, multimodal, vision, spreadsheet, image-capture, openpyxl",
    "author": "Coritan",
    "author_email": "Coritan <your-email@example.com>",
    "download_url": "https://files.pythonhosted.org/packages/b0/ac/0a2069cd866f4ec2e810773b5d9301aadd8cd7bd71e56df29e3a740acb1a/volute_xls-1.1.3.tar.gz",
    "platform": null,
    "description": "# Volute-XLS: Excel Integration for AI Applications\r\n\r\n[![PyPI version](https://badge.fury.io/py/volute-xls.svg)](https://badge.fury.io/py/volute-xls)\r\n[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\r\n\r\nA comprehensive **Model Context Protocol (MCP) server** that enables AI agents to interact with Microsoft Excel spreadsheets through advanced metadata extraction, content analysis, and multimodal sheet image capture.\r\n\r\n## \ud83d\ude80 Features\r\n\r\n### \ud83d\udcca **Excel Analysis & Metadata Extraction**\r\n- **Comprehensive workbook analysis** - File properties, sheet structure, named ranges\r\n- **Detailed sheet content analysis** - Cell data, formulas, data types, merged cells\r\n- **Chart and image detection** - Identify visual elements in spreadsheets  \r\n- **Sample data extraction** - Get representative cell data for content understanding\r\n- **Cross-platform support** - Works on Windows, macOS, and Linux\r\n\r\n### \ud83d\uddbc\ufe0f **Multimodal Sheet Image Capture** (Windows + xlwings)\r\n- **Full sheet capture** - Export entire worksheets as PNG images\r\n- **Range-specific capture** - Target specific cell ranges for focused analysis\r\n- **Zoom control** - Adjust capture zoom levels (10% to 400%)\r\n- **Base64 encoding** - Ready for multimodal LLM analysis\r\n- **Thread-safe operations** - Reliable concurrent Excel automation\r\n\r\n### \ud83d\udd27 **Dual Architecture**\r\n- **Local Server** - Full COM automation with xlwings for Windows Excel integration\r\n- **Cloud Server** - Cross-platform openpyxl-based analysis without local requirements\r\n- **FastMCP Integration** - Built on the Model Context Protocol standard\r\n- **SDK Client Library** - Easy programmatic access to all tools\r\n\r\n## \ud83d\udce6 Installation\r\n\r\n### Basic Installation (Cross-platform)\r\n```bash\r\npip install volute-xls\r\n```\r\n\r\n### Full Windows Installation (with image capture)\r\n```bash\r\npip install volute-xls[windows]\r\n# or for all features\r\npip install volute-xls[full]\r\n```\r\n\r\n### Development Installation\r\n```bash\r\npip install volute-xls[dev]\r\n```\r\n\r\n## \ud83c\udfc3\u200d\u2642\ufe0f Quick Start\r\n\r\n### 1. Start the Local Server\r\n```bash\r\n# HTTP server (default)\r\nvolute-xls-local\r\n\r\n# STDIO for MCP clients  \r\nvolute-xls-local --transport stdio\r\n```\r\n\r\n### 2. Use with MCP Configuration\r\nAdd to your MCP client configuration:\r\n\r\n**Option A: Using installed package command**\r\n```json\r\n{\r\n  \"volute-xls-local\": {\r\n    \"command\": \"volute-xls-local\",\r\n    \"args\": [\"--transport\", \"stdio\"],\r\n    \"env\": {},\r\n    \"working_directory\": null\r\n  }\r\n}\r\n```\r\n\r\n**Option B: Using Python module (alternative)**\r\n```json\r\n{\r\n  \"volute-xls-local\": {\r\n    \"command\": \"python\",\r\n    \"args\": [\r\n      \"-m\",\r\n      \"volute_xls.server_local\",\r\n      \"--transport\",\r\n      \"stdio\"\r\n    ],\r\n    \"env\": {},\r\n    \"working_directory\": null\r\n  }\r\n}\r\n```\r\n\r\n### 3. Programmatic Usage\r\n```python\r\nfrom volute_xls import create_client\r\n\r\n# Extract Excel metadata\r\nasync with create_client(\"local\") as client:\r\n    metadata = await client.extract_excel_metadata(\r\n        \"path/to/workbook.xlsx\",\r\n        include_sheet_content=True,\r\n        include_sheet_data=True\r\n    )\r\n    print(f\"Found {len(metadata['data']['sheets'])} sheets\")\r\n\r\n# Capture sheet images (Windows + xlwings)\r\nasync with create_client(\"local\") as client:\r\n    images = await client.capture_excel_sheets(\r\n        \"path/to/workbook.xlsx\",\r\n        sheet_names=[\"Sheet1\", \"Dashboard\"],\r\n        image_width=1200,\r\n        image_height=800\r\n    )\r\n    # Images returned as base64-encoded PNG data\r\n```\r\n\r\n## \ud83d\udee0\ufe0f Available Tools\r\n\r\n### `extract_excel_metadata`\r\nExtract comprehensive metadata from Excel workbooks including file properties, sheet structure, cell content summary, and named ranges.\r\n\r\n**Parameters:**\r\n- `excel_path` (str): Path to Excel file (.xlsx, .xlsm, .xls)\r\n- `include_sheet_content` (bool): Include detailed sheet analysis\r\n- `include_sheet_data` (bool): Include sample cell data  \r\n- `output_format` (str): \"json\" or \"summary\"\r\n\r\n### `analyze_excel_sheets`\r\nPerform focused analysis of specific worksheets with detailed content extraction and optional sample data.\r\n\r\n**Parameters:**\r\n- `excel_path` (str): Path to Excel file\r\n- `sheet_names` (list): Specific sheets to analyze (None for all)\r\n- `include_data_sample` (bool): Include sample data\r\n- `max_rows` (int): Maximum rows in sample\r\n- `include_formatting` (bool): Include cell formatting\r\n\r\n### `capture_excel_sheets` (Windows + xlwings)\r\nCapture Excel worksheets as PNG images for multimodal analysis.\r\n\r\n**Parameters:**\r\n- `excel_path` (str): Path to Excel file\r\n- `sheet_names` (list): Sheet names to capture\r\n- `image_width` (int): Image width (200-4000px)\r\n- `image_height` (int): Image height (200-4000px)\r\n- `zoom_level` (float): Zoom percentage (10-400%)\r\n\r\n### `capture_excel_ranges` (Windows + xlwings)\r\nCapture specific cell ranges as images for detailed analysis.\r\n\r\n**Parameters:**\r\n- `excel_path` (str): Path to Excel file\r\n- `sheet_ranges` (dict): {\"SheetName\": [\"A1:C10\", \"E1:G5\"]}\r\n- `image_width` (int): Image width (100-2000px)\r\n- `image_height` (int): Image height (100-2000px)\r\n\r\n## \ud83c\udf10 Architecture\r\n\r\n### Local Server (`volute-xls-local`)\r\n- **Full Excel Integration** - COM automation via xlwings\r\n- **Image Capture** - Native Excel sheet-to-image export\r\n- **Local File Access** - Direct file system operations\r\n- **Thread Safety** - Concurrent Excel operations\r\n- **Windows Optimized** - Best performance on Windows with Excel installed\r\n\r\n### Cloud Server (`volute-xls-server`)\r\n- **Cross-Platform** - Pure Python openpyxl-based analysis\r\n- **No Excel Required** - Works without Microsoft Excel\r\n- **Scalable** - Cloud deployment ready\r\n- **Limited Features** - Metadata and analysis only (no image capture)\r\n\r\n## \ud83d\udccb Requirements\r\n\r\n### Basic Requirements (All Platforms)\r\n- Python 3.8+\r\n- fastmcp >= 2.0.0\r\n- openpyxl >= 3.0.0\r\n- Pillow >= 9.0.0\r\n\r\n### Windows Image Capture Requirements\r\n- Microsoft Excel installed\r\n- xlwings >= 0.30.0\r\n- pywin32 >= 306\r\n\r\n### Supported File Formats\r\n- **.xlsx** - Excel 2007+ workbooks\r\n- **.xlsm** - Excel macro-enabled workbooks  \r\n- **.xls** - Legacy Excel workbooks (limited support)\r\n\r\n## \ud83d\udd27 Configuration\r\n\r\n### Environment Variables\r\n```bash\r\n# Local server configuration\r\nLOCAL_SERVER_NAME=\"Volute-XLS-Local\"\r\nLOCAL_SERVER_HOST=\"127.0.0.1\"\r\nLOCAL_SERVER_PORT=\"8002\"\r\n\r\n# Cloud server configuration  \r\nCLOUD_SERVER_NAME=\"Volute-XLS-Cloud\"\r\nCLOUD_SERVER_HOST=\"0.0.0.0\"\r\nCLOUD_SERVER_PORT=\"8000\"\r\n```\r\n\r\n### Server Options\r\n```bash\r\n# Start local server with custom settings\r\nvolute-xls-local --host 0.0.0.0 --port 8080\r\n\r\n# Start cloud server\r\nvolute-xls-server --port 8000\r\n```\r\n\r\n## \ud83e\uddea Testing\r\n\r\n```bash\r\n# Install development dependencies\r\npip install volute-xls[dev]\r\n\r\n# Run tests\r\npytest tests/\r\n\r\n# Test with sample Excel file\r\npython -c \"\r\nimport asyncio\r\nfrom volute_xls import create_client\r\n\r\nasync def test():\r\n    async with create_client('local') as client:\r\n        caps = await client.get_excel_capabilities()\r\n        print('Excel capabilities:', caps)\r\n\r\nasyncio.run(test())\r\n\"\r\n```\r\n\r\n## \ud83e\udd1d Integration Examples\r\n\r\n### Claude Desktop MCP Configuration\r\n```json\r\n{\r\n  \"mcpServers\": {\r\n    \"volute-xls-local\": {\r\n      \"command\": \"volute-xls-local\",\r\n      \"args\": [\"--transport\", \"stdio\"]\r\n    }\r\n  }\r\n}\r\n```\r\n\r\n### Programmatic Analysis Pipeline\r\n```python\r\nimport asyncio\r\nfrom volute_xls import VoluteXLSLocalClient\r\n\r\nasync def analyze_workbook(file_path):\r\n    async with VoluteXLSLocalClient() as client:\r\n        # 1. Extract metadata\r\n        metadata = await client.extract_excel_metadata(file_path)\r\n        \r\n        # 2. Analyze key sheets\r\n        key_sheets = [\"Summary\", \"Data\", \"Charts\"]\r\n        analysis = await client.analyze_excel_sheets(\r\n            file_path, \r\n            sheet_names=key_sheets,\r\n            include_data_sample=True\r\n        )\r\n        \r\n        # 3. Capture images for multimodal analysis  \r\n        if analysis.get('success'):\r\n            images = await client.capture_excel_sheets(\r\n                file_path,\r\n                sheet_names=key_sheets\r\n            )\r\n            return {\r\n                'metadata': metadata,\r\n                'analysis': analysis, \r\n                'images': images\r\n            }\r\n\r\n# Usage\r\nresult = asyncio.run(analyze_workbook(\"financial_report.xlsx\"))\r\n```\r\n\r\n## \ud83d\udcda Documentation\r\n\r\n- **API Reference** - [docs/api.md](docs/api.md)\r\n- **Developer Guide** - [DEVELOPER_GUIDE.md](DEVELOPER_GUIDE.md)\r\n- **Examples** - [examples/](examples/)\r\n- **Troubleshooting** - [docs/troubleshooting.md](docs/troubleshooting.md)\r\n\r\n## \ud83d\udee1\ufe0f Security & Privacy\r\n\r\n- **Local Processing** - All Excel analysis happens locally\r\n- **No Data Upload** - Files never leave your machine with local server\r\n- **Thread Safety** - Concurrent operations are protected\r\n- **Resource Management** - Automatic cleanup of temporary files and Excel instances\r\n\r\n## \ud83d\uddfa\ufe0f Roadmap\r\n\r\n- [ ] **Enhanced Chart Analysis** - Detailed chart metadata extraction\r\n- [ ] **Pivot Table Support** - Analysis of pivot tables and data models\r\n- [ ] **VBA Code Detection** - Identify and analyze VBA macros\r\n- [ ] **Performance Optimization** - Faster processing of large workbooks\r\n- [ ] **Additional Image Formats** - Support for JPEG, SVG export\r\n- [ ] **Cloud Image Capture** - Server-side image generation without xlwings\r\n\r\n## \ud83e\udd1d Contributing\r\n\r\nWe welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\r\n\r\n### Development Setup\r\n```bash\r\ngit clone https://gitlab.com/coritan/volute-xls.git\r\ncd volute-xls\r\npip install -e .[dev,full]\r\npre-commit install\r\n```\r\n\r\n## \ud83d\udcc4 License\r\n\r\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\r\n\r\n## \ud83d\ude4f Acknowledgments\r\n\r\n- **FastMCP** - For the excellent Model Context Protocol framework\r\n- **openpyxl** - For cross-platform Excel file processing  \r\n- **xlwings** - For Windows Excel COM automation\r\n- **Pillow** - For image processing capabilities\r\n- **Model Context Protocol** - For the agent integration standard\r\n\r\n---\r\n\r\n**Created with \u2764\ufe0f for the AI agent community**\r\n\r\nFor questions, issues, or feature requests, please visit our [GitLab repository](https://gitlab.com/coritan/volute-xls) or [open an issue](https://gitlab.com/coritan/volute-xls/-/issues).\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "MCP server for Excel analysis and multimodal AI integration - comprehensive metadata extraction and sheet image capture for agents",
    "version": "1.1.3",
    "project_urls": {
        "Documentation": "https://gitlab.com/coritan/volute-xls/-/blob/main/DEVELOPER_GUIDE.md",
        "Homepage": "https://gitlab.com/coritan/volute-xls",
        "Issues": "https://gitlab.com/coritan/volute-xls/-/issues",
        "Repository": "https://gitlab.com/coritan/volute-xls.git"
    },
    "split_keywords": [
        "mcp",
        " excel",
        " ai",
        " agents",
        " desktop",
        " automation",
        " xlwings",
        " multimodal",
        " vision",
        " spreadsheet",
        " image-capture",
        " openpyxl"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b5d97b4663da6372dbe2368668761e95db095776d493f6ce245151d9d66c556b",
                "md5": "41f062a79fb35eafb6eab0721bb4178a",
                "sha256": "a35577c610467acdc0f48fa0eb883e9396749141f703deb8298fc58dc72ab0b8"
            },
            "downloads": -1,
            "filename": "volute_xls-1.1.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "41f062a79fb35eafb6eab0721bb4178a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 34865,
            "upload_time": "2025-08-27T06:29:21",
            "upload_time_iso_8601": "2025-08-27T06:29:21.914068Z",
            "url": "https://files.pythonhosted.org/packages/b5/d9/7b4663da6372dbe2368668761e95db095776d493f6ce245151d9d66c556b/volute_xls-1.1.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b0ac0a2069cd866f4ec2e810773b5d9301aadd8cd7bd71e56df29e3a740acb1a",
                "md5": "cef407d0d38702adfb42c82638184db9",
                "sha256": "c5b65f3cc61be708c54984fae57705b5607aa5d49657d1f20040d587b6e3be64"
            },
            "downloads": -1,
            "filename": "volute_xls-1.1.3.tar.gz",
            "has_sig": false,
            "md5_digest": "cef407d0d38702adfb42c82638184db9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 34439,
            "upload_time": "2025-08-27T06:29:23",
            "upload_time_iso_8601": "2025-08-27T06:29:23.077510Z",
            "url": "https://files.pythonhosted.org/packages/b0/ac/0a2069cd866f4ec2e810773b5d9301aadd8cd7bd71e56df29e3a740acb1a/volute_xls-1.1.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-27 06:29:23",
    "github": false,
    "gitlab": true,
    "bitbucket": false,
    "codeberg": false,
    "gitlab_user": "coritan",
    "gitlab_project": "volute-xls",
    "lcname": "volute-xls"
}
        
Elapsed time: 0.57313s