PluginBench
MCP Server
Maintained
MIT

io.github.antvis/mcp-server-chart MCP Server

io.github.antvis/mcp-server-chart

Generate 26+ chart types and diagrams for AI agents via AntV's MCP server.

What is the io.github.antvis/mcp-server-chart MCP server?

mcp-server-chart is a Model Context Protocol server by AntV that generates 26+ types of charts and diagrams (bar, line, pie, network graphs, maps, mind maps, etc.) from data through MCP tool calls. It renders charts server-side (via a hosted or self-hosted GPT-Vis-SSR service) and returns image URLs, enabling AI clients to produce data visualizations and diagrams on demand.

MCP Server Chart is a TypeScript-based MCP server providing chart and diagram generation capabilities for AI agents. It exposes tools to create over 26 chart types—including standard statistical charts (bar, line, pie, scatter, boxplot), diagrams (flowchart, mind map, organization chart, fishbone), and geographic visualizations (district maps, pin maps, path maps, limited to China via AMap). It can run over stdio, SSE, or Streamable HTTP transport, supports private deployment of the underlying rendering service, and allows disabling specific tools via environment variables.

How to install io.github.antvis/mcp-server-chart

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • VIS_REQUEST_SERVER

    Custom chart generation service URL for private deployment

  • SERVICE_ID
    secret

    Service identifier for chart generation records

  • DISABLED_TOOLS

    Comma-separated list of tool names to disable

Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "mcp-server-chart": {
      "command": "npx",
      "args": [
        "-y",
        "@antv/mcp-server-chart"
      ],
      "env": {
        "VIS_REQUEST_SERVER": "<YOUR_VIS_REQUEST_SERVER>",
        "SERVICE_ID": "<YOUR_SERVICE_ID>",
        "DISABLED_TOOLS": "<YOUR_DISABLED_TOOLS>"
      }
    }
  }
}
Cursor
~/.cursor/mcp.json
{
  "mcpServers": {
    "mcp-server-chart": {
      "command": "npx",
      "args": [
        "-y",
        "@antv/mcp-server-chart"
      ],
      "env": {
        "VIS_REQUEST_SERVER": "<YOUR_VIS_REQUEST_SERVER>",
        "SERVICE_ID": "<YOUR_SERVICE_ID>",
        "DISABLED_TOOLS": "<YOUR_DISABLED_TOOLS>"
      }
    }
  }
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "mcp-server-chart": {
      "command": "npx",
      "args": [
        "-y",
        "@antv/mcp-server-chart"
      ],
      "env": {
        "VIS_REQUEST_SERVER": "<YOUR_VIS_REQUEST_SERVER>",
        "SERVICE_ID": "<YOUR_SERVICE_ID>",
        "DISABLED_TOOLS": "<YOUR_DISABLED_TOOLS>"
      }
    }
  }
}
VS Code
.vscode/mcp.json
{
  "servers": {
    "mcp-server-chart": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@antv/mcp-server-chart"
      ],
      "env": {
        "VIS_REQUEST_SERVER": "<YOUR_VIS_REQUEST_SERVER>",
        "SERVICE_ID": "<YOUR_SERVICE_ID>",
        "DISABLED_TOOLS": "<YOUR_DISABLED_TOOLS>"
      }
    }
  }
}
Claude Code
claude mcp add mcp-server-chart --env VIS_REQUEST_SERVER=<YOUR_VIS_REQUEST_SERVER> --env SERVICE_ID=<YOUR_SERVICE_ID> --env DISABLED_TOOLS=<YOUR_DISABLED_TOOLS> -- npx -y @antv/mcp-server-chart

Tools & capabilities

