{"id":"57468554-3282-4ac8-8279-c23b87414a19","slug":"mcp-echarts","kind":"mcp","name":"mcp-echarts","summary":"🧬 Generate visual charts using ECharts with AI MCP dynamically, used for chart generation and data analysis.","owner":"hustcc","repoUrl":"https://github.com/hustcc/mcp-echarts","license":"MIT","licenseTier":"permissive","trust":"community","stars":270,"match":null,"fewStars":false,"format":"mcp","createdAt":"2025-07-10T01:29:54.000Z","addedAt":"2026-10-14T03:43:08.923Z","logoUrl":"https://avatars.githubusercontent.com/u/7856674?u=2a891a2bf8cc56692c38acb15e5048c80534c8e5&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["data-analytics","cloud-infra"],"tags":["echarts","llm"],"runtime":"node","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-15T02:44:28.695Z","sample":false,"url":"https://conduits.dev/tools/mcp-echarts","language":"TypeScript","transports":["stdio"],"install":{"npm":"mcp-echarts"},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# <img src=\"https://echarts.apache.org/zh/images/favicon.png\" height=\"24\"/> MCP ECharts ![](https://badge.mcpx.dev?type=server 'MCP Server')  [![build](https://github.com/hustcc/mcp-echarts/actions/workflows/build.yml/badge.svg)](https://github.com/hustcc/mcp-echarts/actions/workflows/build.yml) [![npm Version](https://img.shields.io/npm/v/mcp-echarts.svg)](https://www.npmjs.com/package/mcp-echarts) [![Listed on Skillselion](https://skillselion.com/badge/mcp/tool/io.github.hustcc/mcp-echarts.svg)](https://skillselion.com/mcp/tool/io.github.hustcc/mcp-echarts) [![npm License](https://img.shields.io/npm/l/mcp-echarts.svg)](https://www.npmjs.com/package/mcp-echarts) [![Trust Score](https://archestra.ai/mcp-catalog/api/badge/quality/hustcc/mcp-echarts)](https://archestra.ai/mcp-catalog/hustcc__mcp-echarts)\n\nGenerate <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._\n\n<div align=\"center\">\n  <img width=\"648\" alt=\"mcp-echarts\" src=\"https://mdn.alipayobjects.com/huamei_1gdzij/afts/img/A*s3w3SpMMPDQAAAAARzAAAAgAemB7AQ/original\" />\n</div>\n\n<div align=\"center\">\n  <img width=\"648\" alt=\"award\" src=\"https://github.com/user-attachments/assets/962ab78f-387d-412d-81e3-13981328082d\" />\n</div>\n\n## ✨ Features\n\n- Fully support all features and syntax of `ECharts`, include data, style, theme and so on.\n- 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.\n- MinIO Integration, store charts in `MinIO` object storage and return URLs instead of Base64 data for better performance and sharing capabilities.\n- Lightweight, we can install it easily with `zero dependence`.\n- Extremely `secure`, fully generated locally, without relying on any remote services.\n\n\n## 🤖 Usage\n\n### Prerequisites\n\n- Node.js 18 or higher is required.\n\n### Desktop Applications (stdio transport)\n\nTo use with `Desktop APP`, such as Claude, VSCode, Cline, Cherry Studio, and so on, add the  MCP server config below. On Mac system:\n\n```json\n{\n  \"mcpServers\": {\n    \"mcp-echarts\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"mcp-echarts\"\n      ]\n    }\n  }\n}\n```\n\nOn Window system:\n\n```json\n{\n  \"mcpServers\": {\n    \"mcp-echarts\": {\n      \"command\": \"cmd\",\n      \"args\": [\n        \"/c\",\n        \"npx\",\n        \"-y\",\n        \"mcp-echarts\"\n      ]\n    }\n  }\n}\n```\n\nAlso, 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), [skillselion.com](https://skillselion.com/mcp/tool/io.github.hustcc/mcp-echarts) or others with HTTP, SSE Protocol.\n\n\n## 🚰 Run with SSE or Streamable transport\n\nInstall the package globally.\n\n```bash\nnpm install -g mcp-echarts\n```\n\nRun the server with your preferred transport option:\n\n```bash\n# For SSE transport (default endpoint: /sse)\nmcp-echarts -t sse\n\n# For Streamable transport with custom endpoint\nmcp-echarts -t streamable\n```\n\nThen you can access the server at:\n- SSE transport: `http://localhost:3033/sse`\n- Streamable transport: `http://localhost:3033/mcp`\n\n\n## 🎮 CLI Options\n\nYou can also use the following CLI options when running the MCP server. Command options by run cli with `-h`.\n\n```plain\nMCP ECharts CLI\n\nOptions:\n  --transport, -t  Specify the transport protocol: \"stdio\", \"sse\", or \"streamable\" (default: \"stdio\")\n  --port, -p       Specify the port for SSE or streamable transport (default: 3033)\n  --endpoint, -e   Specify the endpoint for the transport:\n                    - For SSE: default is \"/sse\"\n                    - For streamable: default is \"/mcp\"\n  --help, -h       Show this help message\n```\n\n\n## 🗂️ MinIO Configuration (Optional)\n\nFor better performance and sharing capabilities, you can configure MinIO object storage to store chart images as URLs instead of Base64 data.\n\n> [!NOTE]\n> If MinIO is not configured or unavailable, the system automatically falls back to `Base64` data output, ensuring compatibility.\n\nWe can Integrate with `MinIO` object storage providers below.\n\n - [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.\n - [Amazon S3](https://aws.amazon.com/s3/): Use [AWS SDK](https://aws.amazon.com/sdk-for-javascript/) with compatible API endpoint.\n - [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.\n - [Google Cloud Storage](https://cloud.google.com/storage): Integrate using [Google Cloud SDK](https://cloud.google.com/sdk) or compatible API.\n - [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.\n - [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.\n\nAlso, we can setup MinIO locally for free.\n\n1. **Install and start MinIO locally:**\n\n   ```bash\n   # Download MinIO (macOS example)\n   brew install minio/stable/minio\n   \n   # Start MinIO server\n   minio server ~/minio-data --console-address :9001\n   ```\n\n3. **Configure environment variables:**\n\n   ```bash\n   # Copy the example environment file\n   cp .env.example .env\n   \n   # Edit .env with your MinIO settings\n   MINIO_ENDPOINT=localhost\n   MINIO_PORT=9000\n   MINIO_USE_SSL=false\n   MINIO_ACCESS_KEY=minioadmin\n   MINIO_SECRET_KEY=minioadmin\n   MINIO_BUCKET_NAME=mcp-echarts\n   ```\n\n\n## 🔨 Development\n\nInstall dependencies:\n\n```bash\nnpm install\n```\n\nBuild the server:\n\n```bash\nnpm run build\n```\n\nStart the MCP server:\n\n```bash\nnpm run start\n```\n\n\n## 🧑🏻‍💻 Contributors\n\n- [lyw405](https://github.com/lyw405): Supports `15+` charting MCP tool. [#2](https://github.com/hustcc/mcp-echarts/issues/2)\n- [2niuhe](https://github.com/2niuhe): Support MCP with SSE and Streaming HTTP. [#17](https://github.com/hustcc/mcp-echarts/issues/17)\n- [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)\n- [BQXBQX](https://github.com/BQXBQX): Use `@napi-rs/canvas` instead node-canvas. [#3](https://github.com/hustcc/mcp-echarts/issues/3)\n- [Meet-student](https://github.com/Meet-student): Add `outputType` schema for all chart tools. [#24](https://github.com/hustcc/mcp-echarts/issues/24)\n- [hustcc](https://github.com/hustcc): Initial the repo.\n\n\n## 📄 License\n\nMIT@[hustcc](https://github.com/hustcc).\n"}