ChartPane

io.github.ahmadsl由 GitHub 帳號 ahmadsl 發布v1.0.0更新於 Oct 24, 2026

Renders interactive Chart.js charts and dashboards inline in AI conversations.

已驗證Streamable HTTP可網頁執行資料與分析媒體與設計

概覽

AI 產生的概覽

ChartPane 是遠端 MCP 伺服器,可在 AI 對話中內嵌呈現互動式 Chart.js 圖表與多圖儀表板。

可以做什麼
依標籤與資料集繪製單一圖表,支援長條、折線、面積、圓餅、環圈、極區、氣泡、散佈、雷達等類型,以及堆疊與水平長條變體。建立最多四欄的多圖儀表板格線。套用自訂顏色或內建 12 色調色盤。圖表在瀏覽器端以互動式 Chart.js 畫布呈現。
適用情境
適合在與 Claude、ChatGPT、VS Code、Cursor 或其他支援 MCP Apps 的用戶端對話時,直接把資料變成視覺化圖表或儀表板,而不必匯出到獨立的圖表工具。
執行需求
遠端端點 mcp.chartpane.com,透過 streamable HTTP 存取,需要 OAuth 驗證。用戶端需支援 MCP Apps 才能內嵌呈現。README 中備选的 mcp-remote 方式需要 Node.js。
安裝前請注意
連線需要 OAuth 登入。據稱圖表資料在用戶端呈現且不儲存在伺服器端,但會記錄圖表類型、標題與時間戳等請求中繼資料。用於繪圖的資料會傳送到該遠端服務。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 ChartPane,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.ahmadsl%2Fchartpane/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。

{
  "mcpServers": {
    "chartpane": {
      "type": "http",
      "url": "https://mcp.chartpane.com/mcp"
    }
  }
}

README

ChartPane

MCP App that renders interactive Chart.js charts inline in Claude's UI. Works with Claude Desktop, ChatGPT, VS Code, Cursor, and any client that supports MCP Apps.

Live instance: mcp.chartpane.com

Features

  • 9 chart types: bar, line, area, pie, doughnut, polarArea, bubble, scatter, radar
  • Stacked and horizontal bar chart variants
  • Multi-chart dashboard grids (up to 4 columns)
  • Custom colors or automatic 12-color palette
  • Client-side rendering — chart data never stored server-side
  • Works with any MCP-compatible client (Claude Desktop, ChatGPT, VS Code, Cursor)

Tools

  • render_chart — Render a single chart (bar, line, area, pie, doughnut, polarArea, bubble, scatter, radar, stacked)
  • render_dashboard — Render a multi-chart grid layout

Quick Start

Add ChartPane to Claude Desktop via Settings > Connectors > Add custom connector:

https://mcp.chartpane.com/mcp

Or use mcp-remote (requires Node.js):

json
{  "mcpServers": {    "chartpane": {      "command": "npx",      "args": ["-y", "mcp-remote", "https://mcp.chartpane.com/mcp"]    }  }}

Usage Examples

1. Bar chart

Prompt: "Create a bar chart of quarterly revenue: Q1 $50k, Q2 $80k, Q3 $120k, Q4 $95k"

Claude calls render_chart with:

json
{  "type": "bar",  "title": "Quarterly Revenue",  "data": {    "labels": ["Q1", "Q2", "Q3", "Q4"],    "datasets": [{ "label": "Revenue ($k)", "data": [50, 80, 120, 95] }]  }}

An interactive bar chart renders inline in the conversation.

2. Pie chart

Prompt: "Show browser market share as a pie chart: Chrome 65%, Safari 19%, Firefox 8%, Edge 5%, Other 3%"

Claude calls render_chart with:

json
{  "type": "pie",  "title": "Browser Market Share",  "data": {    "labels": ["Chrome", "Safari", "Firefox", "Edge", "Other"],    "datasets": [{ "label": "Share", "data": [65, 19, 8, 5, 3] }]  }}

Each slice gets a distinct color from the built-in palette.

3. Multi-chart dashboard

Prompt: "Build a dashboard with monthly active users as a line chart and signups by channel as a bar chart"

Claude calls render_dashboard with:

json
{  "title": "Growth Dashboard",  "charts": [    {      "type": "line",      "title": "Monthly Active Users",      "data": {        "labels": ["Jan", "Feb", "Mar", "Apr", "May", "Jun"],        "datasets": [{ "label": "MAU", "data": [12000, 15000, 18000, 22000, 28000, 35000] }]      }    },    {      "type": "bar",      "title": "Signups by Channel",      "data": {        "labels": ["Organic", "Referral", "Paid", "Social"],        "datasets": [{ "label": "Signups", "data": [4500, 3200, 2800, 1500] }]      }    }  ],  "columns": 2}

Both charts render side-by-side in a grid layout.

Self-Hosting

ChartPane runs on Cloudflare Workers.

bash
npm installcp .dev.vars.example .dev.vars    # Configure secrets (optional)npm run dev                        # Local dev server (port 8787 + sandbox on 3456)npm run deploy                     # Deploy to Cloudflare Workers

You'll need to create your own KV namespace and D1 database — see comments in wrangler.jsonc.

Development

bash
npm run dev        # wrangler dev + sandbox dev server (localhost:3456)npm run build      # Type-check (tsc --noEmit) + bundle UInpm test           # Run all tests (vitest)npm run test:watch # Watch mode

Architecture

Claude tool calls flow through a thin MCP server that validates input and returns structuredContent. The browser-side UI transforms input into Chart.js configs and renders to canvas. All shared logic (types, validation, colors, config) lives in shared/.

Claude tool call → server.ts (validate) → structuredContent    → mcp-app.ts (browser) → buildChartConfig() → Chart.js canvas

Privacy

ChartPane logs only request metadata (chart type, title, timestamp). Chart data values are never stored. Charts render entirely client-side in your browser. Full policy: chartpane.com/privacy

Support

License

MIT

來源:README.md,提交 097a2af

工具

0
該伺服器需要登入,因此 SourceWeft 無法在沒有帳號的情況下讀取其工具,也未收錄。已連接帳號所能看到的內容可能因帳號及其權限而異。

版本歷史

1
  1. v1.0.0最新Sep 16, 2026

評分

已滿足適用檢查項的 85%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分