Tools this server exposes to the agent.

  • generate_area_chartGenerate an area chart to display data trends over a continuous variable.
  • generate_bar_chartGenerate a bar chart for horizontal comparison across categories.
  • generate_boxplot_chartGenerate a boxplot showing data distribution, median, quartiles, and outliers.
  • generate_column_chartGenerate a column chart for vertical comparison across categories.
  • generate_district_mapGenerate a district map showing administrative divisions and data distribution (China only, via AMap).
  • generate_dual_axes_chartGenerate a dual-axes chart showing relationships between two variables with different units or ranges.
  • generate_fishbone_diagramGenerate a fishbone (Ishikawa) diagram to identify root causes of a problem.
  • generate_flow_diagramGenerate a flowchart showing steps and sequence of a process.
  • generate_funnel_chartGenerate a funnel chart showing data loss across stages.
  • generate_histogram_chartGenerate a histogram showing data distribution across intervals.
  • generate_line_chartGenerate a line chart showing trends over time or a continuous variable.
  • generate_liquid_chartGenerate a liquid chart representing percentages as water-filled spheres.
  • generate_mind_mapGenerate a mind map displaying thought processes and hierarchical information.
  • generate_network_graphGenerate a network graph showing relationships and connections between nodes.
  • generate_organization_chartGenerate an organizational chart showing structure and personnel relationships.
  • generate_path_mapGenerate a path map showing route planning results for POIs (China only, via AMap).
  • generate_pie_chartGenerate a pie chart showing proportional data as sectors.
  • generate_pin_mapGenerate a pin map showing distribution of POIs (China only, via AMap).
  • generate_radar_chartGenerate a radar chart displaying multi-dimensional data.
  • generate_sankey_chartGenerate a Sankey chart showing data flow and volume between nodes.

Use cases

  • Generate statistical charts (bar, line, pie, scatter, etc.) from data for reports or dashboards
  • Create process and organizational diagrams like flowcharts, fishbone diagrams, and org charts
  • Visualize hierarchical or relational data using mind maps, treemaps, network graphs, or Sankey diagrams
  • Produce geographic visualizations (district maps, pin maps, route maps) for locations in China
  • Render tabular data or pivot tables as spreadsheets within an AI workflow

io.github.antvis/mcp-server-chart MCP server FAQ

What does the mcp-server-chart MCP server do?

It provides MCP tools that let AI agents generate over 26 types of charts and diagrams—including bar, line, pie, network, mind map, flowchart, and geographic maps—by sending data and receiving a rendered chart image URL back.

Is mcp-server-chart free to use?

Yes, it uses a free default chart generation service (https://antv-studio.alipay.com/api/gpt-vis). You can also self-host the rendering service using AntV's GPT-Vis-SSR project via the VIS_REQUEST_SERVER environment variable for private deployment.

How do I install mcp-server-chart in Claude or Cursor?

Add an MCP server config pointing to `npx -y @antv/mcp-server-chart` as the command in your client's MCP settings (e.g., claude_desktop_config.json or Cursor's MCP config). It also supports SSE and Streamable HTTP transports if run as a standalone server.

Does it require authentication?

No authentication is required for basic chart generation. Geographic map tools rely on AMap and only work for locations in China. An optional SERVICE_ID can be configured to track and view chart/map generation records via an Alipay mini program.

Can I disable specific chart tools?

Yes, set the DISABLED_TOOLS environment variable to a comma-separated list of tool names (e.g., generate_fishbone_diagram,generate_mind_map) to disable specific chart generation tools.

Does mcp-server-chart support geographic maps outside China?

No, geographic visualization tools (generate_district_map, generate_pin_map, generate_path_map) use the AMap service and currently only support map generation within China. These tools are also not supported in private deployments.

README (reference)

Source of truth, from the repository.

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

<img width="768" alt="mcp-server-chart technical digram" src="https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*XVH-Srg-b9UAAAAAgGAAAAgAemJ7AQ/fmt.avif" />

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

Now 26+ charts supported.

