Socket
Book a DemoInstallSign in
Socket

@visactor/vchart-mcp-server

Package Overview
Dependencies
Maintainers
16
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@visactor/vchart-mcp-server

A model context server for vchart

latest
Source
npmnpm
Version
0.1.4
Version published
Maintainers
16
Created
Source
VisActor Logo VisActor Logo

vchart-mcp-server

A Model Context Protocol (MCP) server for the @visactor/vchart that enables AI assistants to generate interactive charts and visualizations.

MCP Server npm Version npm License smithery badge

English | 简体中文

Table of Contents

Features

Chart Output Formats

Each chart can be generated in multiple formats:

  • Image - PNG/JPG image format for embedding (default)
  • Spec - VChart spec object for programmatic use
  • HTML - Interactive HTML chart for web display

Common Parameters Supported by All Charts

ParameterDescriptionType/OptionsDefault
outputOutput format"spec" | "image" | "html""image"
widthChart widthNumber500
heightChart heightNumber500
titleChart titleStringOptional
subTitleChart subtitleStringOptional
titleOrientTitle positionStringOptional
chartThemeChart themeStringOptional
backgroundBackground colorStringOptional
colorsColor paletteArray/StringOptional

Supported Chart Types and Tools

generate_cartesian_chart

Generates Cartesian coordinate system charts, including area, bar, line, waterfall, funnel, and animated ranking bar charts.

ParameterDescriptionTypeRequired
dataTableData object arrayArrayYes
chartTypeChart type"line" | "area" | "bar" | "waterfall" | "funnel" | "ranking_bar"Yes
xFieldX axis field namestringYes
yFieldY axis field namestringYes
colorFieldColor mapping fieldstringOptional
timeFieldTime field for animated ranking bar chartstringOptional
stackOrPercentStack or percent mode"stack" | "percent"Optional
transposeDisplay bar chart horizontally (as bar chart)booleanOptional
xAxisTypeX axis type"band" | "linear"Optional
xAxisOrientX axis position"top" | "bottom"Optional
xAxisTitleX axis titlestringOptional
xAxisHasGridShow X axis grid linesbooleanOptional
xAxisHasLabelShow X axis labelsbooleanOptional
xAxisHasTickShow X axis ticksbooleanOptional
yAxisTypeY axis type"band" | "linear"Optional
yAxisOrientY axis position"left" | "right"Optional
yAxisTitleY axis titlestringOptional
yAxisHasGridShow Y axis grid linesbooleanOptional
yAxisHasLabelShow Y axis labelsbooleanOptional
yAxisHasTickShow Y axis ticksbooleanOptional

generate_polar_chart

Generates polar coordinate system charts, including radar, rose, and pie charts.

ParameterDescriptionType/OptionsRequired
dataTableData object arrayArrayYes
chartTypeChart type"radar" | "rose" | "pie"Yes
categoryFieldCategory field namestringYes
valueFieldValue field namestringYes
colorFieldColor mapping fieldstringOptional
angleAxisTitleAngle axis titlestringOptional
angleAxisHasGridShow angle axis grid linesbooleanOptional
angleAxisHasLabelShow angle axis labelsbooleanOptional
angleAxisHasTickShow angle axis ticksbooleanOptional
angleAxisTypeAngle axis type"band" | "linear"Optional
radiusAxisTitleRadius axis titlestringOptional
radiusAxisHasGridShow radius axis grid linesbooleanOptional
radiusAxisHasLabelShow radius axis labelsbooleanOptional
radiusAxisHasTickShow radius axis ticksbooleanOptional
radiusAxisTypeRadius axis type"band" | "linear"Optional

generate_hierarchical_chart

Generates hierarchical charts, including treemap, circle packing, and sunburst charts.

ParameterDescriptionType/OptionsRequired
dataTableData object arrayArrayYes
chartTypeChart type"sunburst" | "treemap" | "circle_packing"Yes
colorFieldColor mapping fieldstringYes
valueFieldValue mapping fieldstringYes

generate_progress_chart

Generates progress charts, including circular, linear, gauge, and liquid charts.

ParameterDescriptionType/OptionsRequired
dataTableData object arrayArrayYes
chartTypeChart type"linear_progress" | "circular_progress" | "gauge" | "liquid"Yes
valueFieldProgress value field namestringYes
colorFieldColor mapping field (optional for liquid, required otherwise)stringOptional

generate_wordcloud_venn

Generates word cloud or Venn diagrams, suitable for displaying keywords and frequencies in text data.

Parameters:

