Generate Apache ECharts with AI MCP dynamically for chart generation and data analysis. Also you can use mcp-server-chart to generate chart, graph, map. - 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.
Add this skill
npx mdskills install hustcc/mcp-echartsWell-documented MCP server for ECharts chart generation with multiple output formats and optional MinIO storage
1# <img src="https://echarts.apache.org/zh/images/favicon.png" height="24"/> MCP ECharts  [](https://github.com/hustcc/mcp-echarts/actions/workflows/build.yml) [](https://www.npmjs.com/package/mcp-echarts) [](https://smithery.ai/server/@hustcc/mcp-echarts) [](https://www.npmjs.com/package/mcp-echarts) [](https://archestra.ai/mcp-catalog/hustcc__mcp-echarts)23Generate <img src="https://echarts.apache.org/zh/images/favicon.png" height="14"/> [Apache ECharts](https://echarts.apache.org/) with AI MCP dynamically for chart generation and data analysis. _Also you can use <img src="https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*ZFK8SrovcqgAAAAAAAAAAAAAemJ7AQ/original" height="14"/> [mcp-server-chart](https://github.com/antvis/mcp-server-chart) to generate chart, graph, map._45<div align="center">6 <img width="648" alt="mcp-echarts" src="https://mdn.alipayobjects.com/huamei_1gdzij/afts/img/A*s3w3SpMMPDQAAAAARzAAAAgAemB7AQ/original" />7</div>89<div align="center">10 <img width="648" alt="award" src="https://github.com/user-attachments/assets/962ab78f-387d-412d-81e3-13981328082d" />11</div>1213## โจ Features1415- Fully support all features and syntax of `ECharts`, include data, style, theme and so on.16- 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.17- MinIO Integration, store charts in `MinIO` object storage and return URLs instead of Base64 data for better performance and sharing capabilities.18- Lightweight, we can install it easily with `zero dependence`.19- Extremely `secure`, fully generated locally, without relying on any remote services.202122## ๐ค Usage2324### Prerequisites2526- Node.js 18 or higher is required.2728### Desktop Applications (stdio transport)2930To use with `Desktop APP`, such as Claude, VSCode, Cline, Cherry Studio, and so on, add the MCP server config below. On Mac system:3132```json33{34 "mcpServers": {35 "mcp-echarts": {36 "command": "npx",37 "args": [38 "-y",39 "mcp-echarts"40 ]41 }42 }43}44```4546On Window system:4748```json49{50 "mcpServers": {51 "mcp-echarts": {52 "command": "cmd",53 "args": [54 "/c",55 "npx",56 "-y",57 "mcp-echarts"58 ]59 }60 }61}62```6364Also, you can use it on [modelscope](https://www.modelscope.cn/mcp/servers/hustcc/MCP-ECharts), [glama.ai](https://glama.ai/mcp/servers/@hustcc/mcp-echarts), [smithery.ai](https://smithery.ai/server/@hustcc/mcp-echarts) or others with HTTP, SSE Protocol.656667## ๐ฐ Run with SSE or Streamable transport6869Install the package globally.7071```bash72npm install -g mcp-echarts73```7475Run the server with your preferred transport option:7677```bash78# For SSE transport (default endpoint: /sse)79mcp-echarts -t sse8081# For Streamable transport with custom endpoint82mcp-echarts -t streamable83```8485Then you can access the server at:86- SSE transport: `http://localhost:3033/sse`87- Streamable transport: `http://localhost:3033/mcp`888990## ๐ฎ CLI Options9192You can also use the following CLI options when running the MCP server. Command options by run cli with `-h`.9394```plain95MCP ECharts CLI9697Options:98 --transport, -t Specify the transport protocol: "stdio", "sse", or "streamable" (default: "stdio")99 --port, -p Specify the port for SSE or streamable transport (default: 3033)100 --endpoint, -e Specify the endpoint for the transport:101 - For SSE: default is "/sse"102 - For streamable: default is "/mcp"103 --help, -h Show this help message104```105106107## ๐๏ธ MinIO Configuration (Optional)108109For better performance and sharing capabilities, you can configure MinIO object storage to store chart images as URLs instead of Base64 data.110111> [!NOTE]112> If MinIO is not configured or unavailable, the system automatically falls back to `Base64` data output, ensuring compatibility.113114We can Integrate with `MinIO` object storage providers below.115116 - [MinIO](https://min.io/): High-performance, S3-compatible object storage. Use [MinIO JavaScript Client](https://docs.min.io/enterprise/aistor-object-store/developers/sdk/javascript/) for direct integration.117 - [Amazon S3](https://aws.amazon.com/s3/): Use [AWS SDK](https://aws.amazon.com/sdk-for-javascript/) with compatible API endpoint.118 - [Alibaba Cloud OSS](https://www.alibabacloud.com/product/object-storage-service): Use the [Alibaba Cloud SDK](https://www.alibabacloud.com/help/en/sdk) for OSS services.119 - [Google Cloud Storage](https://cloud.google.com/storage): Integrate using [Google Cloud SDK](https://cloud.google.com/sdk) or compatible API.120 - [Microsoft Azure Blob Storage](https://azure.microsoft.com/en-us/products/storage/blobs): Use [Azure SDK](https://azure.microsoft.com/en-us/downloads/) for Blob storage access.121 - [Tencent Cloud COS](https://intl.cloud.tencent.com/product/cos): Use the [Tencent Cloud SDK](https://intl.cloud.tencent.com/document/product/436/6474) for COS integration.122123Also, we can setup MinIO locally for free.1241251. **Install and start MinIO locally:**126127 ```bash128 # Download MinIO (macOS example)129 brew install minio/stable/minio130131 # Start MinIO server132 minio server ~/minio-data --console-address :9001133 ```1341353. **Configure environment variables:**136137 ```bash138 # Copy the example environment file139 cp .env.example .env140141 # Edit .env with your MinIO settings142 MINIO_ENDPOINT=localhost143 MINIO_PORT=9000144 MINIO_USE_SSL=false145 MINIO_ACCESS_KEY=minioadmin146 MINIO_SECRET_KEY=minioadmin147 MINIO_BUCKET_NAME=mcp-echarts148 ```149150151## ๐จ Development152153Install dependencies:154155```bash156npm install157```158159Build the server:160161```bash162npm run build163```164165Start the MCP server:166167```bash168npm run start169```170171172## ๐ง๐ปโ๐ป Contributors173174- [lyw405](https://github.com/lyw405): Supports `15+` charting MCP tool. [#2](https://github.com/hustcc/mcp-echarts/issues/2)175- [2niuhe](https://github.com/2niuhe): Support MCP with SSE and Streaming HTTP. [#17](https://github.com/hustcc/mcp-echarts/issues/17)176- [susuperli](https://github.com/susuperli): Use `MinIO` to save the chart image base64 and return the url. [#10](https://github.com/hustcc/mcp-echarts/issues/10)177- [BQXBQX](https://github.com/BQXBQX): Use `@napi-rs/canvas` instead node-canvas. [#3](https://github.com/hustcc/mcp-echarts/issues/3)178- [Meet-student](https://github.com/Meet-student): Add `outputType` schema for all chart tools. [#24](https://github.com/hustcc/mcp-echarts/issues/24)179- [hustcc](https://github.com/hustcc): Initial the repo.180181182## ๐ License183184MIT@[hustcc](https://github.com/hustcc).185
Full transparency โ inspect the skill content before installing.