English | 中文
An MCP (Model Context Protocol) service that dynamically generates chart configuration options for various charting libraries based on input data.
- Dynamically generates chart configurations supporting multiple chart types
- Provides a unified interface format for easy integration with various front-end charting libraries
- create_pie_chart_option
- create_line_chart_option
- create_column_chart_option
- create_area_chart_option
- create_bar_chart_option
- create_radar_chart_option
- create_funnel_chart_option
- create_histogram_chart_option
- create_scatter_chart_option
- create_boxplot_chart_option
The MCP Server can be automatically invoked by multiple MCP-compatible clients, such as:
- Claude Desktop / VSCode / Cursor / Cherry Studio / Cline, and others.
{
"mcpServers": {
"mcp-chart-option": {
"command": "npx",
"args": ["-y", "mcp-chart-option"]
}
}
}{
"mcpServers": {
"mcp-chart-option": {
"command": "cmd",
"args": ["/c", "npx", "-y", "mcp-chart-option"]
}
}
}When the MCP client starts, it will automatically execute:
npx -y mcp-chart-optionto launch the service.
Install globally:
npm install -g mcp-chart-optionStart the server:
# Run with Streamable transport
mcp-chart-option --transport streamableAfter startup, the service will be available at:
- Streamable endpoint:
http://localhost:1755/mcp
Enter the docker directory:
cd dockerStart the container:
docker compose up -dAccess the service at:
- Streamable endpoint:
http://localhost:1755/mcp
MCP Chart Option CLI
Options:
--transport, -t Specify the transport protocol: "stdio" or "streamable" (default: "stdio")
--host, -h Specify the host for streamable transport (default: localhost)
--port, -p Specify the port for streamable transport (default: 1755)
--endpoint, -e Specify the transport endpoint (default: "/mcp")
--component, -c Specify the chart component library to use, e.g., "echarts" (default: "echarts")
--help, -H Show this help message
Input Example:
{
"name": "create_pie_chart_option",
"arguments": {
"data": [
{ "name": "Category A", "value": 17 },
{ "name": "Category B", "value": 55 }
]
}
}Output Example (ECharts option):
{
"series": [
{
"type": "pie",
"data": [
{ "name": "Category A", "value": 17 },
{ "name": "Category B", "value": 55 }
]
}
]
}