<img width="768" alt="mcp-server-chart preview" src="https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*IyIRQIQHyKYAAAAAgCAAAAgAemJ7AQ/fmt.avif" />
  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.
  2. generate_bar_chart: Generate a bar chart, used to compare values across different categories, suitable for horizontal comparisons.
  3. generate_boxplot_chart: Generate a boxplot, used to display the distribution of data, including the median, quartiles, and outliers.
  4. generate_column_chart: Generate a column chart, used to compare values across different categories, suitable for vertical comparisons.
  5. generate_district_map - Generate a district-map, used to show administrative divisions and data distribution.
  6. generate_dual_axes_chart: Generate a dual-axes chart, used to display the relationship between two variables with different units or ranges.
  7. generate_fishbone_diagram: Generate a fishbone diagram, also known as an Ishikawa diagram, used to identify and display the root causes of a problem.
  8. generate_flow_diagram: Generate a flowchart, used to display the steps and sequence of a process.
  9. generate_funnel_chart: Generate a funnel chart, used to display data loss at different stages.
  10. 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.
  11. generate_line_chart: Generate a line chart, used to display the trend of data over time or another continuous variable.
  12. generate_liquid_chart: Generate a liquid chart, used to display the proportion of data, visually representing percentages in the form of water-filled spheres.
  13. generate_mind_map: Generate a mind-map, used to display thought processes and hierarchical information.
  14. generate_network_graph: Generate a network graph, used to display relationships and connections between nodes.
  15. generate_organization_chart: Generate an organizational chart, used to display the structure of an organization and personnel relationships.
  16. generate_path_map - Generate a path-map, used to display route planning results for POIs.
  17. 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.
  18. generate_pin_map - Generate a pin-map, used to show the distribution of POIs.
  19. generate_radar_chart: Generate a radar chart, used to display multi-dimensional data comprehensively, showing multiple dimensions in a radar-like format.
  20. 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.
  21. 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.
  22. 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.
  23. generate_venn_chart: Generate a venn diagram, used to display relationships between sets, including intersections, unions, and differences.
  24. 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.
  25. 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.
  26. 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:

# For SSE transport (default endpoint: /sse)
mcp-server-chart --transport sse

# For Streamable transport with custom endpoint
mcp-server-chart --transport streamable

Then you can access the server at:

  • SSE transport: http://localhost:1122/sse
  • Streamable transport: http://localhost:1122/mcp

Docker deploy

Enter the docker directory.

cd docker

Deploy using docker-compose.

docker compose up -d

Then you can access the server at:

  • SSE transport: http://localhost:1123/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")
  --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

VariableDescriptionDefaultExample
VIS_REQUEST_SERVERCustom chart generation service URL for private deploymenthttps://antv-studio.alipay.com/api/gpt-vishttps://your-server.com/api/chart
SERVICE_IDService identifier for chart generation records-your-service-id-123
DISABLED_TOOLSComma-separated list of tool names to disable-generate_fishbone_diagram,generate_mind_map

📠 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-SSR for rendering. Such as, { "type": "line", "data": [{ "time": "2025-05", "value": 512 }, { "time": "2025-06", "value": 1024 }] }.
  • Return: The return object of HTTP service.
    • success: boolean Whether generate chart image successfully.
    • resultObj: string The chart image url.
    • errorMessage: string When success = false, return the error message.

[!NOTE] 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):

<img alt="my service identifier website" width="240" src="https://mdn.alipayobjects.com/huamei_dxq8v0/afts/img/dASoTLt6EywAAAAARqAAAAgADu43AQFr/fmt.webp" />

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.

<img alt="my map records website" width="240" src="https://mdn.alipayobjects.com/huamei_dxq8v0/afts/img/RacFR7emR3QAAAAAUkAAAAgADu43AQFr/original" />

🎛️ 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 install

Build the server:

npm run build

Start the MCP server:

npm run start

Start the MCP server with SSE transport:

node build/index.js -t sse

Start the MCP server with Streamable transport:

node build/index.js -t streamable

📄 License

MIT@AntV.

Related MCP servers

Give your AI agent stealth web scraping with Cloudflare bypass and CSS selection, powered by Scrapling.

67k
Python
BSD-3-Clause
View repository →

Give your AI coding agent full control of a live Chrome browser for automation, debugging, and performance analysis.

45k
TypeScript
Apache-2.0
View repository →

Let AI agents manage your Puter files, websites, and serverless workers over MCP.

43k
TypeScript
AGPL-3.0
View repository →

Browser automation for AI agents via MCP, powering ByteDance's Agent TARS hybrid GUI/DOM browser control.

37k
TypeScript
Apache-2.0
View repository →

Run arbitrary shell commands from an MCP-connected AI agent.

37k
TypeScript
Apache-2.0
View repository →

Filesystem access MCP server from ByteDance's UI-TARS/Agent TARS ecosystem.

37k
TypeScript
Apache-2.0
View repository →