Atlas / MCP servers / hustcc / ECharts

EChartsSAFE

mcp/hustcc/echarts-1

🧬 Generate visual charts using ECharts with AI MCP dynamically, used for chart generation and data analysis.

Verdict
SAFE
Grade
B
Trust score
89 /100
Exposed tools
16 16r · 0w · 0d
Transport
sse · stdio · streamable-http
License
MIT
Stars
269
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

MCP ECharts [](https://github.com/hustcc/mcp-echarts/actions/workflows/build.yml) [](https://www.npmjs.com/package/mcp-echarts) [](https://skillselion.com/mcp/tool/io.github.hustcc/mcp-echarts) [](https://www.npmjs.com/package/mcp-echarts) [](https://archestra.ai/mcp-catalog/hustcc__mcp-echarts)

Generate Apache ECharts with AI MCP dynamically for chart generation and data analysis. Also you can use [mcp-server-chart](https://github.com/antvis/mcp-server-chart) to generate chart, graph, map.

✨ Features

  • Fully support all features and syntax of ECharts, include data, style, theme and so on.
  • Support exporting to png, svg, and option formats, with validation for ECharts to facilitate the model's multi-round output of correct syntax and graphics.
  • MinIO Integration, store charts in MinIO object storage and return URLs instead of Base64 data for better performance and sharing capabilities.
  • Lightweight, we
Read from source at commit 0e456fb060ddOBSERVED · 2026-10-06
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code
claude mcp add mcp-echarts --env MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY} --env MINIO_SECRET_KEY=${MINIO_SECRET_KEY} -- npx -y [email protected]
claude-desktop
{
  "mcpServers": {
    "mcp-echarts": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "MINIO_ACCESS_KEY": "${MINIO_ACCESS_KEY}",
        "MINIO_SECRET_KEY": "${MINIO_SECRET_KEY}"
      }
    }
  }
}
03

Exposed tools (16)

16 read · 0 write · 0 destructive.

ToolRiskDescription
generate_bar_chartreadGenerate a bar chart to show data for numerical comparisons among different categories, such as, comparing categorical data and for horizontal comparisons.
generate_boxplot_chartreadGenerate a boxplot chart to show data for statistical summaries among different categories, such as, comparing the distribution of data points across categories.
generate_candlestick_chartreadGenerate a candlestick chart for financial data visualization, such as, stock prices, cryptocurrency prices, or other OHLC (Open-High-Low-Close) data.
generate_funnel_chartreadGenerate 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_gauge_chartreadGenerate a gauge chart to display single indicator
generate_graph_chartreadGenerate a network graph chart to show relationships (edges) between entities (nodes), such as, relationships between people in social networks.
generate_heatmap_chartreadGenerate a heatmap chart to display data density or intensity distribution, such as, user activity patterns by time and day, or correlation matrix.
generate_line_chartreadGenerate a line chart to show trends over time, such as, the ratio of Apple computer sales to Apple
generate_parallel_chartreadGenerate a parallel coordinates chart to display multi-dimensional data, such as, comparing different products across multiple attributes.
generate_pie_chartreadGenerate a pie chart to show the proportion of parts, such as, market share and budget allocation.
generate_radar_chartreadGenerate 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_chartreadGenerate 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_chartreadGenerate 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_sunburst_chartreadGenerate a sunburst chart to display multi-level hierarchical data, such as, organizational structure, file system hierarchy, or category breakdown.
generate_tree_chartreadGenerate a tree chart to display hierarchical data structure, such as, organizational chart, family tree, or file directory structure.
generate_treemap_chartreadGenerate 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.
04

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
none-observed
Shell
none-observed
Dependencies
not all pinned
Secrets in source
none-found

Findings (7)

LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
__tests__/examples/functional.spec.ts:2
import { tools } from "../../src/tools";
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
__tests__/tools/area.spec.ts:2
import { generateAreaChartTool } from "../../src/tools/area";
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
__tests__/tools/bar.spec.ts:2
import { generateBarChartTool } from "../../src/tools/bar";
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
__tests__/tools/boxplot.spec.ts:2
import { generateBoxplotChartTool } from "../../src/tools/boxplot";
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
__tests__/tools/candlestick.spec.ts:2
import { generateCandlestickChartTool } from "../../src/tools/candlestick";
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@modelcontextprotocol/sdk, @napi-rs/canvas, dotenv, echarts, express, minio, zod, @modelcontextprotocol/inspector
Why it matters. 20 dependency range(s) float
Fix. pin exact versions or ship a lockfile
INFOInventory / provenance · inv.oversize · CWE-1104
fonts/AlibabaPuHuiTi-3-55-Regular.otf
fonts/AlibabaPuHuiTi-3-55-Regular.otf
Why it matters. 7366576 bytes not read

Gates applied: no_behavioural_pass.

Audited 2026-10-06 · audit v0.4.1 · source sha 0e456fb060ddfull audit observations/trust-audit/mcp-server/hustcc__echarts-1.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-060e456fb060ddSAFEB89first audit
06

Questions

What is the ECharts MCP server?

🧬 Generate visual charts using ECharts with AI MCP dynamically, used for chart generation and data analysis.

What tools does ECharts expose?

16 in total: 16 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is ECharts safe to connect to an agent?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.

What credentials does ECharts need?

It reads MINIO_ACCESS_KEY and MINIO_SECRET_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How does ECharts run?

It speaks sse, stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as mcp-echarts at 0.7.1.

How current is this page?

The grade is for one exact copy of the source (0e456fb060dd), read on 2026-10-06. The repository is watched and re-audited when it changes.

Advertisement