VisiData MCP Server
A Model Context Protocol (MCP) server that provides access to VisiData functionality with enhanced data visualization and analysis capabilities.
🚀 Features
📊 Data Visualization
create_correlation_heatmap
- Generate correlation matrices with beautiful heatmap visualizationscreate_distribution_plots
- Create statistical distribution plots (histogram, box, violin, kde)create_graph
- Custom graphs (scatter, line, bar, histogram) with categorical grouping support
🧠 Advanced Skills Analysis
parse_skills_column
- Parse comma-separated skills into individual skills with one-hot encodinganalyze_skills_by_location
- Comprehensive skills frequency and distribution analysis by locationcreate_skills_location_heatmap
- Visual heatmap showing skills distribution across locationsanalyze_salary_by_location_and_skills
- Advanced salary statistics by location and skills combination
🔧 Core Data Tools
load_data
- Load and inspect data files from various formatsget_data_sample
- Get a preview of your data with configurable row countanalyze_data
- Perform comprehensive data analysis with column types and statisticsconvert_data
- Convert between different data formats (CSV ↔ JSON ↔ Excel, etc.)filter_data
- Filter data based on conditions (equals, contains, greater/less than)get_column_stats
- Get detailed statistics for specific columnssort_data
- Sort data by any column in ascending or descending order
📦 Installation
🚀 Quick Install (Recommended)
npm install -g @moeloubani/visidata-mcp@beta
Prerequisites: Python 3.10+ (the installer will check and guide you if needed)
Alternative: Python Install
pip install visidata-mcp
Development Install
git clone https://github.com/moeloubani/visidata-mcp.git
cd visidata-mcp
pip install -e .
⚙️ Configuration
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json
:
{
"mcpServers": {
"visidata": {
"command": "visidata-mcp"
}
}
}
Cursor AI
Create .cursor/mcp.json
in your project:
{
"mcpServers": {
"visidata": {
"command": "visidata-mcp"
}
}
}
Restart your AI application after configuration changes.
🎯 Example Usage
Data Visualization
# Create a correlation heatmap
create_correlation_heatmap("sales_data.csv", "correlation_heatmap.png")
# Generate distribution plots for all numeric columns
create_distribution_plots("sales_data.csv", "distributions.png", plot_type="histogram")
# Create a scatter plot with categorical grouping
create_graph("sales_data.csv", "price", "sales", "scatter_plot.png",
graph_type="scatter", category_column="region")
Skills Analysis
# Parse comma-separated skills into individual columns
parse_skills_column("jobs.csv", "required_skills", "skills_parsed.csv")
# Analyze skills distribution by location
analyze_skills_by_location("jobs.csv", "required_skills", "location", "skills_analysis.json")
# Create skills-location heatmap
create_skills_location_heatmap("jobs.csv", "required_skills", "location", "skills_heatmap.png")
# Comprehensive salary analysis
analyze_salary_by_location_and_skills("jobs.csv", "salary", "location", "required_skills", "salary_analysis.xlsx")
Basic Data Operations
# Load and analyze data
load_data("data.csv")
get_data_sample("data.csv", 10)
analyze_data("data.csv")
# Transform data
convert_data("data.csv", "data.json")
filter_data("data.csv", "revenue", "greater_than", "1000", "high_revenue.csv")
sort_data("data.csv", "date", False, "sorted_data.csv")
📊 Supported Data Formats
- Spreadsheets: CSV, TSV, Excel (XLSX/XLS)
- Structured Data: JSON, JSONL, XML, YAML
- Databases: SQLite
- Scientific: HDF5, Parquet, Arrow
- Archives: ZIP, TAR, GZ, BZ2, XZ
- Web: HTML tables
🔧 Troubleshooting
Common Issues
"No module named 'matplotlib'"
- Make sure you're using the correct MCP server path
- For local development:
/path/to/visidata-mcp/venv/bin/visidata-mcp
- Restart your AI application after configuration changes
"0 tools available"
- Verify the MCP server path in your configuration
- Check that Python 3.10+ is installed
- Restart your AI application completely
Verification
Test your installation:
# Check if server starts
visidata-mcp
# Test with Python
python -c "from visidata_mcp.server import main; print('✅ Server ready')"
🎨 Key Features
- ✅ Complete visualization support with matplotlib, seaborn, and scipy
- ✅ Advanced skills analysis for job market and HR data
- ✅ Skills-location correlation analysis and visualization
- ✅ Salary analysis by location and skills combination
- ✅ Enhanced error handling with dependency validation
- ✅ Publication-ready visualizations (300 DPI PNG output)
📈 Use Cases
Job Market Analysis
- Skills demand analysis by geographic location
- Salary benchmarking across locations and skill sets
- Market trend visualization with correlation analysis
Data Science Workflows
- Complete statistical analysis pipeline
- Publication-ready visualizations
- Advanced text processing for categorical data
Business Intelligence
- Location-based performance analysis
- Skills gap identification
- Compensation analysis and benchmarking
🛠 Development
# Install for development
git clone https://github.com/moeloubani/visidata-mcp.git
cd visidata-mcp
pip install -e .
# Build package
python -m build
# Run tests
python -c "from visidata_mcp.server import main; print('✅ Ready')"
📄 License
MIT License - see LICENSE for details.