mcp-echartsは、AI大規模言語モデル(LLM)がApache EChartsビジュアルチャートを動的に生成できるようにするツールである。 モデル・コンテキスト・プロトコル(MCP)サーバーとして機能し、AIアシスタントがユーザー入力のコマンドやデータに基づいてリッチなチャートを作成するために呼び出すことができる。 例えば、ユーザーがAIに「この売上データを棒グラフにして」と言うと、AIはmcp-echartsを使ってグラフを作成する。このツールの特徴は、リモート・サービスに依存することなく、完全にローカルで動作することで、データの安全性を確保している。 同時に、インストールも簡単で、MinIOオブジェクトストレージと連携させることで、生成されたチャートをリンクの形で共有することができ、伝達・共有の効率が向上する。 このように、mcp-echartsはAIアプリケーションに動的データを可視化する機能を提供し、より直感的なデータ分析と結果の提示を可能にします。
機能一覧
- EChartsをフルサポートデータ、スタイル、テーマなど、Apache EChartsのすべての機能と構文をフルサポート。
- 複数のエクスポート形式として生成されたチャートのエクスポートをサポートします。
png
そしてsvg
画像フォーマット、またはEChartsの出力option
設定ファイル。 - 文法チェックAIモデルが複数回の対話を経て、最終的に構文的に正しいチャート構成を出力できるようにする内蔵キャリブレーション機能。
- MinIOの統合MinIOオブジェクト・ストレージ・サービスとの統合をサポート。有効にすると、生成されたチャートはMinIOにアップロードされ、Base64データストリームの代わりにURLリンクを返す。MinIOが設定されていない場合、ツールは自動的にBase64形式の出力に切り替わります。
- 軽量設置これは次のようにして行うことができる。
npx
コマンドは、複雑なインストールプロセスや外部依存関係なしに直接実行される。 - 局所的な操作チャート生成プロセスはすべてローカル・コンピューター上で行われ、リモート・サーバーとは通信しないため、データとプライバシーの安全性が保証されます。
- 複数の通信プロトコル標準入出力 (
stdio
)、サーバーはイベント(sse
)とストリーミング(streamable
)、その他多くのプロトコルをAIアプリケーションと統合する。
ヘルプの使用
mcp-echartsは、AIアプリケーション(デスクトップ上のクロード、VSCodeプラグインなど)がチャートを生成するために呼び出すことができるバックグラウンド・サービスとして動作します。ユーザーは通常、mcp-echartsを直接操作するのではなく、AIアプリケーションがそれを使用するように設定する。
1.クイックスタート(デスクトップアプリケーションの統合)
これは最も一般的な使い方で、AIアプリの設定でmcp-echartsが利用可能なツールとして指定されている。
設定方法::
MCPプロトコルをサポートするAIアプリケーション(Claude Desktop Edition、VSCodeなど)の設定ファイルに mcpServers
パート
- macOSの場合::
{
"mcpServers": {
"mcp-echarts": {
"command": "npx",
"args": [ "-y", "mcp-echarts" ]
}
}
}
- Windowsシステムの場合::
{
"mcpServers": {
"mcp-echarts": {
"command": "cmd",
"args": [ "/c", "npx", "-y", "mcp-echarts" ]
}
}
}
```配置完成后,当你在这些应用中向AI发出绘图指令时,AI就会自动调用 `npx -y mcp-echarts` 命令来执行图表生成任务。 `npx -y` 会自动下载并运行最新版本的 mcp-echarts,无需用户手动安装。
### **2. 作为独立服务器运行**
如果你需要将 mcp-echarts 作为一个独立的HTTP服务部署,供其他网络应用(如 glama.ai, smithery.ai 等)调用,可以采用SSE或Streamable模式运行。
**安装**:
首先,需要通过 npm 将其全局安装到你的系统中。
```bash
npm install -g mcp-echarts
サービス開始::
必要に応じてサービスを開始するトランスポート・プロトコルを選択する。
- SSE(サーバー送信イベント)プロトコルで実行中::
mcp-echarts -t sse
サービスが開始されると、デフォルトでは
http://localhost:3033/sse
. - Streamableプロトコルで動作::
mcp-echarts -t streamable
サービスが開始されると、デフォルトでは
http://localhost:3033/mcp
.
コマンドラインオプション::
コマンドラインパラメーターでサービス設定をカスタマイズできます。実行 mcp-echarts -h
利用可能なすべてのオプションを表示します。
--transport, -t
トランスポートプロトコルを指定する。stdio
(デフォルト)、sse
もしかしたらstreamable
.--port, -p
に対してsse
もしかしたらstreamable
プロトコルはリスニング・ポートを指定する(デフォルトは3033
).--endpoint, -e
トランスポートプロトコルのアクセスパスを指定する。/sse
).
3.(オプション)MinIOオブジェクトストレージの設定
パフォーマンスと共有機能を向上させるために、生成されたチャート・イメージをMinIOや他のS3互換オブジェクト・ストレージ・サービスにアップロードするようにmcp-echartsを設定できます。
ステップ1:MinIOサービスの開始
まず、ローカルまたはサーバー上でMinIOサービスを実行する必要があります。macOSを例にすると brew
迅速なインストールと起動。
# 安装 MinIO
brew install minio/stable/minio
# 启动 MinIO 服务,数据将存储在 ~/minio-data 目录
minio server ~/minio-data --console-address :9001
ステップ2:環境変数の設定
mcp-echartsプロジェクトのルート・ディレクトリに .env
ファイルファイルは .env.example
まずはコピーを取ってください。
cp .env.example .env```
然后,编辑 `.env` 文件,填入你的MinIO服务器信息:
```env
MINIO_ENDPOINT=localhost
MINIO_PORT=9000
MINIO_USE_SSL=false
MINIO_ACCESS_KEY=minioadmin
MINIO_SECRET_KEY=minioadmin
MINIO_BUCKET_NAME=mcp-echarts
以下のことを確認してください。 MINIO_BUCKET_NAME
指定されたストレージバケット(Bucket)がMinIOに作成されました。一度設定すると、mcp-echartsはチャートが生成された後にアップロードし、URLを返します。MinIO接続に失敗した場合は、自動的にダウングレードし、画像のBase64エンコーディングを返します。
アプリケーションシナリオ
- AIアシスタントのデータ可視化
VSCodeやClaudeに統合されているようなAIアシスタントを使用してデータを分析する場合、ユーザーはAIに直接自然言語でチャートを生成するように命令することができます。例えば、ユーザーがCSVファイルをアップロードし、「このファイルのデータに基づいて、月次売上を示す折れ線グラフを作成してください」と言うと、AIアシスタントはmcp-echartsを呼び出し、グラフ作成を完了させる。 - 自動レポート作成
データ分析レポートを自動生成するシステムでは、mcp-echartsをコアコンポーネントとして使用できます。データを分析した後、プログラムはmcp-echartsサービスを呼び出して、主要なデータや結論を図表に変換し、最終的なレポート文書に埋め込むことで、レポート内容をより読みやすくすることができます。 - オンラインデータ分析プラットフォーム
ウェブアプリケーションやオンラインデータ分析プラットフォームは、バックエンドのチャート生成エンジンとしてmcp-echartsを統合することができます。ユーザーはフロントエンドのインターフェイスでデータを操作し、プラットフォームのバックエンドはデータとチャートの設定をmcp-echartsサービスに送り、mcp-echartsは動的に可視化結果を生成してユーザーに表示します。
品質保証
- MCPとは?
MCP(Model Context Protocol)は、大規模言語モデル(LLM)が外部のツールやサービスとやり取りできるように設計されたプロトコルです。mcp-echarts
はプロトコルを実装したサーバーサイドのツールで、AIモデルがこのサービスを呼び出すことでEChartsチャートを生成する機能を持つことができる。 - mcp-echartsはどのような種類のチャートをサポートしていますか?
理論的にはApache EChartsがサポートするすべてのチャートタイプと機能をサポートする。その基本原理はEChartsのチャートを受け取り、レンダリングすることだからです。option
そのため、AIモデルが正しいコンフィギュレーションを生成する限りはmcp-echarts
一般的な棒グラフ、折れ線グラフ、円グラフ、散布図から、より複雑な樹形図、旭日図などをレンダリングすることができる。 - mcp-echartsを使うにはインターネット接続が必要ですか?
その必要はない。mcp-echarts
すべてのチャート生成作業は、外部のクラウドサービスに依存することなくローカルで行われるため、データ処理のプライバシーとセキュリティが確保される。MinIOオブジェクトストレージが設定されている場合のみ、指定したMinIOサーバーに接続して画像をアップロードします。 - なぜMINIOを勧めるのですか?
AIがチャートを生成する場合、通常はチャート(画像)をフロントエンドに返して表示させる必要がある。画像のBase64エンコードをそのまま返すとデータ量が大きくなり、伝送効率が悪い。MinIOを使えば、画像をオブジェクトストアに格納し、短いURLを返せば、フロントエンドはそのURLを読み込むだけなので、効率的で、生成されたチャートの共有や管理も簡単です。