A Model Context Protocol server for generating charts using AntV.
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.
✨ Features
Now 20+ charts supported.
generate_area_chart- Generate aareachart, and return an image URL.generate_bar_chart- Generate abarchart, and return an image URL.generate_boxplot_chart- Generate aboxplotchart, and return an image URL.generate_column_chart- Generate acolumnchart, and return an image URL.generate_dual_axes_chart- Generate adual-axeschart, and return an image URL.generate_fishbone_diagram- Generate afishbone-diagramchart, and return an image URL.generate_flow_diagram- Generate aflow-diagramchart, and return an image URL.generate_funnel_chart- Generate afunnelchart, and return an image URL.generate_histogram_chart- Generate ahistogramchart, and return an image URL.generate_line_chart- Generate alinechart, and return an image URL.generate_liquid_chart- Generate aliquidchart, and return an image URL.generate_mind_map- Generate amind-mapchart, and return an image URL.generate_network_graph- Generate anetwork-graphchart, and return an image URL.generate_organization_chart- Generate aorganization-chartchart, and return an image URL.generate_pie_chart- Generate apiechart, and return an image URL.generate_radar_chart- Generate aradarchart, and return an image URL.generate_sankey_chart- Generate asankeychart, and return an image URL.generate_scatter_chart- Generate ascatterchart, and return an image URL.generate_treemap_chart- Generate atreemapchart, and return an image URL.generate_venn_chart- Generate avennchart, and return an image URL.generate_violin_chart- Generate aviolinchart, and return an image URL.generate_word_cloud_chart- Generate aword-cloudchart, and return an image URL.
🤖 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.
🚰 Run with SSE or Streamable transport
Install the package globally.
npm install -g @antv/mcp-server-chartRun the server with your preferred transport option:
mcp-server-chart --transport sse
mcp-server-chart --transport streamableThen you can access the server at:
- SSE transport:
http://localhost:1122/sse - Streamable 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")
--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📠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:
POST - Parameter: Which will be passed to
GPT-Vis-SSRfor renderring. 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.
- success:
🔨 Development
Install dependencies:
npm installBuild the server:
npm run buildStart the MCP server:
npm run start📄 License
MIT@AntV.