# io.github.antvis/mcp-server-chart (npm · @antv/mcp-server-chart)

A Model Context Protocol server for generating charts using AntV.

- Trust score: 65/100 (medium)
- Change this week: +23
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `@antv/mcp-server-chart`: 65/100 (this document), [markdown](https://verifymcp.io/servers/antvis-mcp-server-chart/antv-mcp-server-chart.md), [page](https://verifymcp.io/servers/antvis-mcp-server-chart/antv-mcp-server-chart)

## Channel facts

- Registry: `npm`
- Package: `@antv/mcp-server-chart`
- Version: `0.9.0-beta.1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (108 of 109), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (108 of 109), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 158 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 55/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 5995 tokens (~239/item across 25 items; 25 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add antvis-mcp-server-chart -- npx -y @antv/mcp-server-chart
```

### Codex

```bash
codex mcp add antvis-mcp-server-chart -- npx -y @antv/mcp-server-chart
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "antvis-mcp-server-chart": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@antv/mcp-server-chart"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add antvis-mcp-server-chart --command npx --arg -y --arg @antv/mcp-server-chart
```

### Hermes

```yaml
mcp_servers:
  antvis-mcp-server-chart:
    command: "npx"
    args: ["-y", "@antv/mcp-server-chart"]
```

### Other

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

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 65, +32)

- [security regression] Provenance: unverified → fail
- [security improvement] Install scripts: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Stability: unverified → 0.23
- [functional improvement] Schema quality: unverified → good
- [functional improvement] License: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Maintenance: unverified → pass
- [functional] Licence: MIT

### 2026-08-01 (score 33, +9)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-31 (score 24, −18)

- [security regression] Malware scan: pass → unverified

### 2026-07-27 (score 42)

First indexed and scored.

## MCP tools (25)

### `generate_area_chart` (~259 tokens)

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.

Input parameters:

- `axisXTitle` (string): Set the x-axis title of chart.
- `axisYTitle` (string): Set the y-axis title of chart.
- `data` (array, required): Data for area chart, such as, [{ time: '2018', value: 99.9 }].
- `height` (number): Set the height of chart, default is 400.
- `stack` (boolean): Whether stacking is enabled. When enabled, area charts require a 'group' field in the data.
- `style` (object): Custom style configuration for the chart.
- `theme` (string): Set the theme for the chart, optional, default is 'default'.
- `title` (string): Set the title of chart.
- `width` (number): Set the width of chart, default is 600.

### `generate_bar_chart` (~326 tokens)

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

Input parameters:

