Skip to main content

Self-evolving Excel analytics toolkit — MCP server + dashboard for Claude Desktop

Project description

Excel Analytics MCP Server

A self-evolving data analytics toolkit for Claude Desktop. Drop your Excel files in, ask questions in plain English, and build up a personal library of reusable analysis tools — no coding required.

What It Does

  • Upload Excel/CSV files via a beautiful web dashboard
  • Ask Claude questions about your data in natural language
  • Save analyses as reusable tools you can run again and again
  • Create custom tools that Claude can use on your behalf
  • Everything stays local — your data never leaves your machine

Quick Install

bash install.sh

This will:

  1. Check for Python 3.10+ and install uv if needed
  2. Set up the ~/.excel-mcp/ directory
  3. Install all dependencies
  4. Configure Claude Desktop automatically

Then restart Claude Desktop and you're ready to go.

How to Use

1. Upload Your Data

Open the dashboard at http://localhost:8765 (available once Claude Desktop starts the server) and drag your Excel or CSV files into the upload zone.

2. Ask Claude Questions

In Claude Desktop, try prompts like:

  • "What datasets do I have?"
  • "Describe the sales table"
  • "Show me the top 10 customers by revenue"
  • "What's the average order value by month?"
  • "Find all invoices over $5,000 from last week"

3. Save Reusable Analyses

When you find a useful query, ask Claude to save it:

  • "Save this as a tool called 'Top Customers'"
  • "Create a reusable analysis for monthly revenue trends"

4. Manage Your Tools

Visit the Tools tab in the dashboard to:

  • View all your saved analyses and custom tools
  • Edit tool parameters
  • Test tools with different inputs
  • Delete tools you no longer need

Dashboard

The web dashboard runs at http://localhost:8765 and provides:

  • Data Manager — upload files, browse tables, preview data, see column stats
  • Tool Workshop — view core tools, manage saved analyses, test tools with auto-generated forms

Architecture

Claude Desktop ←→ MCP Server (stdio) ←→ SQLite DB
                         ↓
                    REST API (port 8765) ←→ Web Dashboard

The MCP server communicates with Claude Desktop via stdio, while a REST API runs in a background thread to power the dashboard. Both share the same SQLite database and tool registry.

Available Tools

Core Tools (always available)

Tool Description
list_datasets Show all loaded tables
describe_dataset Column info, types, stats
query Run read-only SQL queries
summarize Statistical summary of tables/columns

Meta Tools (for building your toolkit)

Tool Description
save_analysis Save a SQL query as a reusable tool
create_tool Build a custom Python tool (sandboxed)
list_my_tools See all your saved tools
edit_tool Update an existing tool
delete_tool Remove a tool
test_tool Run a tool with test parameters

Security

  • SQL: Read-only queries only (SELECT). No writes, drops, or schema changes.
  • Python tools: Sandboxed execution with restricted imports. No file system access, no network, no dangerous operations.
  • Local only: All data stored in ~/.excel-mcp/. Nothing leaves your machine.

File Locations

Path Purpose
~/Documents/Excel Analytics/data.db SQLite database with your data
~/Documents/Excel Analytics/tools/ Saved analyses and custom tools
~/Documents/Excel Analytics/output/ Tool output files
~/Documents/Excel Analytics/config.json User configuration

Configuration

Edit ~/Documents/Excel Analytics/config.json:

{
  "data_dir": "~/Documents",
  "port": 8765,
  "auto_scan": false
}

Development

# Install dependencies
uv sync

# Run the server directly (for testing)
uv run python -m excel_mcp

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

excel_analytics_mcp-0.1.2.tar.gz (53.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

excel_analytics_mcp-0.1.2-py3-none-any.whl (32.9 kB view details)

Uploaded Python 3

File details

Details for the file excel_analytics_mcp-0.1.2.tar.gz.

File metadata

  • Download URL: excel_analytics_mcp-0.1.2.tar.gz
  • Upload date:
  • Size: 53.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for excel_analytics_mcp-0.1.2.tar.gz
Algorithm Hash digest
SHA256 00f8a6124fb2efc97bf8bf20e83a2d21783286f272574191d10e92f634a9af6d
MD5 80d8e9f77d366b51c3c4f47e800fe2c0
BLAKE2b-256 bbb56911be2f40f8360cdfd126e8db0e3652c1a9cafce38ba02c48798ab2763c

See more details on using hashes here.

File details

Details for the file excel_analytics_mcp-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: excel_analytics_mcp-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 32.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.21 {"installer":{"name":"uv","version":"0.9.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for excel_analytics_mcp-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 617c771a35821a6e754f4ec6400f2a033ca875ba57649d5684f088b95ae41cac
MD5 74424dfadcad1ab8d7f9bbca0515fbca
BLAKE2b-256 6b71c1236e4df296191844adefe0170c2018a2a9e4fa2f871c41b48055d4fb69

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page