holoviz-viz-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| load_dataA | Load data into the server from CSV text, JSON text, or a URL. Supports CSV, JSON, Parquet, and Excel formats. For URL loading, the format is auto-detected from the file extension. |
| list_datasetsA | List all loaded datasets with their shapes and column names. |
| analyze_dataC | Generate a comprehensive data profile for a loaded dataset. |
| suggest_visualizationsB | Suggest appropriate visualization types based on data characteristics. |
| load_sample_dataA | Load a built-in sample dataset for quick demos. |
| transform_dataC | Transform a dataset using common operations. Saves the result as a new dataset. |
| merge_datasetsB | Merge two datasets together on a common column. |
| create_plotA | Create an interactive plot from a loaded dataset. Returns both a PNG preview (for inline chat display) and interactive HTML (as an embedded resource for full interactivity). |
| modify_plotB | Modify an existing plot's appearance. Returns updated PNG + HTML. |
| undo_plotA | Undo the last modification to a plot. Returns the previous version. |
| list_plotsA | List all created plots with their IDs, types, and version counts. |
| execute_codeA | Execute arbitrary hvPlot/HoloViews/Panel code and return the result. This is the power-user escape hatch for visualizations that go beyond the structured tools — linked selections, overlays, custom widgets, etc. The code must assign the final visualization to a variable named |
| create_crossfilterA | Create a linked crossfilter dashboard where selections in one view filter all others. This is a HoloViews killer feature: brush/select points in any plot and all other plots update in real time to show only the matching data. Only possible with Panel-native rendering. |
| create_streaming_plotA | Create a live-updating streaming visualization with simulated real-time data. The output is a self-contained HTML page with Panel periodic callbacks that simulates streaming data — the chart updates in real time. This works entirely client-side, no server needed. If a dataset is provided, the streaming simulation replays its data progressively. Otherwise, generates a random walk time series. |
| annotate_plotA | Add annotations and overlays to an existing plot. Useful for marking thresholds, highlighting regions, or adding reference lines and labels. |
| overlay_plotsA | Overlay multiple plots on top of each other (shared axes). Unlike a dashboard which places plots side by side, overlay composites them onto a single set of axes — useful for comparing distributions, showing model vs actual, etc. |
| create_datashader_plotA | Create a datashader-powered plot for large datasets (10K+ points). Rasterizes data into a pixel-density heatmap — works with millions of points where scatter plots would be unusable. Uses hvPlot's datashade integration. |
| time_series_analysisC | Analyze a time series with rolling statistics, trend detection, and decomposition. |
| handle_clickA | Process a click event on a chart and return AI-friendly insights. When a user clicks on a data point in a visualization, this tool analyzes the clicked point in context and returns insights about it. This enables bidirectional communication: the AI creates a chart, the user clicks a point, and the AI explains what that point means. |
| set_themeA | Set the global visualization theme for all subsequent plots. Affects the background color, font colors, and grid styling of new visualizations created after this call. |
| launch_panelA | Open a plot as a full interactive Panel app in the browser. This launches a local Panel server and opens the visualization in your default browser with full Panel interactivity — widgets, linked selections, and all Panel features that can't fit in an iframe. |
| stop_panelA | Stop a running Panel server launched by launch_panel. |
| create_dashboardA | Create a dashboard combining multiple plots. Returns PNG preview + interactive HTML with full Panel layout. Supports professional dashboard templates for polished output. |
| get_plot_htmlB | Get a plot as standalone interactive HTML for embedding. |
| export_plotA | Export a plot to a specified format and return the encoded content. Returns the exported content as base64 (for binary formats) or raw text (for HTML). The AI assistant can then save it to a file or display it. |
| auto_edaA | Run a complete exploratory data analysis in one call. Automatically generates distributions, correlations, categorical breakdowns, and a narrative summary with key insights. Returns a multi-panel dashboard. |
| statistical_testA | Run a statistical test and return results with a diagnostic plot. Supports t-test, correlation, regression, chi-square, and normality tests. Returns both numerical results (p-values, effect sizes) and a visualization. |
| data_quality_reportB | Generate a comprehensive data quality report with visualizations. Analyzes missing values, outliers, data types, uniqueness, and consistency. Returns a narrative report with diagnostic plots. |
| compare_datasetsA | Compare two datasets side-by-side: shapes, columns, distributions, and statistical differences. Useful for comparing train/test splits, before/after transformations, or different time periods. |
| natural_language_queryB | Interpret a natural language query about a dataset and return a structured plan. Analyzes the query against the dataset's columns and types to produce a step-by-step execution plan using the MCP tools. The AI assistant can then execute these steps. |
| describe_plotA | Generate a human-readable description of a plot for accessibility and context. Provides a natural language summary including chart type, axes, data range, notable patterns — useful for screen readers and AI context building. |
| clone_plotA | Create a copy of an existing plot that can be modified independently. Useful for creating variations of a visualization without altering the original. |
| get_data_sampleB | Get a sample of rows from a dataset as formatted text. Useful for providing data context to the AI or for quick inspection. |
| save_sessionA | Save the current session state (datasets + plot specs) to a JSON file. Allows resuming work later by loading the session back. Note: plot objects are not serialized — only specs and data are saved. |
| load_sessionA | Load a previously saved session, restoring datasets and plot specs. |
| generate_large_datasetA | Generate a large synthetic dataset for big-data visualization demos. Creates datasets with patterns that are only visible at scale — clusters, spirals, or random noise — perfect for datashader showcases. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| eda_workflow | Step-by-step exploratory data analysis workflow. |
| crossfilter_workflow | Guide for creating a crossfilter exploration dashboard. |
| data_quality_workflow | Guide for comprehensive data quality assessment. |
| statistical_analysis_workflow | Guide for rigorous statistical analysis with hypothesis testing. |
| storytelling_workflow | Guide for creating a data storytelling dashboard. |
| time_series_workflow | Guide for time series analysis and visualization. |
| big_data_workflow | Guide for visualizing large datasets with datashader. |
| comparison_workflow | Guide for comparing multiple datasets or groups. |
| dashboard_design_workflow | Guide for designing a polished, presentation-ready dashboard. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Chart Viewer | Interactive chart viewer with toolbar — theme toggle, save, open in browser |
| Dashboard Viewer | Multi-panel dashboard viewer with summary stats and theme toggle |
| Live Stream Viewer | Live-updating streaming chart viewer with status indicators |
| Crossfilter Viewer | Linked selections viewer — brush in one plot to filter all others |
| EDA Report Viewer | Auto-EDA report with tabbed insights and multi-chart exploration |
| Statistics Viewer | Statistical test results with p-value highlights and diagnostic plots |
| Time Series Viewer | Time series analysis with metrics, trend decomposition, and anomaly detection |
| Data Quality Viewer | Data quality report with score gauge, issue cards, and diagnostic charts |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ghostiee-11/holoviz-viz-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server