/ 目錄 / 演練場 / MCP ECharts
● 社群 hustcc ⚡ 即開即用

MCP ECharts

作者 hustcc · hustcc/mcp-echarts

ECharts透過MCP —客服人員選擇正確的圖表(折線圖、長條圖、圓餅圖、散點圖、熱圖、sankey圖、雷達圖…) ,然後傳回PNG/SVG或原始選項物件。

hustcc/mcp-echarts將Apache ECharts包裹在MCP伺服器後面。15種以上的圖表工具涵蓋了標準的ECharts系列— line、bar、area、pie、scatter、radar、heatmap、sankey、funnel、treemap、sunburst等—具有完整的ECharts語法傳遞。本地渲染(零雲) ,導出到PNG/SVG ,或返回原始ECharts “選項”對象,以便您可以將其粘貼到自己的ECharts實例中。選購的MinIO整合功能可將產生的影像上傳至物件儲存裝置以供共用。

為什麼要用

核心特性

即時演示

實際使用效果

mcp-echarts.replay ▶ 就緒
0/0

安裝

選擇你的客戶端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "mcp-echarts": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-echarts"
      ]
    }
  }
}

開啟 Claude Desktop → Settings → Developer → Edit Config。儲存後重啟應用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "mcp-echarts": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-echarts"
      ]
    }
  }
}

Cursor 使用與 Claude Desktop 相同的 mcpServers 格式。專案級設定優先於全域。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "mcp-echarts": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-echarts"
      ]
    }
  }
}

點擊 Cline 側欄中的 MCP Servers 圖示,然後選 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "mcp-echarts": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-echarts"
      ]
    }
  }
}

格式與 Claude Desktop 相同。重啟 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "mcp-echarts",
      "command": "npx",
      "args": [
        "-y",
        "mcp-echarts"
      ]
    }
  ]
}

Continue 使用伺服器物件陣列,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "mcp-echarts": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "mcp-echarts"
        ]
      }
    }
  }
}

加入 context_servers。Zed 儲存後熱重載。

claude mcp add mcp-echarts -- npx -y mcp-echarts

一行命令搞定。用 claude mcp list 驗證,claude mcp remove 移除。

使用場景

實戰用法: MCP ECharts

在一次工具調用中將數字表格轉換為圖表

👤 在聊天中工作的分析師、專案經理和工程師 ⏱ ~5 min beginner

何時使用: 您有一個小數據集,並希望在不打開試算表的情況下獲得視覺效果。

前置條件
  • 節點18 + — nvm install 18
步驟
  1. 描述圖表
    每週活躍用戶的長條圖:週一820、週二905、週三1120、週四980、週五1340、週六780、週日610。稱之爲“白天的WAU”。✓ 已複製
    → 客服人員選擇具有正確X軸標籤和值的GENERATE_BAR_CHART
  2. 匯出PNG
    匯出為PNG並儲存至~/charts/wau.png。✓ 已複製
    → 已傳回檔案;工具結果中的png_path

結果: 您可以放入簡報或文件中的圖表,而無需離開聊天室。

注意事項
  • 在包含30多個類別的資料集上索取圓餅圖 — 客服人員應建議使用長條圖/熱圖,並強制使用「使用長條圖,圓餅圖無法讀取」
搭配使用: filesystem

取得RAW ECharts選項以貼入React/Vue儀表板

👤 前端開發人員構建內部工具 ⏱ ~15 min intermediate

何時使用: 您希望Claude草擬圖表配置,因此您只需在應用程式中進行調整。

前置條件
  • 使用ECharts的前端 — npm install echarts
步驟
  1. 詢問選項JSON
    為堆疊面積圖生成ECharts選項:三個系列(直接,有機,付費) , 2025年每月。✓ 已複製
    → 返回形狀是具有series [] .type: 'line', areaStyle和stack: 'total'的選項物件
  2. 放入您的元件
    現在將其作為名為exportOption的TypeScript常數發出。✓ 已複製
    → TS CONST準備貼上

結果: 生產就緒的ECharts配置,無需手工製作樣板。

注意事項
  • 客服人員在您需要時返回PNG — 說'return option JSON only — no rendering'
搭配使用: antv-chart

將流程(漏鬥、旅程、轉換)可視化為sankey

👤 成長/產品分析師 ⏱ ~10 min beginner

何時使用: 您需要一個簡報的流程圖,而sankey是正確的工具。

