{"id":30076018,"url":"https://github.com/hustcc/mcp-echarts","last_synced_at":"2026-08-27T18:04:57.388Z","repository":{"id":304159474,"uuid":"1017067956","full_name":"hustcc/mcp-echarts","owner":"hustcc","description":"🧬 Generate visual charts using ECharts with AI MCP dynamically, used for chart generation and data analysis.","archived":false,"fork":false,"pushed_at":"2026-01-30T15:36:37.000Z","size":10242,"stargazers_count":257,"open_issues_count":4,"forks_count":38,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-08-07T15:09:01.336Z","etag":null,"topics":["echarts","llm","mcp","mcp-server"],"latest_commit_sha":null,"homepage":"https://github.com/hustcc/mcp-echarts","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hustcc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-07-10T01:29:54.000Z","updated_at":"2026-08-05T16:13:09.000Z","dependencies_parsed_at":"2025-07-11T13:43:57.179Z","dependency_job_id":"ac261800-3b15-4977-9909-961fbf65b7ef","html_url":"https://github.com/hustcc/mcp-echarts","commit_stats":null,"previous_names":["hustcc/mcp-echarts"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/hustcc/mcp-echarts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hustcc%2Fmcp-echarts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hustcc%2Fmcp-echarts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hustcc%2Fmcp-echarts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hustcc%2Fmcp-echarts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hustcc","download_url":"https://codeload.github.com/hustcc/mcp-echarts/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hustcc%2Fmcp-echarts/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36945701,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-08-27T02:00:07.166Z","response_time":96,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["echarts","llm","mcp","mcp-server"],"created_at":"2025-08-08T15:01:43.851Z","updated_at":"2026-08-27T18:04:57.383Z","avatar_url":"https://github.com/hustcc.png","language":"TypeScript","funding_links":[],"categories":["Data \u0026 Analytics","Design und Kreatives","Data Visualization","サーバー実装","📚 Projects (1974 total)","📊 \u003ca name=\"data-visualization\"\u003e\u003c/a\u003eData Visualization","📦 Other","Official Servers","カテゴリ","MCP Servers \u0026 Protocol","👤 Customer Data Platforms (7 servers)","可用服务","Customer Data Platforms","Server Implementations"],"sub_categories":["Visualization","Claude API","Dieselbe Konfiguration, CLI und IDE","👤 \u003ca name=\"customer-data-platforms\"\u003e\u003c/a\u003e顧客データプラットフォーム","MCP Servers","🧠 \u003ca name=\"data-science--ml\"\u003e\u003c/a\u003eデータサイエンス・ML","可视化","👤 \u003ca name=\"customer-data-platforms\"\u003e\u003c/a\u003eCustomer Data Platforms"],"readme":"# \u003cimg src=\"https://echarts.apache.org/zh/images/favicon.png\" height=\"24\"/\u003e 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 \u003cimg src=\"https://echarts.apache.org/zh/images/favicon.png\" height=\"14\"/\u003e [Apache ECharts](https://echarts.apache.org/) with AI MCP dynamically for chart generation and data analysis. _Also you can use \u003cimg src=\"https://mdn.alipayobjects.com/huamei_qa8qxu/afts/img/A*ZFK8SrovcqgAAAAAAAAAAAAAemJ7AQ/original\" height=\"14\"/\u003e [mcp-server-chart](https://github.com/antvis/mcp-server-chart) to generate chart, graph, map._\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg width=\"648\" alt=\"mcp-echarts\" src=\"https://mdn.alipayobjects.com/huamei_1gdzij/afts/img/A*s3w3SpMMPDQAAAAARzAAAAgAemB7AQ/original\" /\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg width=\"648\" alt=\"award\" src=\"https://github.com/user-attachments/assets/962ab78f-387d-412d-81e3-13981328082d\" /\u003e\n\u003c/div\u003e\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\u003e [!NOTE]\n\u003e 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","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhustcc%2Fmcp-echarts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhustcc%2Fmcp-echarts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhustcc%2Fmcp-echarts/lists"}