- `axisXTitle` (string): Set the x-axis title of chart.
- `axisYTitle` (string): Set the y-axis title of chart.
- `data` (array, required): Data for bar chart, such as, [{ category: '分类一', value: 10 }, { category: '分类二', value: 20 }], when grouping or stacking is needed for bar, the data should contain a `group` field, such as, when [{ c…
- `group` (boolean): Whether grouping is enabled. When enabled, bar charts require a 'group' field in the data. When `group` is true, `stack` should be false.
- `height` (number): Set the height of chart, default is 400.
- `stack` (boolean): Whether stacking is enabled. When enabled, bar charts require a 'group' field in the data. When `stack` is true, `group` should be false.
- `style` (object): Custom style configuration for the chart.
- `theme` (string): Set the theme for the chart, optional, default is 'default'.
- `title` (string): Set the title of chart.
- `width` (number): Set the width of chart, default is 600.

### `generate_boxplot_chart` (~197 tokens)

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

Input parameters:

- `axisXTitle` (string): Set the x-axis title of chart.
- `axisYTitle` (string): Set the y-axis title of chart.
- `data` (array, required): Data for boxplot chart, such as, [{ category: '分类一', value: 10 }] or [{ category: '分类二', value: 20, group: '组别一' }].
- `height` (number): Set the height of chart, default is 400.
- `style` (object): Custom style configuration for the chart.
- `theme` (string): Set the theme for the chart, optional, default is 'default'.
- `title` (string): Set the title of chart.
- `width` (number): Set the width of chart, default is 600.

### `generate_column_chart` (~342 tokens)

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.

Input parameters:

- `axisXTitle` (string): Set the x-axis title of chart.
- `axisYTitle` (string): Set the y-axis title of chart.
- `data` (array, required): Data for column chart, such as, [{ category: '分类一', value: 10 }, { category: '分类二', value: 20 }], when grouping or stacking is needed for column, the data should contain a `group` field, such as, whe…
- `group` (boolean): Whether grouping is enabled. When enabled, column charts require a 'group' field in the data. When `group` is true, `stack` should be false.
- `height` (number): Set the height of chart, default is 400.
- `stack` (boolean): Whether stacking is enabled. When enabled, column charts require a 'group' field in the data. When `stack` is true, `group` should be false.
- `style` (object): Custom style configuration for the chart.
- `theme` (string): Set the theme for the chart, optional, default is 'default'.
- `title` (string): Set the title of chart.
- `width` (number): Set the width of chart, default is 600.

### `generate_district_map` (~640 tokens)

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.

Input parameters:

- `data` (object, required): Administrative division data, lower-level administrative divisions are optional. There are usually two scenarios: one is to simply display the regional composition, only `fillColor` needs to be confi…
- `height` (number): Set the height of map, default is 1000.
- `title` (string, required): The map title should not exceed 16 characters. The content should be consistent with the information the map wants to convey and should be accurate, rich, creative, and attractive.
- `width` (number): Set the width of map, default is 1600.

### `generate_dual_axes_chart` (~281 tokens)

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.

Input parameters:

- `axisXTitle` (string): Set the x-axis title of chart.
- `categories` (array, required): Categories for dual axes chart, such as, ['2015', '2016', '2017'].
- `height` (number): Set the height of chart, default is 400.
- `series` (array, required): Series for dual axes chart, such as, [{ type: 'column', data: [91.9, 99.1, 101.6, 114.4, 121], axisYTitle: '销售额' }, { type: 'line', data: [0.055, 0.06, 0.062, 0.07, 0.075], 'axisYTitle': '利润率' }].
- `style` (object): Custom style configuration for the chart.
- `theme` (string): Set the theme for the chart, optional, default is 'default'.
- `title` (string): Set the title of chart.
- `width` (number): Set the width of chart, default is 600.

### `generate_fishbone_diagram` (~195 tokens)

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.

Input parameters:

- `data` (object, required): Data for fishbone diagram chart which is a hierarchical structure, such as, { name: 'main topic', children: [{ name: 'topic 1', children: [{ name: 'subtopic 1-1' }] }] }, and the maximum depth is 3.
- `height` (number): Set the height of chart, default is 400.
- `style` (object): Custom style configuration for the chart.
- `theme` (string): Set the theme for the chart, optional, default is 'default'.
- `width` (number): Set the width of chart, default is 600.

### `generate_flow_diagram` (~163 tokens)

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

Input parameters:

- `data` (object, required): Data for flow diagram chart, such as, { nodes: [{ name: 'node1' }, { name: 'node2' }], edges: [{ source: 'node1', target: 'node2', name: 'edge1' }] }.
- `height` (number): Set the height of chart, default is 400.
- `style` (object): Custom style configuration for the chart.
- `theme` (string): Set the theme for the chart, optional, default is 'default'.
- `width` (number): Set the width of chart, default is 600.

### `generate_funnel_chart` (~205 tokens)

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.

Input parameters:

- `data` (array, required): Data for funnel chart, such as, [{ category: '浏览网站', value: 50000 }, { category: '放入购物车', value: 35000 }, { category: '生成订单', value: 25000 }, { category: '支付订单', value: 15000 }, { category: '完成交易', v…
- `height` (number): Set the height of chart, default is 400.
- `style` (object): Custom style configuration for the chart.
- `theme` (string): Set the theme for the chart, optional, default is 'default'.
- `title` (string): Set the title of chart.
- `width` (number): Set the width of chart, default is 600.

### `generate_histogram_chart` (~230 tokens)

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.

Input parameters:

- `axisXTitle` (string): Set the x-axis title of chart.
- `axisYTitle` (string): Set the y-axis title of chart.
- `binNumber` (number): Number of intervals to define the number of intervals in a histogram, when not specified, a built-in value will be used.
- `data` (array, required): Data for histogram chart, it should be an array of numbers, such as, [78, 88, 60, 100, 95].
- `height` (number): Set the height of chart, default is 400.
- `style` (object): Custom style configuration for the chart.
- `theme` (string): Set the theme for the chart, optional, default is 'default'.
- `title` (string): Set the title of chart.
- `width` (number): Set the width of chart, default is 600.

### `generate_line_chart` (~240 tokens)

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.

Input parameters:

- `axisXTitle` (string): Set the x-axis title of chart.
- `axisYTitle` (string): Set the y-axis title of chart.
- `data` (array, required): Data for line chart, it should be an array of objects, each object contains a `time` field and a `value` field, such as, [{ time: '2015', value: 23 }, { time: '2016', value: 32 }].
- `height` (number): Set the height of chart, default is 400.
- `stack` (boolean): Whether stacking is enabled. When enabled, line charts require a 'group' field in the data.
- `style` (object): Custom style configuration for the chart.
- `theme` (string): Set the theme for the chart, optional, default is 'default'.
- `title` (string): Set the title of chart.
- `width` (number): Set the width of chart, default is 600.

### `generate_liquid_chart` (~198 tokens)

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.

Input parameters:

- `height` (number): Set the height of chart, default is 400.
- `percent` (number, required): The percentage value to display in the liquid chart, should be a number between 0 and 1, where 1 represents 100%. For example, 0.75 represents 75%.
- `shape` (string): The shape of the liquid chart, can be 'circle', 'rect', 'pin', or 'triangle'. Default is 'circle'.
- `style` (object): Custom style configuration for the chart.
- `theme` (string): Set the theme for the chart, optional, default is 'default'.
- `title` (string): Set the title of chart.
- `width` (number): Set the width of chart, default is 600.

### `generate_mind_map` (~176 tokens)

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.

Input parameters:

- `data` (object, required): Data for mind map chart which is a hierarchical structure, such as, { name: 'main topic', children: [{ name: 'topic 1', children: [{ name:'subtopic 1-1' }] }, and the maximum depth is 3.
- `height` (number): Set the height of chart, default is 400.
- `style` (object): Custom style configuration for the chart.
- `theme` (string): Set the theme for the chart, optional, default is 'default'.
- `width` (number): Set the width of chart, default is 600.

### `generate_network_graph` (~160 tokens)

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

Input parameters:

- `data` (object, required): Data for network graph chart, such as, { nodes: [{ name: 'node1' }, { name: 'node2' }], edges: [{ source: 'node1', target: 'node2', name: 'edge1' }] }
- `height` (number): Set the height of chart, default is 400.
- `style` (object): Custom style configuration for the chart.
- `theme` (string): Set the theme for the chart, optional, default is 'default'.
- `width` (number): Set the width of chart, default is 600.

### `generate_organization_chart` (~221 tokens)

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.

Input parameters:

- `data` (object, required): Data for organization chart which is a hierarchical structure, such as, { name: 'CEO', description: 'Chief Executive Officer', children: [{ name: 'CTO', description: 'Chief Technology Officer', child…
- `height` (number): Set the height of chart, default is 400.
- `orient` (string): Orientation of the organization chart, either horizontal or vertical. Default is vertical, when the level of the chart is more than 3, it is recommended to use horizontal orientation.
- `style` (object): Custom style configuration for the chart.
- `theme` (string): Set the theme for the chart, optional, default is 'default'.
- `width` (number): Set the width of chart, default is 600.

### `generate_path_map` (~173 tokens)

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

Input parameters:

- `data` (array, required): Routes, each group represents all POIs along a route. For example, [{ "data": ["西安钟楼", "西安大唐不夜城", "西安大雁塔"] }, { "data": ["西安曲江池公园", "西安回民街"] }]
- `height` (number): Set the height of map, default is 1000.
- `title` (string, required): The map title should not exceed 16 characters. The content should be consistent with the information the map wants to convey and should be accurate, rich, creative, and attractive.
- `width` (number): Set the width of map, default is 1600.

### `generate_pie_chart` (~212 tokens)

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

Input parameters:

- `data` (array, required): Data for pie chart, it should be an array of objects, each object contains a `category` field and a `value` field, such as, [{ category: '分类一', value: 27 }].
- `height` (number): Set the height of chart, default is 400.
- `innerRadius` (number): Set the innerRadius of pie chart, the value between 0 and 1. Set the pie chart as a donut chart. Set the value to 0.6 or number in [0 ,1] to enable it.
- `style` (object): Custom style configuration for the chart.
- `theme` (string): Set the theme for the chart, optional, default is 'default'.
- `title` (string): Set the title of chart.
- `width` (number): Set the width of chart, default is 600.

### `generate_pin_map` (~400 tokens)

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.

Input parameters:

- `data` (array, required): A list of keywords for the names of points of interest (POIs) in Chinese. These POIs usually contain a group of places with similar locations, so the names should be more descriptive, must adding att…
- `height` (number): Set the height of map, default is 1000.
- `markerPopup` (object): Marker type, one is simple mode, which is just an icon and does not require `markerPopup` configuration; the other is image mode, which displays location photos and requires `markerPopup` configurati…
- `title` (string, required): The map title should not exceed 16 characters. The content should be consistent with the information the map wants to convey and should be accurate, rich, creative, and attractive.
- `width` (number): Set the width of map, default is 1600.

### `generate_radar_chart` (~182 tokens)

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.

Input parameters:

- `data` (array, required): Data for radar chart, it should be an array of objects, each object contains a `name` field and a `value` field, such as, [{ name: 'Design', value: 70 }].
- `height` (number): Set the height of chart, default is 400.
- `style` (object): Custom style configuration for the chart.
- `theme` (string): Set the theme for the chart, optional, default is 'default'.
- `title` (string): Set the title of chart.
- `width` (number): Set the width of chart, default is 600.

### `generate_sankey_chart` (~264 tokens)

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.

Input parameters:

- `data` (array, required): Date for sankey chart, such as, [{ source: 'Landing Page', target: 'Product Page', value: 50000 }, { source: 'Product Page', target: 'Add to Cart', value: 35000 }, { source: 'Add to Cart', target: 'C…
- `height` (number): Set the height of chart, default is 400.
- `nodeAlign` (string): Alignment of nodes in the sankey chart, such as, 'left', 'right', 'justify', or 'center'.
- `style` (object): Custom style configuration for the chart.
- `theme` (string): Set the theme for the chart, optional, default is 'default'.
- `title` (string): Set the title of chart.
- `width` (number): Set the width of chart, default is 600.

### `generate_scatter_chart` (~178 tokens)

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.

Input parameters:

- `axisXTitle` (string): Set the x-axis title of chart.
- `axisYTitle` (string): Set the y-axis title of chart.
- `data` (array, required): Data for scatter chart, such as, [{ x: 10, y: 15 }].
- `height` (number): Set the height of chart, default is 400.
- `style` (object): Custom style configuration for the chart.
- `theme` (string): Set the theme for the chart, optional, default is 'default'.
- `title` (string): Set the title of chart.
- `width` (number): Set the width of chart, default is 600.

### `generate_treemap_chart` (~177 tokens)

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.

Input parameters:

- `data` (array, required): Data for treemap chart which is a hierarchical structure, such as, [{ name: 'Design', value: 70, children: [{ name: 'Tech', value: 20 }] }], and the maximum depth is 3.
- `height` (number): Set the height of chart, default is 400.
- `style` (object): Custom style configuration for the chart.
- `theme` (string): Set the theme for the chart, optional, default is 'default'.
- `title` (string): Set the title of chart.
- `width` (number): Set the width of chart, default is 600.

### `generate_venn_chart` (~208 tokens)

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.

Input parameters:

- `data` (array, required): Data for venn chart, such as, [{ label: 'A', value: 10, sets: ['A'] }, { label: 'B', value: 20, sets: ['B'] }, { label: 'C', value: 30, sets: ['C'] }, { label: 'AB', value: 5, sets: ['A', 'B'] }].
- `height` (number): Set the height of chart, default is 400.
- `style` (object): Custom style configuration for the chart.
- `theme` (string): Set the theme for the chart, optional, default is 'default'.
- `title` (string): Set the title of chart.
- `width` (number): Set the width of chart, default is 600.

### `generate_violin_chart` (~195 tokens)

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

Input parameters:

- `axisXTitle` (string): Set the x-axis title of chart.
- `axisYTitle` (string): Set the y-axis title of chart.
- `data` (array, required): Data for violin chart, such as, [{ category: '分类一', value: 10 }] or [{ category: '分类二', value: 20, group: '组别一' }].
- `height` (number): Set the height of chart, default is 400.
- `style` (object): Custom style configuration for the chart.
- `theme` (string): Set the theme for the chart, optional, default is 'default'.
- `title` (string): Set the title of chart.
- `width` (number): Set the width of chart, default is 600.

### `generate_word_cloud_chart` (~173 tokens)

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.

Input parameters:

- `data` (array, required): Data for word cloud chart, it should be an array of objects, each object contains a `text` field and a `value` field, such as, [{ value: 4.272, text: '形成' }].
- `height` (number): Set the height of chart, default is 400.
- `style` (object): Custom style configuration for the chart.
- `theme` (string): Set the theme for the chart, optional, default is 'default'.
- `title` (string): Set the title of chart.
- `width` (number): Set the width of chart, default is 600.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/antvis-mcp-server-chart/antv-mcp-server-chart#diagnostics

## Score history

- 2026-08-03: 65
- 2026-08-02: 65
- 2026-08-01: 33
- 2026-07-31: 24
- 2026-07-29: 42
- 2026-07-28: 42
- 2026-07-27: 42

## Links

- npm package: https://www.npmjs.com/package/@antv/mcp-server-chart
- Socket report: https://socket.dev/npm/package/@antv/mcp-server-chart
- Repository: https://github.com/antvis/mcp-server-chart
- Changelog RSS feed: https://verifymcp.io/servers/antvis-mcp-server-chart/antv-mcp-server-chart/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/antvis-mcp-server-chart/antv-mcp-server-chart/changelog.json
- HTML version of this page: https://verifymcp.io/servers/antvis-mcp-server-chart/antv-mcp-server-chart
