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.
🔗 Links
Metadata
Release files for visidata-mcp 0.1.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| visidata_mcp-0.1.7.tar.gz | 16.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| visidata_mcp-0.1.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 31.1 kB
Release files / visidata_mcp-0.1.7.tar.gz
| Download URL | visidata_mcp-0.1.7.tar.gz |
|---|---|
| Size | 16.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
24cb9d232857c50789b7e69b7cddd4b4f7accf39282ab3e180fe6a86f89bd7eb
|
|
BLAKE2b-256 checksum How to use checksums |
10877945015770fef531f79be23045d9a079fee9e3350ee6b8e769c43ec3980d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.11
|
Release files / visidata_mcp-0.1.7-py3-none-any.whl
| Download URL | visidata_mcp-0.1.7-py3-none-any.whl |
|---|---|
| Size | 15.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
339382614390cd3611c3879c300085f84b171c81af04a92f8efc5ebeb36a917b
|
|
BLAKE2b-256 checksum How to use checksums |
30128dc30c5de471cda954371c46ed4e35506218ac45c0906952ccb169be803e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.11
|
Security for visidata-mcp 0.1.7
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.