Allows running the VChart MCP server as a standalone Node.js application with SSE or Streamable transport, enabling integration with web-based AI applications beyond desktop clients.
A Model Context Protocol (MCP) server for the @visactor/vchart that enables AI assistants to generate interactive charts and visualizations.
English | 简体中文
Table of Contents
Related MCP server: MCP Server Chart
Features
Chart Output Formats
Each chart can be generated in multiple formats:
Image - PNG/JPG image format for embedding (default)
Spec - VChart spec object for programmatic use
HTML - Interactive HTML chart for web display
Common Parameters Supported by All Charts
Parameter | Description | Type/Options | Default |
| Output format |
|
|
|
|
| Chart width | Number |
|
| Chart height | Number |
|
| Chart title | String | Optional |
| Chart subtitle | String | Optional |
| Title position | String | Optional |
| Chart theme | String | Optional |
| Background color | String | Optional |
| Color palette | Array/String | Optional |
Supported Chart Types and Tools
generate_cartesian_chart
Generates Cartesian coordinate system charts, including area, bar, line, waterfall, funnel, and animated ranking bar charts.
Parameter | Description | Type | Required |
| Data object array | Array | Yes |
| Chart type |
|
|
|
|
|
| Yes |
| X axis field name |
| Yes |
| Y axis field name |
| Yes |
| Color mapping field |
| Optional |
| Time field for animated ranking bar chart |
| Optional |
| Stack or percent mode |
|
| Optional |
| Display bar chart horizontally (as bar chart) |
| Optional |
| X axis type |
|
| Optional |
| X axis position |
|
| Optional |
| X axis title |
| Optional |
| Show X axis grid lines |
| Optional |
| Show X axis labels |
| Optional |
| Show X axis ticks |
| Optional |
| Y axis type |
|
| Optional |
| Y axis position |
|
| Optional |
| Y axis title |
| Optional |
| Show Y axis grid lines |
| Optional |
| Show Y axis labels |
| Optional |
| Show Y axis ticks |
| Optional |
generate_polar_chart
Generates polar coordinate system charts, including radar, rose, and pie charts.
Parameter | Description | Type/Options | Required |
| Data object array | Array | Yes |
| Chart type |
|
|
| Yes |
| Category field name |
| Yes |
| Value field name |
| Yes |
| Color mapping field |
| Optional |
| Angle axis title |
| Optional |
| Show angle axis grid lines |
| Optional |
| Show angle axis labels |
| Optional |
| Show angle axis ticks |
| Optional |
| Angle axis type |
|
| Optional |
| Radius axis title |
| Optional |
| Show radius axis grid lines |
| Optional |
| Show radius axis labels |
| Optional |
| Show radius axis ticks |
| Optional |
| Radius axis type |
|
| Optional |
generate_hierarchical_chart
Generates hierarchical charts, including treemap, circle packing, and sunburst charts.
Parameter | Description | Type/Options | Required |
| Data object array | Array | Yes |
| Chart type |
|
|
| Yes |
| Color mapping field |
| Yes |
| Value mapping field |
| Yes |
generate_progress_chart
Generates progress charts, including circular, linear, gauge, and liquid charts.
Parameter | Description | Type/Options | Required |
| Data object array | Array | Yes |
| Chart type |
|
|
|
| Yes |
| Progress value field name |
| Yes |
| Color mapping field (optional for liquid, required otherwise) |
| Optional |
generate_wordcloud_venn
Generates word cloud or Venn diagrams, suitable for displaying keywords and frequencies in text data.
Parameters:
Parameter | Description | Type/Options | Required |
| Data object array | Array | Yes |
| Chart type |
|
| Yes |
| Text field or Venn set field name |
| Yes |
| Value field name (required for Venn) |
| Optional |
generate_range_column_chart
Generates horizontal range bar charts, suitable for displaying data ranges and comparisons.
Parameter | Description | Type/Options | Required |
| Data object array |
| Yes |
| Category field name |
| Yes |
| Value field names |
| Yes |
| Color mapping field |
| Optional |
| X axis type |
|
| Optional |
| X axis position |
|
| Optional |
| X axis title |
| Optional |
| Show X axis grid lines |
| Optional |
| Show X axis labels |
| Optional |
| Show X axis ticks |
| Optional |
| Y axis type |
|
| Optional |
| Y axis position |
|
| Optional |
| Y axis title |
| Optional |
| Show Y axis grid lines |
| Optional |
| Show Y axis labels |
| Optional |
| Show Y axis ticks |
| Optional |
generate_dual_axis_chart
Combination chart with two Y axes, for comparing two metrics with different units.
Parameter | Description | Type/Options | Required |
| Data object array |
| Yes |
| X axis field name |
| Yes |
| Two Y axis field names |
| Yes |
| Color mapping field |
| Optional |
| Stack or percent mode |
|
| Optional |
| X axis position |
|
| Optional |
| X axis title |
| Optional |
| Show X axis grid lines |
| Optional |
| Show X axis labels |
| Optional |
| Show X axis ticks |
| Optional |
| Left Y axis title |
| Optional |
| Left Y axis grid lines |
| Optional |
| Left Y axis labels |
| Optional |
| Left Y axis ticks |
| Optional |
| Right Y axis title |
| Optional |
| Right Y axis grid lines |
| Optional |
| Right Y axis labels |
| Optional |
| Right Y axis ticks |
| Optional |
generate_scatter_chart
Displays the relationship between two variables, suitable for discovering patterns and outliers.
Parameter | Description | Type/Options | Required |
| Data object array |
| Yes |
| X axis field name |
| Yes |
| Y axis field name |
| Yes |
| Color mapping field |
| Optional |
| Size mapping field |
| Optional |
| X axis type |
|
| Optional |
| X axis position |
|
| Optional |
| X axis title |
| Optional |
| Show X axis grid lines |
| Optional |
| Show X axis labels |
| Optional |
| Show X axis ticks |
| Optional |
| Y axis type |
|
| Optional |
| Y axis position |
|
| Optional |
| Y axis title |
| Optional |
| Show Y axis grid lines |
| Optional |
| Show Y axis labels |
| Optional |
| Show Y axis ticks |
| Optional |
generate_sankey_chart
Generates Sankey diagrams.
Parameter | Description | Type | Required |
| Data object array |
| Yes |
| Source node field |
| Yes |
| Target node field |
| Yes |
| Value field |
| Yes |
generate_heatmap_chart
Generates heatmaps, suitable for displaying data density and distribution.
Parameter | Description | Type/Options | Required |
| Data object array |
| Yes |
| X axis field name |
| Yes |
| Y axis field name |
| Yes |
| Value field name |
| Yes |
| X axis type |
|
| Optional |
| X axis position |
|
| Optional |
| X axis title |
| Optional |
| Show X axis grid lines |
| Optional |
| Show X axis labels |
| Optional |
| Show X axis ticks |
| Optional |
| Y axis type |
|
| Optional |
| Y axis position |
|
| Optional |
| Y axis title |
| Optional |
| Show Y axis grid lines |
| Optional |
| Show Y axis labels |
| Optional |
| Show Y axis ticks |
| Optional |
Usage
To use in desktop applications (such as Trae, Claude, VSCode, Cline, Cherry Studio, Cursor, etc.), add the following MCP server configuration:
MacOS
Windows
Installing via Smithery
To install vchart-mcp-server for Claude Desktop automatically via Smithery:
Running with SSE or Streamable Transport
Install and Start
Install @visactor/vchart-mcp-server globally:
Start the server:
Then you can access the server at:
SSE transport:
http://localhost:3001/sseStreamable transport:
http://localhost:3001/streamable
Other CLI Options
Example Usage in AI Conversations
Once configured, you can ask your AI assistant to create charts:
"Create an area chart showing monthly sales data"
"Generate a dual-axis chart comparing revenue and user growth"
"Show me an interactive HTML bar chart of quarterly performance"
"Create a pie chart of product sales share"
"Draw a scatter plot of height and weight"
"Create a radar chart for team skill assessment"
"Generate a Sankey diagram showing data flow"
"Create a heatmap showing data distribution"
Development
Prerequisites
Node.js version >= 22.7.5
Build
Development Mode (Auto Rebuild)
Testing
Debugging
Since the MCP server communicates via stdio, debugging can be challenging. Use MCP Inspector for development:
Testing in AI Editors
To test the MCP server in an AI editor, use the following configuration:
Environment Variables
VIMD_IMAGE_SERVER- Custom image generation server URL (default: https://vmind.visactor.com/export)
Private Deployment
Currently, images and HTML generated by vchart-mcp-server are produced via https://vmind.visactor.com/export. For private deployment, set the VIMD_IMAGE_SERVER environment variable to specify your own image generation server.
License
MIT License
Contributing
Contributions are welcome! Please feel free to submit issues and pull requests.
Related Projects
VChart - Underlying visualization library
Model Context Protocol - Protocol specification