ParameterDescriptionType/OptionsRequired
dataTableData object arrayArrayYes
chartTypeChart type"wordcloud" | "venn"Yes
colorFieldText field or Venn set field namestringYes
valueFieldValue field name (required for Venn)stringOptional

generate_range_column_chart

Generates horizontal range bar charts, suitable for displaying data ranges and comparisons.

ParameterDescriptionType/OptionsRequired
dataTableData object arrayany[]Yes
xFieldCategory field namestringYes
yFieldValue field names[string, string]Yes
colorFieldColor mapping fieldstringOptional
xAxisTypeX axis type"band" | "linear"Optional
xAxisOrientX axis position"top" | "bottom"Optional
xAxisTitleX axis titlestringOptional
xAxisHasGridShow X axis grid linesbooleanOptional
xAxisHasLabelShow X axis labelsbooleanOptional
xAxisHasTickShow X axis ticksbooleanOptional
yAxisTypeY axis type"band" | "linear"Optional
yAxisOrientY axis position"left" | "right"Optional
yAxisTitleY axis titlestringOptional
yAxisHasGridShow Y axis grid linesbooleanOptional
yAxisHasLabelShow Y axis labelsbooleanOptional
yAxisHasTickShow Y axis ticksbooleanOptional

generate_dual_axis_chart

Combination chart with two Y axes, for comparing two metrics with different units.

ParameterDescriptionType/OptionsRequired
dataTableData object arrayany[]Yes
xFieldX axis field namestringYes
yFieldTwo Y axis field names[string, string]Yes
colorFieldColor mapping fieldstringOptional
stackOrPercentStack or percent mode"stack" | "percent"Optional
xAxisOrientX axis position"top" | "bottom"Optional
xAxisTitleX axis titlestringOptional
xAxisHasGridShow X axis grid linesbooleanOptional
xAxisHasLabelShow X axis labelsbooleanOptional
xAxisHasTickShow X axis ticksbooleanOptional
leftYAxisTitleLeft Y axis titlestringOptional
leftYAxisHasGridLeft Y axis grid linesbooleanOptional
leftYAxisHasLabelLeft Y axis labelsbooleanOptional
leftYAxisHasTickLeft Y axis ticksbooleanOptional
rightYAxisTitleRight Y axis titlestringOptional
rightYAxisHasGridRight Y axis grid linesbooleanOptional
rightYAxisHasLabelRight Y axis labelsbooleanOptional
rightYAxisHasTickRight Y axis ticksbooleanOptional

generate_scatter_chart

Displays the relationship between two variables, suitable for discovering patterns and outliers.

ParameterDescriptionType/OptionsRequired
dataTableData object arrayany[]Yes
xFieldX axis field namestringYes
yFieldY axis field namestringYes
colorFieldColor mapping fieldstringOptional
sizeFieldSize mapping fieldstringOptional
xAxisTypeX axis type"band" | "linear"Optional
xAxisOrientX axis position"top" | "bottom"Optional
xAxisTitleX axis titlestringOptional
xAxisHasGridShow X axis grid linesbooleanOptional
xAxisHasLabelShow X axis labelsbooleanOptional
xAxisHasTickShow X axis ticksbooleanOptional
yAxisTypeY axis type"band" | "linear"Optional
yAxisOrientY axis position"left" | "right"Optional
yAxisTitleY axis titlestringOptional
yAxisHasGridShow Y axis grid linesbooleanOptional
yAxisHasLabelShow Y axis labelsbooleanOptional
yAxisHasTickShow Y axis ticksbooleanOptional

generate_sankey_chart

Generates Sankey diagrams.

ParameterDescriptionTypeRequired
dataTableData object arrayany[]Yes
sourceFieldSource node fieldstringYes
targetFieldTarget node fieldstringYes
valueFieldValue fieldstringYes

generate_heatmap_chart

Generates heatmaps, suitable for displaying data density and distribution.

ParameterDescriptionType/OptionsRequired
dataTableData object arrayany[]Yes
xFieldX axis field namestringYes
yFieldY axis field namestringYes
sizeFieldValue field namestringYes
xAxisTypeX axis type"band" | "linear"Optional
xAxisOrientX axis position"top" | "bottom"Optional
xAxisTitleX axis titlestringOptional
xAxisHasGridShow X axis grid linesbooleanOptional
xAxisHasLabelShow X axis labelsbooleanOptional
xAxisHasTickShow X axis ticksbooleanOptional
yAxisTypeY axis type"band" | "linear"Optional
yAxisOrientY axis position"left" | "right"Optional
yAxisTitleY axis titlestringOptional
yAxisHasGridShow Y axis grid linesbooleanOptional
yAxisHasLabelShow Y axis labelsbooleanOptional
yAxisHasTickShow Y axis ticksbooleanOptional