步驟
  1. 描述節點和流程
    Sankey :登陸(1000)→註冊(420)→激活(310)→付費(95)。顯示還車百分比。✓ 已複製
    → 正確的節點/連結結構;標籤包括計數
  2. 导出 SVG 檔案
    匯出SVG ,以便在Keynote中縮放。✓ 已複製
    → SVG路徑已儲存

結果: 在沒有Figma的情況下進行漏鬥審查。

搭配使用: markmap-mcp-server

將產生的圖表發佈到MinIO以供分享

👤 運行自託管物件存放區的Teams ⏱ ~20 min intermediate

何時使用: 您希望從Slack/Notion參考的圖表具有可重現的URL。

前置條件
  • MinIO端點+憑證 — 在MCP客戶端配置中提供MINIO_* env vars
步驟
  1. 配置env
    在MCP配置中設定MINIO_ENDPOINT、MINIO_ACCESS_KEY、MINIO_SECRET_KEY、MINIO_BUCKET_NAME。✓ 已複製
    → 伺服器報告啟動時啟用的MinIO
  2. 產生並上傳
    按地區製作收入圖表;上傳至MinIO並提供網址。✓ 已複製
    → 已傳回公開(或預先簽名)網址

結果: 聊天滾動後不會中斷的圖表穩定連結。

注意事項
  • 正在洩漏設定中的憑證 — 使用專用的儲存區範圍IAM使用者,而不是MinIO根金鑰
搭配使用: s3-like MCPs

組合

與其他 MCP 搭配,撬動十倍槓桿

mcp-echarts + filesystem

讀取CSV檔案、擷取欄位、製作圖表

讀取data/sales.csv ,以長條圖的形式按「地區」劃分「收入」欄。✓ 已複製
mcp-echarts + bigquery-server

執行SQL ,然後製作結果圖表

從 BigQuery 查詢最近 30 天的註冊情況;每天繪製的圖表算是一條線。✓ 已複製
mcp-echarts + antv-chart

按用例選擇 ECharts 和 AntV

對於中國觀眾來說,儀表板更喜歡 ECharts;對於 data-ink-minimal 選擇 AntV。✓ 已複製

工具

此 MCP 暴露的能力

工具輸入參數何時呼叫成本
generate_line_chart xAxis: array, series: array<number[]>, title?: str 有序軸(時間、位置)的趨勢 0
generate_bar_chart categories, values, stack?: bool 比較離散類別 0
generate_pie_chart items: [{name, value}] 總份額≤ 8份 0
generate_scatter_chart points: [[x,y]] 相關性或叢集視覺化 0
generate_heatmap matrix: number[][], rows, cols 密度或混淆矩陣 0
generate_sankey nodes, links 離散狀態之間的流量/漏鬥 0
generate_echarts_option free-form option object 當您想要完整的ECharts語法,而不是範本圖表時 0

成本與限制

運行它的成本

API 配額
無 — 本地渲染
每次呼叫 Token 數
小:選項物件輸入,路徑輸出
費用
自由的
提示
當您要重複使用它多次時,請詢問選項 JSON;向 PNG 索取一次性股票。

安全

權限、密鑰、影響範圍

憑證儲存: MinIO 僅在環境變數中起作用。 除了渲染的圖表之外,伺服器端不會儲存資料。
資料出站: 預設無出口。 MinIO 匯出僅上傳至您設定的端點。

故障排查

常見錯誤與修復

PNG 渲染為空白

確保系列資料類型匹配(數字,而不是字串)並且 x 軸長度等於系列長度。

驗證: Inspect the option JSON; types should be number arrays
MinIO上傳失敗:簽章不匹配

檢查 MINIO_USE_SSL、MINIO_PORT 以及存取/金鑰是否屬於相同 MinIO 實例。

驗證: mc admin info myminio/
字體缺失/CJK 字元作為框

在執行 MCP 伺服器的環境中安裝支援 CJK 的字體(例如 Noto Sans CJK)。

驗證: fc-list | grep -i cjk

替代方案

MCP ECharts 對比其他方案

替代方案何時用它替代權衡
antv-chart你更喜歡 AntV 固執己見的預設設定和中文文檔圖表詞彙量較小
markmap-mcp-server你需要的是層次結構,而不是統計圖表不同的輸出等級
mermaid-skill您需要流程圖/序列圖,而不是資料圖表圖表≠圖表

更多

資源

📖 閱讀 GitHub 上的官方 README

🐙 查看未解決的 issue

🔍 瀏覽全部 400+ MCP 伺服器和 Skills