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 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
Install
Option 1: PyPI (recommended)
Requires Python 3.10+ and uv.
# Install uv if you don't have it
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install and configure Claude Desktop
uvx excel-analytics-mcp --setup
That's it. Restart Claude Desktop and start asking questions.
Option 2: From source
git clone https://github.com/blakethom8/excel-mcp.git
cd excel-mcp
bash install.sh
The install script will:
- Check for Python 3.10+ and install
uvif needed - Install all dependencies in an isolated virtual environment
- Configure Claude Desktop automatically
- Create the data directory at
~/Documents/Excel Analytics/
How to Use
1. Upload Your Data
Open the dashboard at http://localhost:8765 (starts automatically when Claude Desktop launches 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
How It Works
Claude Desktop ←→ MCP Server (stdio) ←→ SQLite DB
↓
REST API (port 8765) ←→ Web Dashboard
- MCP Server communicates with Claude Desktop via stdio (the Model Context Protocol)
- REST API runs in a background thread on
localhost:8765to power the dashboard - SQLite stores your data locally — Excel/CSV files are converted on upload
- Both the MCP server and dashboard share the same database and tool registry
Data Ingestion
When you upload an Excel file:
- Each sheet becomes a separate SQLite table
- Column names are cleaned (lowercase, underscores)
- Numeric columns are auto-detected and properly typed
- Headers are auto-detected (no manual configuration needed)
Available Tools
Core Tools (always available)
| Tool | Description |
|---|---|
list_datasets | Show all loaded tables with row/column counts |
describe_dataset | Column names, types, sample values, and basic stats |
query | Run read-only SQL queries against your data |
summarize | Statistical summary of a table or specific column |
Meta Tools (for building your toolkit)
| Tool | Description |
|---|---|
save_analysis | Save a SQL query as a reusable named 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 |
Dynamic Tools
Tools you create (via Claude or the dashboard) are saved as JSON files and automatically registered as MCP tools on startup. They persist across sessions and can be shared.
Dashboard
The web dashboard at http://localhost:8765 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
The dashboard is a single HTML file with no build step — it works in any modern browser.
Where Your Data Lives
All data stays on your machine in a visible, browsable folder:
| Path | Purpose |
|---|---|
~/Documents/Excel Analytics/data.db | SQLite database with all your uploaded data |
~/Documents/Excel Analytics/tools/ | Saved analyses and custom tools (JSON files) |
~/Documents/Excel Analytics/output/ | Generated output files |
~/Documents/Excel Analytics/config.json | User configuration |
You can override the base directory with the EXCEL_MCP_HOME environment variable.
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 calls, no dangerous operations.
- Local only: All data stored in
~/Documents/Excel Analytics/. Nothing is sent to external servers. The MCP server communicates only with Claude Desktop on your machine. - No telemetry: No usage tracking, no analytics, no phone-home.
Configuration
Edit ~/Documents/Excel Analytics/config.json:
{
"port": 8765,
"auto_scan": false
}
| Setting | Default | Description |
|---|---|---|
port | 8765 | Dashboard port |
auto_scan | false | Auto-scan a directory for Excel files on startup |
Development
git clone https://github.com/blakethom8/excel-mcp.git
cd excel-mcp
uv sync
uv run python -m excel_mcp
Requirements
- Python 3.10+
- Claude Desktop
- macOS, Windows, or Linux
License
MIT