Chart

by antvis

4.2k stars
989 downloads
Not rated
GitHub Website

About

๐Ÿค– A Model Context Protocol server for generating visual charts using [AntV](https://github.com/antvis).

Details

Author
antvis
GitHub stars
4,217
Downloads
989
Categories
Developer Tools, Other

- Supports 26+ chart types including area, bar, line, pie, scatter, and more
- Geographic map generation (district, path, pin maps) using AMap service
- Spreadsheet and pivot table generation
- Tool filtering via DISABLED_TOOLS environment variable
- Private deployment option using VIS_REQUEST_SERVER
- Skill support for AI IDEs (e.g., Claude Code)

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Chart
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Configure the MCP server in your desktop app (Claude, VSCode, Cline, etc.) using npx -y @antv/mcp-server-chart with stdio transport, or run with SSE or streamable transport via CLI. Optionally set environment variables for private deployment, service ID, or tool filtering.

generate_area_chart

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.

generate_bar_chart

Generate a horizontal bar chart to show data for numerical comparisons among different categories, such as, comparing categorical data and for horizontal comparisons.

generate_boxplot_chart

Generate a boxplot chart to show data for statistical summaries among different categories, such as, comparing the distribution of data points across categories.

generate_column_chart

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.

generate_district_map

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.

generate_dual_axes_chart

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.

generate_fishbone_diagram

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.

generate_flow_diagram

Generate a flow diagram chart to show the steps and decision points of a process or system, such as, scenarios requiring linear process presentation.

generate_funnel_chart

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.

generate_histogram_chart

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.

generate_line_chart

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.

generate_liquid_chart

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.

generate_mind_map

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.

generate_network_graph

Generate a network graph chart to show relationships (edges) between entities (nodes), such as, relationships between people in social networks.

generate_organization_chart

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.

generate_path_map

Generate a route map to display the user's planned route, such as travel guide routes.

generate_pie_chart

Generate a pie chart to show the proportion of parts, such as, market share and budget allocation.

generate_pin_map

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.

generate_radar_chart

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.

generate_sankey_chart

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.

generate_scatter_chart

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.

generate_treemap_chart

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.

generate_venn_chart

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.

generate_violin_chart

Generate a violin chart to show data for statistical summaries among different categories, such as, comparing the distribution of data points across categories.

generate_waterfall_chart

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.

generate_word_cloud_chart

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.

generate_spreadsheet

Generate a spreadsheet or 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. Useful for displaying structured data, comparing values across categories, and creating data summaries.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "chart": {
            "mcp-server-chart": {
                "command": "npx",
                "args": [
                    "-y",
                    "@antv/mcp-server-chart"
                ]
            }
        }
    }
}

McpServers

{
    "mcp-server-chart": {
        "command": "npx",
        "args": [
            "-y",
            "@antv/mcp-server-chart"
        ]
    }
}

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_.

build npm Version npm License codecov smithery installations badge Visitors

mcp-server-chart technical digram

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

- โœจ Features
- ๐Ÿค– Usage
- ๐ŸŽจ Skill Usage
- ๐Ÿšฐ Run with SSE or Streamable transport
- ๐ŸŽฎ CLI Options
- โš™๏ธ Environment Variables
- VIS_REQUEST_SERVER
- SERVICE_ID
- DISABLED_TOOLS
- ๐Ÿ“  Private Deployment
- ๐Ÿ—บ๏ธ Generate Records
- ๐ŸŽ›๏ธ Tool Filtering
- ๐Ÿ”จ Development
- ๐Ÿ“„ License

โœจ Features

Now 26+ charts supported.

mcp-server-chart preview

1. generate_area_chart: Generate an area chart, used to display the trend of data under a continuous independent variable, allowing observation of overall data trends.
1. generate_bar_chart: Generate a bar chart, used to compare values across different categories, suitable for horizontal comparisons.
1. generate_boxplot_chart: Generate a boxplot, used to display the distribution of data, including the median, quartiles, and outliers.
1. generate_column_chart: Generate a column chart, used to compare values across different categories, suitable for vertical comparisons.
1. generate_district_map - Generate a district-map, used to show administrative divisions and data distribution.
1. generate_dual_axes_chart: Generate a dual-axes chart, used to display the relationship between two variables with different units or ranges.
1. generate_fishbone_diagram: Generate a fishbone diagram, also known as an Ishikawa diagram, used to identify and display the root causes of a problem.
1. generate_flow_diagram: Generate a flowchart, used to display the steps and sequence of a process.
1. generate_funnel_chart: Generate a funnel chart, used to display data loss at different stages.
1. generate_histogram_chart: Generate a histogram, used to display the distribution of data by dividing it into intervals and counting the number of data points in each interval.
1. generate_line_chart: Generate a line chart, used to display the trend of data over time or another continuous variable.
1. generate_liquid_chart: Generate a liquid chart, used to display the proportion of data, visually representing percentages in the form of water-filled spheres.
1. generate_mind_map: Generate a mind-map, used to display thought processes and hierarchical information.
1. generate_network_graph: Generate a network graph, used to display relationships and connections between nodes.
1. generate_organization_chart: Generate an organizational chart, used to display the structure of an organization and personnel relationships.
1. generate_path_map - Generate a path-map, used to display route planning results for POIs.
1. generate_pie_chart: Generate a pie chart, used to display the proportion of data, dividing it into parts represented by sectors showing the percentage of each part.
1. generate_pin_map - Generate a pin-map, used to show the distribution of POIs.
1. generate_radar_chart: Generate a radar chart, used to display multi-dimensional data comprehensively, showing multiple dimensions in a radar-like format.
1. generate_sankey_chart: Generate a sankey chart, used to display data flow and volume, representing the movement of data between different nodes in a Sankey-style format.
1. generate_scatter_chart: Generate a scatter plot, used to display the relationship between two variables, showing data points as scattered dots on a coordinate system.
1. generate_treemap_chart: Generate a treemap, used to display hierarchical data, showing data in rectangular forms where the size of rectangles represents the value of the data.
1. generate_venn_chart: Generate a venn diagram, used to display relationships between sets, including intersections, unions, and differences.
1. generate_violin_chart: Generate a violin plot, used to display the distribution of data, combining features of boxplots and density plots to provide a more detailed view of the data distribution.
1. generate_word_cloud_chart: Generate a word-cloud, used to display the frequency of words in textual data, with font sizes indicating the frequency of each word.
1. generate_spreadsheet: Generate a spreadsheet or 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.

> [!NOTE]
> The above geographic visualization chart generation tool uses AMap 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-skills

Then 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-chart

Run the server with your preferred transport option:

```bash

No reviews yet โ€” be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.