Bencockin/highcharts_mcp
If you are the rightful owner of highcharts_mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Highcharts Dashboards MCP Server is an advanced server that enables AI agents to generate interactive, analytics-grade dashboards using Highcharts.
Highcharts Dashboards MCP Server
An advanced Model Context Protocol (MCP) server that enables AI agents (such as Claude Desktop) to generate analytics-grade, interactive dashboards.
Unlike standard static chart generation, this server orchestrates a Highcharts Dashboard using a DataPool architecture, enabling client-side filtering and synchronisation between charts without re-prompting the LLM.
🚀 Features
-
Dynamic Orchestration
Generates the JSON schema for Highcharts Dashboards rather than static images. -
DataPool Architecture
Separates data fetching from visualisation, allowing multiple charts to consume the same data source efficiently. -
5+ Supported Chart Types
- Line – Time-series trends with zoom synchronisation.
- Column – Categorical comparisons with drill-down capabilities.
- Pie – Proportional distribution with key-based mapping.
- Scatter – Correlation analysis with highlight synchronisation.
- KPI – “Glanceable” metrics for headers.
-
Interactive Filtering
Injects custom HTML/JS components to filter data at runtime (e.g. “Filter by Region”) using Highcharts DataModifiers. -
Synchronisation
Built-in support forhighlight,visibility, andextremessyncing across all components.
🛠️ Architecture
This server implements a DataPool-first approach:
-
The Server
Built withFastMCPandPydanticfor strict schema validation. -
The Transport
Communicates viastdio(standard input/output) for secure local execution. -
The Output
Returns a strictly formatted JSON configuration that defines:- A
DataPoolwith CSV/JSON connectors - A
GUIlayout (rows/cells) - A list of
componentsmapped to the connectors
- A
📦 Installation & Setup
1. Clone the repository and create a virtual environment
git clone https://github.com/Bencockin/highcharts_mcp.git
cd highcharts_mcp
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
2. Configure Claude Desktop
Open your config file:
~/Library/Application\ Support/Claude/claude_desktop_config.json
Add this entry (update the paths to match your user folder):
{
"mcpServers": {
"highcharts": {
"command": "/Users/YOUR_USER/highcharts_mcp/venv/bin/python",
"args": [
"/Users/YOUR_USER/highcharts_mcp/server.py"
]
}
}
}
3. Restart Claude
Quit and reopen Claude Desktop. Look for the 🔌 icon.
💡 Usage Example
Prompt:
"Create a dashboard for Global Sales using this data: https://www.google.com/search?q=https://demo-live-data.highcharts.com/vs-sales.json. I need a Line chart for trends, a Pie chart for regional split, and a KPI for total revenue. Please add a filter for the 'Region' column."
What happens:
-
Claude sends the request to the MCP server.
-
The Server constructs the valid Highcharts JSON with a Filter modifier.
-
Claude renders the dashboard artifacts.
You can use the dropdown in the dashboard to filter data instantly.
📄 License
MIT