mcpField
M
microcharts

microcharts

ローカル
microcharts.devデータ・分析2054 週間前に更新

microcharts について

小型Reactチャートの選択、設定、描画に対応するMCPサーバー兼Vercel AI SDKツールセットです。生成された代替テキスト付きの単体SVGを返すため、Reactに対応しないチャット画面でもチャートを表示できます。

主な機能

  1. 01自然言語の質問からチャートを検索
  2. 02設定情報とサンプルプロパティを取得
  3. 03代替テキスト付きの単体SVGを描画
  4. 04チャートカタログと設定プロンプトのリソース
  5. 05不正または過大なデータを拒否

活用シーン

  1. 01質問に合う小型チャートの選定
  2. 02実行可能なサンプルを使ったコードベースへのチャート追加
  3. 03React非対応のチャット画面で描画済みチャートを表示

MCP 対応

チャートの検索、詳細取得、描画を行う3つのツールと、カタログおよび設定プロンプトのリソースを提供します。MCPクライアントは必要に応じてstdioでサーバーを起動します。

設定

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

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

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

パッケージ
npm@microcharts/mcp0.1.17

ツール

3

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

パラメーター型必須説明
limitintegerいいえ結果の最大数(デフォルトは 6)。
questionstringはいデータで示す内容を自然言語で記述します。
dataShapestringいいえ任意のフィルター。例:"number[]"。

詳細

@microcharts/mcp

microcharts MCP サーバー

microcharts 用の MCP サーバーおよび Vercel AI-SDK ツールセットです。モデルが適切な小さなチャートを見つけ、その組み込み方を正確に取得し、実際の代替テキスト付きの完成した SVG としてレンダリングできます。

microcharts は、モデルがチャートを 書ける ように作られています。モデルがチャートを 呼び出す 方法は次のとおりです。「何らかの文法を出力して、クライアントがレンダリングしてくれることを期待する」のではなく、ツール呼び出しによって、実際のライブラリの静的 SVG を返します。生成された describeSeries のアクセシブルな名前も付いているため、最初から正確です。

  • お使いのマシンで動作します。 npm で配布される stdio サーバーです。ホストされているものはなく、アカウントもキーも不要で、データが外部に送信されることもありません。
  • どこでも使えます。 レンダリングツールは自己完結型の SVG を返すため、React を実行できないチャット画面でも実際のチャートを表示できます。
  • セットアップ不要です。 npx @microcharts/mcp — パッケージには @microcharts/react のコピーが同梱されています。

インストール

任意の MCP クライアントに追加してください。Claude Desktop(claude_desktop_config.json)または Cursor(.cursor/mcp.json)の場合:

{
  "mcpServers": {
    "microcharts": {
      "command": "npx",
      "args": ["-y", "@microcharts/mcp"]
    }
  }
}

これだけです。必要に応じて、クライアントが stdio 経由でサーバーを起動します。

ツール

find_microchart(question, dataShape?)

平易な言葉で書かれた質問に照らして、カタログを順位付けします。質問はわかっているものの、使うチャートがわからない場合は、ここから始めてください。

find_microchart({ question: "is it trending?" })
→ [{ slug: "sparkline", name: "Sparkline", why: "inline trend", dataShape: "number[]" }, …]
get_microchart(slug)

チャートを組み込むために必要なすべての情報を取得します。インポートパス、そのチャート固有の props と共通 props、データ形状、推奨事項と避けるべきケース、コピーして実行できるサンプルに加え、render_microchart にそのまま渡せる JSON props 形式の同じサンプル sample が含まれます。

get_microchart({ slug: "bullet" })
→ {
    staticImport: "@microcharts/react/bullet",
    props: [...],
    example: { code: "<Bullet value={72} target={80} bands={[50, 90]} title=\"Quota\" />" },
    sample: { value: 72, target: 80, bands: [50, 90], title: "Quota" },
    …
  }

チャートごとに必要なデータ形状は異なります。スパークラインは number[]、ドットプロットは { label, value }[]、OHLC は { open, high, low, close }[] を受け取ります。そのため、sample を使えば「どのチャートか」から「正しく動作するレンダリング」まで最短でたどり着けます。

render_microchart(type, data?, props?, format?)

完成した自己完結型の SVG と、生成された代替テキストをレンダリングします。系列は data として渡し、その他の props(value、target、curve、color、width)は props に入れてください。

render_microchart({ type: "sparkline", data: [132, 148, 141, 165, 159, 182] })
→ {
    svg: "<svg …><style>…</style>…</svg>",
    summary: "Trending up 38%. Range 132 to 182. Last value 182.",
    mimeType: "image/svg+xml", width: 80, height: 20
  }

format は "svg"(デフォルト。スタイルが埋め込まれているため、どの画面にも挿入できます)または "bare"(CSS なし。すでに @microcharts/react/styles.css を読み込んでいるページ向け)です。

データがない場合や形状が正しくない場合は、React に渡すのではなく、チャート名を示してエラーになります。そのため、呼び出し元にはスタックトレースではなく、"dot-plot" needs \data`. Data shape: { label, value }[]. Call get_microchart("dot-plot") for a ready-to-render sample.` が返されます。サイズが大きすぎるペイロードも拒否されます。microchart は小さなチャートです。

さらに、2 つのリソースも公開します。microcharts://catalog(すべてのチャートとメタデータ)と microcharts://agent-setup(コードベースに microcharts を組み込むためのプロンプト)です。

Vercel AI SDK から使う

同じ 3 つの機能を AI-SDK ツールとして利用できます(/ai-sdk サブパスから提供されるため、コアが ai を読み込むことはありません)。

import { microchartsTools } from "@microcharts/mcp/ai-sdk";
import { streamText } from "ai";

const result = streamText({
  model,
  tools: microchartsTools,
  prompt: "Summarise this quarter and show the revenue trend as a chart.",
});

ツールラッパーなしで使いたい場合は、関数も findChart、getChart、renderChart として直接エクスポートされています。

バージョン管理

このサーバーにはチャートカタログがバンドルされており、通常の依存関係としてインストールされる @microcharts/react を使ってレンダリングします。サーバーのバージョンはサーバー自体の変更に合わせて更新され、互換性のあるライブラリが自動的に取得されます。各スナップショットの作成元となったライブラリのバージョンは、microcharts://catalog リソースに記載されています。

リンク

MIT

コメント

MCP は初めてですか?

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

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