MCP Server Chart
OfficialThe MCP Server Chart is a TypeScript-based tool for generating various types of charts using AntV. With this server, you can:
Generate 15+ chart types including line, column, pie, area, bar, dual-axes, fishbone diagram, flow diagram, histogram, mind map, network graph, radar, scatter, treemap, and word cloud charts
Generate chart images and receive an image URL for the created visualization
Use it with MCP-compatible Desktop Applications via
npxcommand configurationAccess it on cloud platforms like Aliyun, ModelScope, glama.ai, and smithery.ai via HTTP or SSE protocols
Run it locally using SSE transport
Deploy privately by configuring a custom visualization request server
Provides chart generation capabilities using AntV visualization libraries, supporting line, column, pie, and area chart creation with returned URLs to the generated charts.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Server Chartgenerate a bar chart showing monthly sales data for 2024"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Server Chart
A Model Context Protocol server for generating charts using AntV. We can use this mcp server for chart generation and data analysis.
This is a TypeScript-based MCP server that provides chart generation capabilities. It allows you to create various types of charts through MCP tools. You can also use it in Dify.
📋 Table of Contents
Related MCP server: Quickchart-MCP-Server
✨ Features
Now 26+ charts supported.
generate_area_chart: Generate anareachart, used to display the trend of data under a continuous independent variable, allowing observation of overall data trends.generate_bar_chart: Generate abarchart, used to compare values across different categories, suitable for horizontal comparisons.generate_boxplot_chart: Generate aboxplot, used to display the distribution of data, including the median, quartiles, and outliers.generate_column_chart: Generate acolumnchart, used to compare values across different categories, suitable for vertical comparisons.generate_district_map- Generate adistrict-map, used to show administrative divisions and data distribution.generate_dual_axes_chart: Generate adual-axeschart, used to display the relationship between two variables with different units or ranges.generate_fishbone_diagram: Generate afishbonediagram, also known as an Ishikawa diagram, used to identify and display the root causes of a problem.generate_flow_diagram: Generate aflowchart, used to display the steps and sequence of a process.generate_funnel_chart: Generate afunnelchart, used to display data loss at different stages.generate_histogram_chart: Generate ahistogram, used to display the distribution of data by dividing it into intervals and counting the number of data points in each interval.generate_line_chart: Generate alinechart, used to display the trend of data over time or another continuous variable.generate_liquid_chart: Generate aliquidchart, used to display the proportion of data, visually representing percentages in the form of water-filled spheres.generate_mind_map: Generate amind-map, used to display thought processes and hierarchical information.generate_network_graph: Generate anetworkgraph, used to display relationships and connections between nodes.generate_organization_chart: Generate anorganizationalchart, used to display the structure of an organization and personnel relationships.generate_path_map- Generate apath-map, used to display route planning results for POIs.generate_pie_chart: Generate apiechart, used to display the proportion of data, dividing it into parts represented by sectors showing the percentage of each part.generate_pin_map- Generate apin-map, used to show the distribution of POIs.generate_radar_chart: Generate aradarchart, used to display multi-dimensional data comprehensively, showing multiple dimensions in a radar-like format.generate_sankey_chart: Generate asankeychart, used to display data flow and volume, representing the movement of data between different nodes in a Sankey-style format.generate_scatter_chart: Generate ascatterplot, used to display the relationship between two variables, showing data points as scattered dots on a coordinate system.generate_treemap_chart: Generate atreemap, used to display hierarchical data, showing data in rectangular forms where the size of rectangles represents the value of the data.generate_venn_chart: Generate avenndiagram, used to display relationships between sets, including intersections, unions, and differences.generate_violin_chart: Generate aviolinplot, used to display the distribution of data, combining features of boxplots and density plots to provide a more detailed view of the data distribution.generate_word_cloud_chart: Generate aword-cloud, used to display the frequency of words in textual data, with font sizes indicating the frequency of each word.generate_spreadsheet: Generate aspreadsheetor pivot table for displaying tabular data. When 'rows' or 'values' fields are provided, it renders as a pivot table (cross-tabulation); otherwise, it renders as a regular table.
The above geographic visualization chart generation tool usesAMap service and currently only supports map generation within China.
🤖 Usage
To use with Desktop APP, such as Claude, VSCode, Cline, Cherry Studio, Cursor, and so on, add the MCP server config below. On Mac system:
{
"mcpServers": {
"mcp-server-chart": {
"command": "npx",
"args": ["-y", "@antv/mcp-server-chart"]
}
}
}On Window system:
{
"mcpServers": {
"mcp-server-chart": {
"command": "cmd",
"args": ["/c", "npx", "-y", "@antv/mcp-server-chart"]
}
}
}Also, you can use it on aliyun, modelscope, glama.ai, smithery.ai or others with HTTP, SSE Protocol.
🎨 Skill Usage
If you are using an AI IDE with skill support (like Claude Code), you can use the chart-visualization skill to automatically select the best chart type and generate visualizations.
You can add the skill from https://github.com/antvis/chart-visualization-skills using:
npx skills add antvis/chart-visualization-skillsThen provide your data or describe the visualization you want. The skill will intelligently choose from 25+ chart types and generate the chart for you.
🚰 Run with SSE or Streamable transport
Run directly
Install the package globally.
npm install -g @antv/mcp-server-chartRun the server with your preferred transport option:
# For SSE transport (default endpoint: /sse)
mcp-server-chart --transport sse
# For Streamable transport with custom endpoint
mcp-server-chart --transport streamableThen you can access the server at:
SSE transport:
http://localhost:1122/sseStreamable transport:
http://localhost:1122/mcp
Docker deploy
Enter the docker directory.
cd dockerDeploy using docker-compose.
docker compose up -dThen you can access the server at:
SSE transport:
http://localhost:1123/sseStreamable transport:
http://localhost:1122/mcp
🎮 CLI Options
You can also use the following CLI options when running the MCP server. Command options by run cli with -H.
MCP Server Chart CLI
Options:
--transport, -t Specify the transport protocol: "stdio", "sse", or "streamable" (default: "stdio")
--host, -h Specify the host for SSE or streamable transport (default: localhost)
--port, -p Specify the port for SSE or streamable transport (default: 1122)
--endpoint, -e Specify the endpoint for the transport:
- For SSE: default is "/sse"
- For streamable: default is "/mcp"
--help, -H Show this help message⚙️ Environment Variables
Variable | Description | Default | Example |
| Custom chart generation service URL for private deployment |
|
|
| Service identifier for chart generation records | - |
|
| Comma-separated list of tool names to disable | - |
|
📠 Private Deployment
MCP Server Chart provides a free chart generation service by default. For users with a need for private deployment, they can try using VIS_REQUEST_SERVER to customize their own chart generation service.
{
"mcpServers": {
"mcp-server-chart": {
"command": "npx",
"args": ["-y", "@antv/mcp-server-chart"],
"env": {
"VIS_REQUEST_SERVER": "<YOUR_VIS_REQUEST_SERVER>"
}
}
}
}You can use AntV's project GPT-Vis-SSR to deploy an HTTP service in a private environment, and then pass the URL address through env VIS_REQUEST_SERVER.
Method:
POSTParameter: Which will be passed to
GPT-Vis-SSRfor rendering. Such as,{ "type": "line", "data": [{ "time": "2025-05", "value": 512 }, { "time": "2025-06", "value": 1024 }] }.Return: The return object of HTTP service.
success:
booleanWhether generate chart image successfully.resultObj:
stringThe chart image url.errorMessage:
stringWhensuccess = false, return the error message.
The private deployment solution currently does not support geographic visualization chart generation include 3 tools:geographic-district-map, geographic-path-map, geographic-pin-map.
🗺️ Generate Records
By default, users are required to save the results themselves, but we also provide a service for viewing the chart generation records, which requires users to generate a service identifier for themselves and configure it.
Use Alipay to scan and open the mini program to generate a personal service identifier (click the "My" menu below, enter the "My Services" page, click the "Generate" button, and click the "Copy" button after success):
Next, you need to add the SERVICE_ID environment variable to the MCP server configuration. For example, the configuration for Mac is as follows (for Windows systems, just add the env variable):
{
"mcpServers": {
"AntV Map": {
"command": "npx",
"args": ["-y", "@antv/mcp-server-chart"],
"env": {
"SERVICE_ID": "***********************************"
}
}
}
}After updating the MCP Server configuration, you need to restart your AI client application and check again whether you have started and connected to the MCP Server successfully. Then you can try to generate the map again. After the generation is successful, you can go to the "My Map" page of the mini program to view your map generation records.
🎛️ Tool Filtering
You can disable specific chart generation tools using the DISABLED_TOOLS environment variable. This is useful when certain tools have compatibility issues with your MCP client or when you want to limit the available functionality.
{
"mcpServers": {
"mcp-server-chart": {
"command": "npx",
"args": ["-y", "@antv/mcp-server-chart"],
"env": {
"DISABLED_TOOLS": "generate_fishbone_diagram,generate_mind_map"
}
}
}
}Available tool names for filtering See the ✨ Features.
🔨 Development
Install dependencies:
npm installBuild the server:
npm run buildStart the MCP server:
npm run startStart the MCP server with SSE transport:
node build/index.js -t sseStart the MCP server with Streamable transport:
node build/index.js -t streamable📄 License
MIT@AntV.
Available Tools
26 toolsgenerate_area_chartBRead-only
Generate a area chart to show data trends under continuous independent variables and observe the overall data trend, such as, displacement = velocity (average or instantaneous) × time: s = v × t. If the x-axis is time (t) and the y-axis is velocity (v) at each moment, an area chart allows you to observe the trend of velocity over time and infer the distance traveled by the area's size.
Inputs: data (required), stack, style, theme, +5 more.
generate_bar_chartBRead-only
Generate a horizontal bar chart to show data for numerical comparisons among different categories, such as, comparing categorical data and for horizontal comparisons.
Inputs: data (required), group, stack, style, +6 more.
generate_boxplot_chartBRead-only
Generate a boxplot chart to show data for statistical summaries among different categories, such as, comparing the distribution of data points across categories.
Inputs: data (required), style, theme, width, +4 more.
generate_column_chartCRead-only
Generate a column chart, which are best for comparing categorical data, such as, when values are close, column charts are preferable because our eyes are better at judging height than other visual elements like area or angles.
Inputs: data (required), group, stack, style, +6 more.
generate_district_mapARead-only
Generates regional distribution maps, which are usually used to show the administrative divisions and coverage of a dataset. It is not suitable for showing the distribution of specific locations, such as urban administrative divisions, GDP distribution maps of provinces and cities across the country, etc. This tool is limited to generating data maps within China.
Inputs: title (required), data (required), width, height.
generate_dual_axes_chartBRead-only
Generate a dual axes chart which is a combination chart that integrates two different chart types, typically combining a bar chart with a line chart to display both the trend and comparison of data, such as, the trend of sales and profit over time.
Inputs: categories (required), series (required), style, theme, +4 more.
generate_fishbone_diagramARead-only
Generate a fishbone diagram chart to uses a fish skeleton, like structure to display the causes or effects of a core problem, with the problem as the fish head and the causes/effects as the fish bones. It suits problems that can be split into multiple related factors.
Inputs: data (required), style, theme, width, +1 more.
generate_flow_diagramBRead-only
Generate a flow diagram chart to show the steps and decision points of a process or system, such as, scenarios requiring linear process presentation.
Inputs: data (required), style, theme, width, +1 more.
generate_funnel_chartARead-only
Generate a funnel chart to visualize the progressive reduction of data as it passes through stages, such as, the conversion rates of users from visiting a website to completing a purchase.
Inputs: data (required), style, theme, width, +2 more.
generate_histogram_chartBRead-only
Generate a histogram chart to show the frequency of data points within a certain range. It can observe data distribution, such as, normal and skewed distributions, and identify data concentration areas and extreme points.
Inputs: data (required), binNumber, style, theme, +5 more.
generate_line_chartBRead-only
Generate a line chart to show trends over time, such as, the ratio of Apple computer sales to Apple's profits changed from 2000 to 2016.
Inputs: data (required), style, theme, width, +4 more.
generate_liquid_chartARead-only
Generate a liquid chart to visualize a single value as a percentage, such as, the current occupancy rate of a reservoir or the completion percentage of a project.
Inputs: percent (required), shape, style, theme, +3 more.
generate_mind_mapBRead-only
Generate a mind map chart to organizes and presents information in a hierarchical structure with branches radiating from a central topic, such as, a diagram showing the relationship between a main topic and its subtopics.
Inputs: data (required), style, theme, width, +1 more.
generate_network_graphBRead-only
Generate a network graph chart to show relationships (edges) between entities (nodes), such as, relationships between people in social networks.
Inputs: data (required), style, theme, width, +1 more.
generate_organization_chartBRead-only
Generate an organization chart to visualize the hierarchical structure of an organization, such as, a diagram showing the relationship between a CEO and their direct reports.
Inputs: data (required), orient, style, theme, +2 more.
generate_path_mapBRead-only
Generate a route map to display the user's planned route, such as travel guide routes.
Inputs: title (required), data (required), width, height.
generate_pie_chartBRead-only
Generate a pie chart to show the proportion of parts, such as, market share and budget allocation.
Inputs: data (required), innerRadius, style, theme, +3 more.
generate_pin_mapBRead-only
Generate a point map to display the location and distribution of point data on the map, such as the location distribution of attractions, hospitals, supermarkets, etc.
Inputs: title (required), data (required), markerPopup, width, +1 more.
generate_radar_chartBRead-only
Generate a radar chart to display multidimensional data (four dimensions or more), such as, evaluate Huawei and Apple phones in terms of five dimensions: ease of use, functionality, camera, benchmark scores, and battery life.
Inputs: data (required), style, theme, width, +2 more.
generate_sankey_chartBRead-only
Generate a sankey chart to visualize the flow of data between different stages or categories, such as, the user journey from landing on a page to completing a purchase.
Inputs: data (required), nodeAlign, style, theme, +3 more.
generate_scatter_chartBRead-only
Generate a scatter chart to show the relationship between two variables, helps discover their relationship or trends, such as, the strength of correlation, data distribution patterns.
Inputs: data (required), style, theme, width, +4 more.
generate_treemap_chartBRead-only
Generate a treemap chart to display hierarchical data and can intuitively show comparisons between items at the same level, such as, show disk space usage with treemap.
Inputs: data (required), style, theme, width, +2 more.
generate_venn_chartBRead-only
Generate a Venn diagram to visualize the relationships between different sets, showing how they intersect and overlap, such as the commonalities and differences between various groups.
Inputs: data (required), style, theme, width, +2 more.
generate_violin_chartBRead-only
Generate a violin chart to show data for statistical summaries among different categories, such as, comparing the distribution of data points across categories.
Inputs: data (required), style, theme, width, +4 more.
generate_waterfall_chartARead-only
Generate a waterfall chart to visualize the cumulative effect of sequentially introduced positive or negative values, such as showing how an initial value is affected by a series of intermediate positive or negative values leading to a final result. Waterfall charts are ideal for financial analysis, budget tracking, profit and loss statements, and understanding the composition of changes over time or categories.
Inputs: data (required), style, theme, width, +4 more.
generate_word_cloud_chartBRead-only
Generate a word cloud chart to show word frequency or weight through text size variation, such as, analyzing common words in social media, reviews, or feedback.
Inputs: data (required), style, theme, width, +2 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
TDQS
Scored across 26 tools
Every tool has a clearly distinct purpose, each generating a specific type of chart or diagram. The descriptions explicitly differentiate them, such as bar charts for categorical comparisons versus line charts for trends over time. No tools appear to overlap in functionality, making selection straightforward for an agent.
All tool names follow a consistent 'generate_<chart_type>_chart' pattern, with minor exceptions like 'generate_district_map' and 'generate_path_map' that still maintain the 'generate_<type>' structure. This uniformity ensures predictability and readability across the entire set.
With 26 tools, the count is borderline high for a chart-generation server, potentially overwhelming for agents. While it covers a wide range of chart types, some tools like boxplot and violin charts have similar statistical purposes, suggesting possible redundancy. A more streamlined set of 15-20 tools might be more manageable.
The tool set provides comprehensive coverage for data visualization, including all major chart types (e.g., bar, line, scatter, pie) and specialized diagrams (e.g., fishbone, mind map, sankey). It supports various data scenarios from trends and distributions to hierarchies and relationships, leaving no obvious gaps in the domain.
Maintenance
Related MCP Connectors
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
MCP server for AI dialogue using various LLM models via AceDataCloud
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server implementation that provides the LLM an interface for visualizing data using Vega-Lite syntax.100-
- AlicenseCqualityFmaintenanceAn MCP server for generating customizable data visualizations using QuickChart.io, supporting multiple chart types and Chart.js configuration.2309 npm159MIT

MCP Server AntVofficial
AlicenseAqualityCmaintenanceA Model Context Protocol server that provides AntV visualization library documentation and code examples to AI assistants, supporting G2, G6, and F2 libraries for data visualization workflows.243 npm40MIT
vchart-mcp-serverofficial
AlicenseAqualityDmaintenanceA Model Context Protocol (MCP) server for the @visactor/vchart that enables AI assistants to generate interactive charts and visualizations.1018 npm52MIT