You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Fully support all features and syntax of `ECharts`, include data, style, theme and so on.
16
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.
17
18
- Lightweight, we can install it with `zero dependence`.
18
19
- Extremely `secure`, fully generated locally, without relying on any remote services.
19
20
@@ -56,6 +57,46 @@ On Window system:
56
57
57
58
Also, you can use it on aliyun, modelscope, glama.ai, smithery.ai or others with HTTP, SSE Protocol.
58
59
60
+
## 🗂️ MinIO Configuration (Optional)
61
+
62
+
For better performance and sharing capabilities, you can configure MinIO object storage to store chart images as URLs instead of Base64 data.
63
+
64
+
### Setup MinIO
65
+
66
+
1.**Install and start MinIO locally:**
67
+
```bash
68
+
# Download MinIO (macOS example)
69
+
brew install minio/stable/minio
70
+
71
+
# Start MinIO server
72
+
minio server ~/minio-data --console-address :9001
73
+
```
74
+
75
+
2.**Configure environment variables:**
76
+
```bash
77
+
# Copy the example environment file
78
+
cp .env.example .env
79
+
80
+
# Edit .env with your MinIO settings
81
+
MINIO_ENDPOINT=localhost
82
+
MINIO_PORT=9000
83
+
MINIO_USE_SSL=false
84
+
MINIO_ACCESS_KEY=minioadmin
85
+
MINIO_SECRET_KEY=minioadmin
86
+
MINIO_BUCKET_NAME=mcp-echarts
87
+
```
88
+
89
+
3.**Integration with Object Storage Providers:**
90
+
-**[MinIO](https://min.io/)**: High-performance, S3-compatible object storage. Use [MinIO JavaScript Client](https://min.io/docs/minio/linux/developers/javascript/minio-javascript.html) for direct integration.
91
+
-**[Amazon S3](https://aws.amazon.com/s3/)**: Use [AWS SDK](https://aws.amazon.com/sdk-for-javascript/) with compatible API endpoint.
92
+
-**[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.
93
+
-**[Google Cloud Storage](https://cloud.google.com/storage)**: Integrate using [Google Cloud SDK](https://cloud.google.com/sdk) or compatible API.
94
+
-**[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.
95
+
-**[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.
96
+
### Fallback Behavior
97
+
98
+
If MinIO is not configured or unavailable, the system automatically falls back to `Base64` data output, ensuring compatibility.
-[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)
84
126
-[BQXBQX](https://github.com/BQXBQX): Use @napi-rs/canvas instead node-canvas. [#3](https://github.com/hustcc/mcp-echarts/issues/3)
85
127
-[hustcc](https://github.com/hustcc): Initial the repo.
0 commit comments