mcpField
M
MCP ECharts

MCP ECharts

ローカル
github.com/hustccデータ・分析2709 週間前に更新

MCP ECharts について

MCP ECharts は、Apache ECharts を基盤とする MCP サーバーで、AI が生成した設定から動的にチャートや図を作成します。チャート生成とデータ分析の用途向けで、png、svg、option 形式での出力に対応し、必要に応じて MinIO などのオブジェクトストレージへ画像を保存できます。

主な機能

  1. 01ECharts の全構文と設定オプションへの対応
  2. 02png、svg、option 形式でのエクスポート
  3. 03出力前の ECharts 設定の検証
  4. 04URL を返す MinIO ストレージとの任意連携
  5. 05ストレージ未設定時の Base64 出力への切り替え

活用シーン

  1. 01LLM によるデータからの棒グラフや折れ線グラフの生成
  2. 02会話中に出力可能なチャート画像の作成
  3. 03生成したチャートのオブジェクトストレージへの保存と共有

MCP 対応

MCP サーバーとして、チャート生成用のツールを MCP クライアントに公開します。クライアントは ECharts の設定を渡し、描画されたチャートを受け取れます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"echarts": {
"command": "npx",
"args": [
"-y",
"mcp-echarts"
]
}
}
}
起動コマンドnpx -y mcp-echarts

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmmcp-echarts

ツール

18

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
echartsOptionstringはいチャートの生成に使用する 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 文字列である必要があり、空にすることはできません。
widthnumberいいえECharts の幅(ピクセル単位)。デフォルトは 800 です。
heightnumberいいえECharts の高さ(ピクセル単位)。デフォルトは 600 です。
themeenumいいえECharts のテーマ(任意)。デフォルトは 'default' です。default | dark
outputTypeenumいいえ図の出力形式です。'png'、'svg'、'option' を指定できます。デフォルトは 'png' です。'png' はレンダリング済みの PNG 画像、'svg' はレンダリング済みの SVG 文字列、'option' は有効な ECharts option を返します。png | svg | option

詳細

README の画像 MCP ECharts MCP Server build npm Version Listed on Skillselion npm License Trust Score

AI MCP を使用して README の画像 Apache ECharts を動的に生成し、チャートの生成とデータ分析を行います。チャート、グラフ、マップの生成には、README の画像 mcp-server-chart も使用できます。

mcp-echarts
award

✨ 特長

  • データ、スタイル、テーマなど、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 はローカルに無料でセットアップできます。

  1. MinIO をローカルにインストールして起動します:

    # Download MinIO (macOS example)
    brew install minio/stable/minio
    
    # Start MinIO server
    minio server ~/minio-data --console-address :9001
    
  2. 環境変数を設定します:

    # 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。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。