Usage

To use in desktop applications (such as Trae, Claude, VSCode, Cline, Cherry Studio, Cursor, etc.), add the following MCP server configuration:

MacOS

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

Windows

{
  "mcpServers": {
    "vchart-mcp-server": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "@visactor/vchart-mcp-server"]
    }
  }
}

Installing via Smithery

To install vchart-mcp-server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @VisActor/vchart-mcp-server --client claude

Running with SSE or Streamable Transport

Install and Start

Install @visactor/vchart-mcp-server globally:

npm install -g @visactor/vchart-mcp-server

Start the server:

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

# For Streamable transport (default endpoint: /streamable)
mcp-server-chart --transport streamable

Then you can access the server at:

  • SSE transport: http://localhost:3001/sse
  • Streamable transport: http://localhost:3001/streamable

Other CLI Options

Options:
  -t, --transport <type>   Transport type (stdio, sse, streamable) [default: stdio]
  -p, --port <port>        Port number for HTTP-based transports [default: 3000]
  -e, --endpoint <path>    Endpoint path for HTTP-based transports [default: /message]
  -h, --help               Show this help message

Examples:
  node index.js                                    # Start with stdio transport
  node index.js -t sse -p 3000                     # Start with SSE transport on port 3000
  node index.js -t sse -p 3000 -e /api/sse         # Start with SSE transport on custom endpoint
  node index.js -t streamable -p 3001 -e /stream   # Start with streamable transport on custom endpoint

Example Usage in AI Conversations

Once configured, you can ask your AI assistant to create charts:

"Create an area chart showing monthly sales data"

The assistant will use the generate_cartesian_chart tool with parameters:
- chartType: "area"
- dataTable: your sales data
- xField: "month"
- yField: "sales"

"Generate a dual-axis chart comparing revenue and user growth"

The assistant will use the generate_dual_axis_chart tool with parameters:
- dataTable: your business data
- xField: "time"
- yField: ["revenue", "userGrowth"]

"Show me an interactive HTML bar chart of quarterly performance"

The assistant will use the generate_cartesian_chart tool with parameters:
- chartType: "bar"
- dataTable: your quarterly data
- xField: "quarter"
- yField: "performance"
- output: "html"

"Create a pie chart of product sales share"

The assistant will use the generate_polar_chart tool with parameters:
- chartType: "pie"
- dataTable: your sales data
- categoryField: "product"
- valueField: "sales"

"Draw a scatter plot of height and weight"

The assistant will use the generate_scatter_chart tool with parameters:
- dataTable: your body data
- xField: "height"
- yField: "weight"
- colorField: "gender" (optional)

"Create a radar chart for team skill assessment"

The assistant will use the generate_polar_chart tool with parameters:
- chartType: "radar"
- dataTable: your assessment data
- categoryField: "skill"
- valueField: "score"

"Generate a Sankey diagram showing data flow"

The assistant will use the generate_sankey_chart tool with parameters:
- dataTable: your flow data
- sourceField: "from"
- targetField: "to"
- valueField: "amount"

"Create a heatmap showing data distribution"

The assistant will use the generate_heatmap_chart tool with parameters:
- dataTable: your distribution data
- xField: "x_category"
- yField: "y_category"
- sizeField: "value"

Development

Prerequisites

  • Node.js version >= 22.7.5

Build

npm run build

Development Mode (Auto Rebuild)

npm run watch

Testing

# Test chart generation
npm run test-tool

# Run MCP Inspector for debugging
npm run inspector

Debugging

Since the MCP server communicates via stdio, debugging can be challenging. Use MCP Inspector for development:

npm run inspector

Testing in AI Editors

To test the MCP server in an AI editor, use the following configuration:

{
  "mcpServers": {
    "vchart-mcp-server": {
      "command": "node",
      "args": ["/Users/path/to/your/project/vchart-mcp-server/build/index.js"]
    }
  }
}

Environment Variables

Private Deployment

Currently, images and HTML generated by vchart-mcp-server are produced via https://vmind.visactor.com/export. For private deployment, set the VIMD_IMAGE_SERVER environment variable to specify your own image generation server.

{
  "mcpServers": {
    "mcp-server-chart": {
      "command": "npx",
      "args": [
        "-y",
        "@visactor/vchart-mcp-server"
      ],
      "env": {
        "VIMD_IMAGE_SERVER": "<YOUR_VIS_REQUEST_SERVER>"
      }
    }
  }
}

License

MIT License

Contributing

Contributions are welcome! Please feel free to submit issues and pull requests.

FAQs

Package last updated on 14 Jul 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts