MCP ECharts について
MCP ECharts は、Apache ECharts を基盤とする MCP サーバーで、AI が生成した設定から動的にチャートや図を作成します。チャート生成とデータ分析の用途向けで、png、svg、option 形式での出力に対応し、必要に応じて MinIO などのオブジェクトストレージへ画像を保存できます。
主な機能
- 01ECharts の全構文と設定オプションへの対応
- 02png、svg、option 形式でのエクスポート
- 03出力前の ECharts 設定の検証
- 04URL を返す MinIO ストレージとの任意連携
- 05ストレージ未設定時の Base64 出力への切り替え
活用シーン
- 01LLM によるデータからの棒グラフや折れ線グラフの生成
- 02会話中に出力可能なチャート画像の作成
- 03生成したチャートのオブジェクトストレージへの保存と共有
MCP 対応
MCP サーバーとして、チャート生成用のツールを MCP クライアントに公開します。クライアントは ECharts の設定を渡し、描画されたチャートを受け取れます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
18掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| echartsOption | string | はい | チャートの生成に使用する ECharts のオプションと設定です。例: { "title": { "text": "ECharts Entry Example", "left": "center", "top": "2%" }, "tooltip": {}, "xAxis": { "data": ["shirt", "cardigan", "chiffon", "pants", "heels", "socks"] }, "yAxis": {}, "series": [{ "name": "Sales", "type": "bar", "data": [5, 20, 36, 10, 10, 20] }] } 注意:有効な ECharts オプションは有効な JSON 文字列である必要があり、空にすることはできません。 |
| width | number | いいえ | ECharts の幅(ピクセル単位)。デフォルトは 800 です。 |
| height | number | いいえ | ECharts の高さ(ピクセル単位)。デフォルトは 600 です。 |
| theme | enum | いいえ | ECharts のテーマ(任意)。デフォルトは 'default' です。default | dark |
| outputType | enum | いいえ | 図の出力形式です。'png'、'svg'、'option' を指定できます。デフォルトは 'png' です。'png' はレンダリング済みの PNG 画像、'svg' はレンダリング済みの SVG 文字列、'option' は有効な ECharts option を返します。png | svg | option |
詳細
MCP ECharts

AI MCP を使用して
Apache ECharts を動的に生成し、チャートの生成とデータ分析を行います。チャート、グラフ、マップの生成には、 mcp-server-chart も使用できます。
✨ 特長
- データ、スタイル、テーマなど、
EChartsのすべての機能と構文を完全にサポートしています。 png、svg、option形式へのエクスポートをサポートしています。また、EChartsの検証機能により、モデルが正しい構文とグラフィックを複数回のやり取りで出力できるようにします。- MinIO との連携により、チャートを
MinIOオブジェクトストレージに保存し、パフォーマンスと共有機能の向上のため、Base64 データの代わりに URL を返します。 - 軽量で、
zero dependenceにより簡単にインストールできます。 - 非常に
安全で、すべてローカルで生成され、リモートサービスに依存しません。
🤖 使用方法
前提条件
- Node.js 18 以上が必要です。
デスクトップアプリ(stdio トランスポート)
Claude、VSCode、Cline、Cherry Studio などの Desktop APP で使用するには、以下の MCP サーバー設定を追加してください。Mac の場合:
{
"mcpServers": {
"mcp-echarts": {
"command": "npx",
"args": [
"-y",
"mcp-echarts"
]
}
}
}
Windows の場合:
{
"mcpServers": {
"mcp-echarts": {
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"mcp-echarts"
]
}
}
}
また、HTTP、SSE プロトコルを使用して、modelscope、glama.ai、skillselion.com などでも利用できます。
🚰 SSE または Streamable トランスポートで実行する
パッケージをグローバルにインストールします。
npm install -g mcp-echarts
お好みのトランスポートオプションでサーバーを実行します。
# For SSE transport (default endpoint: /sse)
mcp-echarts -t sse
# For Streamable transport with custom endpoint
mcp-echarts -t streamable
次の URL でサーバーにアクセスできます。
- SSE トランスポート:
http://localhost:3033/sse - Streamable トランスポート:
http://localhost:3033/mcp
🎮 CLI オプション
MCP サーバーの実行時には、以下の CLI オプションも使用できます。-h を指定して CLI を実行すると、コマンドオプションが表示されます。
MCP ECharts CLI
Options:
--transport, -t Specify the transport protocol: "stdio", "sse", or "streamable" (default: "stdio")
--port, -p Specify the port for SSE or streamable transport (default: 3033)
--endpoint, -e Specify the endpoint for the transport:
- For SSE: default is "/sse"
- For streamable: default is "/mcp"
--help, -h Show this help message
🗂️ MinIO の設定(任意)
パフォーマンスと共有機能を向上させるため、MinIO オブジェクトストレージを設定して、グラフ画像を Base64 データではなく URL として保存できます。
メモ
MinIO が設定されていない場合や利用できない場合、システムは自動的に
Base64データの出力に切り替わるため、互換性が保たれます。
以下の MinIO オブジェクトストレージプロバイダーと連携できます。
- MinIO:高性能な S3 互換オブジェクトストレージです。直接連携するには、MinIO JavaScript Client を使用します。
- Amazon S3:互換性のある API エンドポイントで AWS SDK を使用します。
- Alibaba Cloud OSS:OSS サービスには Alibaba Cloud SDK を使用します。
- Google Cloud Storage:Google Cloud SDK または互換性のある API を使用して連携します。
- Microsoft Azure Blob Storage:Blob ストレージへのアクセスには Azure SDK を使用します。
- Tencent Cloud COS:COS との連携には Tencent Cloud SDK を使用します。
また、MinIO はローカルに無料でセットアップできます。
-
MinIO をローカルにインストールして起動します:
# Download MinIO (macOS example) brew install minio/stable/minio # Start MinIO server minio server ~/minio-data --console-address :9001 -
環境変数を設定します:
# Copy the example environment file cp .env.example .env # Edit .env with your MinIO settings MINIO_ENDPOINT=localhost MINIO_PORT=9000 MINIO_USE_SSL=false MINIO_ACCESS_KEY=minioadmin MINIO_SECRET_KEY=minioadmin MINIO_BUCKET_NAME=mcp-echarts
🔨 開発
依存関係をインストールします:
npm install
サーバーをビルドします:
npm run build
MCP サーバーを起動します:
npm run start
🧑🏻💻 コントリビューター
- lyw405:
15+個のグラフ作成 MCP ツールに対応しました。#2 - 2niuhe:SSE と Streaming HTTP による MCP に対応しました。#17
- susuperli:
MinIOを使用してグラフ画像の Base64 を保存し、URL を返すようにしました。#10 - BQXBQX:node-canvas の代わりに
@napi-rs/canvasを使用するようにしました。#3 - Meet-student:すべてのグラフツールに
outputTypeスキーマを追加しました。#24 - hustcc:リポジトリを初期作成しました。
📄 ライセンス
MIT@hustcc。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。