MCP Data Visualization Server
Generate interactive data visualizations from natural language queries on a DuckDB database.
šÆ MCP Data Visualization Server
Transform natural language into beautiful, interactive data visualizations using Claude Desktop with DuckDB and Databricks support - one-command installation!
⨠Features
- š One-Command Installation -
pip install mcp-visualization-duckdb - š§ Automatic Configuration - Automatically sets up Claude Desktop
- š£ļø Natural Language Interface - Chat with Claude to create visualizations
- š Interactive Charts - Plotly-powered HTML widgets
- š¢ Databricks Integration - Connect to Databricks SQL warehouses with secure credential management
- šļø DuckDB Support - Local database with CSV import and interactive browser
- š Multi-Database - Seamlessly switch between DuckDB and Databricks
- š§ Rule-Based Analysis - Smart chart suggestions without external LLM dependencies
- š Multiple Chart Types - Bar, line, scatter, pie, histogram, box plots, heatmaps, and area charts
- š Smart Insights - Automatic statistical analysis and pattern detection
- š”ļø Security First - SQL injection protection, encrypted credential storage
- ā” No External Dependencies - Works entirely offline with Claude Desktop
š Quick Installation
Option A: DuckDB (Local Database)
# 1. Install the package (includes DuckDB and all dependencies)
pip install mcp-visualization-duckdb
# 2. Configure Claude Desktop automatically
mcp-viz configure
# 3. Restart Claude Desktop and start chatting!
That's it! No manual configuration needed.
Note: DuckDB and all other dependencies are automatically installed with the package. No separate database installation required!
Option B: Databricks (Enterprise Data Warehouse)
# 1. Install the package
pip install mcp-visualization-duckdb
# 2. Configure Databricks credentials (secure, interactive setup)
mcp-viz databricks configure
# 3. Configure Claude Desktop (auto-detects Databricks)
mcp-viz configure
# 4. Restart Claude Desktop and start chatting!
For Databricks, you'll need:
- Databricks workspace hostname (e.g.,
your-company.cloud.databricks.com) - SQL warehouse HTTP path (e.g.,
/sql/1.0/warehouses/abc123) - Personal access token (generated in Databricks User Settings > Developer > Access Tokens)
š Security: Credentials are stored securely using your system keyring or encrypted files. Tokens are never stored in plain text or command history.
What the installer does automatically:
- ā Detects your platform (Windows/Mac/Linux)
- ā Finds Claude Desktop config automatically
- ā Auto-detects database type (DuckDB or Databricks)
- ā Sets up database with sample data (DuckDB)
- ā Securely stores credentials (Databricks)
- ā Configures paths correctly
- ā Creates backups of existing config
- ā Validates setup to ensure it works
š After Installation
Once installed, you'll see detailed instructions with:
- Next steps for your chosen database type
- Quick start commands
- Sample database links
- Example queries to try
Run mcp-viz-setup anytime to see the post-installation guide again!
š Ongoing Usage (After Setup)
ā One-Time Setup Only
# Run these commands ONCE:
mcp-viz databricks configure # First time Databricks setup
mcp-viz configure # Configure Claude Desktop
# Restart Claude Desktop
š Daily Usage - No Reconfiguration Needed
# Just open Claude Desktop and start chatting:
"What Databricks catalogs are available?"
"List tables in the sales catalog"
"Create a chart of revenue by region"
š Check Status Anytime
mcp-viz databricks status # Shows if credentials exist
mcp-viz databricks test # Test connection and browse catalogs
mcp-viz status # Shows MCP server configuration
š When You Need to Reconfigure
- ā Token expires (personal access tokens can have expiration dates)
- ā Change workspaces (different Databricks instance)
- ā Change SQL warehouses (different HTTP path)
- ā Credential issues (run
mcp-viz databricks removethen reconfigure)
š¾ Secure Credential Storage
- š Encrypted on disk or in system keyring
- š Automatically loaded when Claude Desktop starts
- ā” No repeated authentication needed
š Note: After initial setup, you should be able to use Claude Desktop normally without any additional configuration steps!
š® Usage with Claude Desktop
After installation, simply chat with Claude using natural language:
Data Analysis
- "What tables are available?" - List database tables
- "What Databricks catalogs are available?" - Browse Databricks catalogs
- "Show me schemas in the sales catalog" - List schemas
- "Analyze the sales table" - Get table information
- "Show me the top 10 products by revenue" - Query data
Creating Visualizations
- "Create a bar chart of sales by region" - Generate charts
- "Show me the correlation between price and quantity" - Scatter plots
- "Make a pie chart of customer segments" - Category breakdowns
- "Visualize sales trends over time" - Time series analysis
Database Management
DuckDB:
- "Browse databases in my Downloads folder" - Interactive database browser
- "Connect to C:/path/to/mydata.duckdb" - Switch databases
- "Load CSV from Downloads/sales.csv as table 'sales'" - Import data
Databricks:
- "Switch to the marketing catalog" - Navigate catalogs
- "List schemas in the sales catalog" - Browse schemas
- "What database am I connected to?" - Connection info
š§ CLI Commands
The package includes a powerful CLI:
# Configuration
mcp-viz configure # Interactive setup (auto-detects database type)
mcp-viz configure --auto # Automatic setup with defaults
mcp-viz status # Check configuration status
# Management
mcp-viz test # Test server functionality
mcp-viz remove # Remove server from Claude Desktop
# DuckDB Database
mcp-viz create-db # Create sample database
mcp-viz create-db --path ./my-data.duckdb # Create at specific path
# Databricks Integration
mcp-viz databricks configure # Setup Databricks credentials (interactive)
mcp-viz databricks status # Check Databricks connection status
mcp-viz databricks test # Test connection and browse catalogs
mcp-viz databricks remove # Remove stored credentials
š Supported Chart Types
| Chart Type | Use Case | Example Request |
|---|---|---|
| Bar | Compare categories | "Show sales by region" |
| Line | Show trends over time | "Plot revenue over months" |
| Scatter | Explore relationships | "Price vs quantity relationship" |
| Pie | Show proportions | "Customer segment breakdown" |
| Histogram | Analyze distributions | "Distribution of order values" |
| Box | Compare distributions | "Price ranges by category" |
| Heatmap | Show correlations | "Correlation matrix of metrics" |
| Area | Cumulative trends | "Cumulative sales over time" |
š ļø Troubleshooting
"Server not found" in Claude Desktop
# Check configuration status
mcp-viz status
# Reconfigure if needed
mcp-viz configure --force
# Restart Claude Desktop completely
"Unknown tool" errors
# Test server functionality
mcp-viz test
# Check if all dependencies are installed
pip install --upgrade mcp-visualization-duckdb
Database issues
# Create a fresh database with sample data
mcp-viz create-db
# Check current configuration
mcp-viz status
š§ Advanced Configuration
Custom Database Path
The installer will prompt you for a database location, or you can specify it:
# During configuration
mcp-viz configure
# Database path [/home/user/.mcp-visualization/data.duckdb]: /path/to/my/data.duckdb
Multiple Databases
You can easily switch between databases using Claude Desktop:
- "Browse databases in Documents folder"
- "Connect to /path/to/another/database.duckdb"
- "What database am I currently connected to?"
š¾ Sample Data
šÆ Built-in Sample Data
The package automatically creates sample data including:
- Sales Data - 365 days of sales across regions and products
- Customer Data - 1000 customer records with demographics
- Product Data - 100 products with categories and pricing
š Additional Sample Databases
Want more data to explore? Check out these high-quality sample databases:
TimeStored Sample DuckDB Databases
Available datasets include:
- Financial Data - Stock prices, trading data, market analysis
- NYC Taxi - Real NYC taxi trip records with geospatial data
- TPC-H Benchmark - Standard database performance testing data
- E-commerce - Product catalogs, orders, customer behavior
- IoT Sensor Data - Time-series sensor readings and telemetry
Simply download any .duckdb file and load it:
# Download a sample database, then:
"Load database from Downloads/nyc-taxi.duckdb"
"What tables are available in this database?"
"Create a heatmap of taxi pickups by hour and day"
Perfect for testing, learning, and demonstrating data visualization capabilities!
šļø Development Setup
For developers who want to contribute:
# Clone repository
git clone https://github.com/your-github-username/mcp-visualization-duckdb.git
cd mcp-visualization-duckdb
# Install in development mode
pip install -e .
# Configure for development
mcp-viz configure
# Run tests
python test_package.py
See Development Guide for detailed instructions.
ā Frequently Asked Questions
Q: Do I need to run mcp-viz databricks configure every time?
A: No! You only run it once during initial setup. After that:
- ā Credentials are stored securely and auto-loaded
- ā Just open Claude Desktop and start chatting
- ā No repeated authentication needed
Q: How do I know if my Databricks is still connected?
A: Check anytime with:
mcp-viz databricks status # Shows connection status
mcp-viz databricks test # Tests connection and shows catalogs
Q: When do I need to reconfigure?
A: Only when:
- Your access token expires
- You change Databricks workspaces
- You switch to a different SQL warehouse
- Credentials get corrupted (rare)
Q: Are my credentials safe?
A: Yes! Credentials are:
- š Encrypted on disk or stored in system keyring
- š« Never stored in plain text or command history
- ā” Automatically loaded when needed
Q: Can I use both DuckDB and Databricks?
A: Yes! The server auto-detects which database type to use:
- Configure Databricks:
mcp-viz databricks configure - Configure DuckDB:
mcp-viz configure - Server automatically uses the appropriate one
š¦ Package Information
- PyPI: https://pypi.org/project/mcp-visualization-duckdb/
- Repository: https://github.com/your-github-username/mcp-visualization-duckdb
- License: MIT
š¤ Contributing
We welcome contributions! The package is structured for easy development:
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests:
python test_package.py - Submit a pull request
š Acknowledgments
- Model Context Protocol by Anthropic
- DuckDB for fast analytical processing
- Plotly for interactive visualizations
- Claude Desktop for the amazing AI interface
Ready to transform your data analysis with Claude Desktop?
pip install mcp-visualization-duckdb && mcp-viz configure
š That's it! Start chatting with Claude about your data!
Related Servers
Materials Project MCP
Query the Materials Project database using the mp_api client. Requires an MP_API_KEY environment variable.
MCP Memory Server - Python Implementation
A Python implementation of the MCP memory server for knowledge graph storage and retrieval, using JSONL files for persistence.
mcp-database-server
Production-grade Model Context Protocol (MCP) server for unified SQL database access. Connect multiple databases through a single MCP server with schema discovery, relationship mapping, caching, and safety controls.
Supabase Memory Service
A memory service using Supabase PostgreSQL with pgvector for semantic search and knowledge graph storage.
MCP Yahoo Finance
Access real-time stock prices, company information, and financial data from Yahoo Finance.
Finance MCP Server
Provides real-time financial data from Yahoo Finance.
Binance Cryptocurrency MCP
Access Binance cryptocurrency market data, including prices, candlestick charts, and order books.
Servidor RAG Personal con MCP
A server for Retrieval Augmented Generation (RAG), providing AI clients access to a private knowledge base built from user documents.
Ashare-MCP
A stock market data service for querying A-share market data from Sina and Tencent Finance.
memory-mcp
A simple MCP server that stores and retrieves memories from multiple LLMs.