Skip to main content

MCP server for VisiData - a terminal spreadsheet multitool for discovering and arranging tabular data

Project description

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 visualizations
  • create_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 encoding
  • analyze_skills_by_location - Comprehensive skills frequency and distribution analysis by location
  • create_skills_location_heatmap - Visual heatmap showing skills distribution across locations
  • analyze_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 formats
  • get_data_sample - Get a preview of your data with configurable row count
  • analyze_data - Perform comprehensive data analysis with column types and statistics
  • convert_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 columns
  • sort_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

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

visidata_mcp-0.1.7.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

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

visidata_mcp-0.1.7-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

File details

Details for the file visidata_mcp-0.1.7.tar.gz.

File metadata

  • Download URL: visidata_mcp-0.1.7.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for visidata_mcp-0.1.7.tar.gz
Algorithm Hash digest
SHA256 24cb9d232857c50789b7e69b7cddd4b4f7accf39282ab3e180fe6a86f89bd7eb
MD5 a4d23b3e36fe8d08072b2fc0857d50e5
BLAKE2b-256 10877945015770fef531f79be23045d9a079fee9e3350ee6b8e769c43ec3980d

See more details on using hashes here.

File details

Details for the file visidata_mcp-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: visidata_mcp-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 15.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for visidata_mcp-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 339382614390cd3611c3879c300085f84b171c81af04a92f8efc5ebeb36a917b
MD5 50ad495302c4a0c3f4a48d731f83641b
BLAKE2b-256 30128dc30c5de471cda954371c46ed4e35506218ac45c0906952ccb169be803e

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