tech.unravel/mcp-vegalite-server について
`vl-convert`を使ってデータを準備し、Vega-Liteの可視化をレンダリングするMCPサーバーです。LLMが生成した仕様をホスト側で描画するための、シンプルな2段階の流れを提供します。
主な機能
- 01可視化用データの保存
- 02Vega-Lite仕様のレンダリング
- 03`vl-convert`による描画
活用シーン
- 01整形済みデータからVega-Liteチャートを作成
- 02LLM生成の可視化仕様をレンダリング
MCP 対応
MCPクライアントに`save-data`と`visualize-data`ツールを提供し、データの保存とVega-Lite仕様のレンダリングを行います。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
tech.unravel/mcp-vegalite-server
vl-convertを使用してVegaliteを扱うためのMCP サーバーです。
シンプルなツールを2つ作成します。
- save-data
- visualize-data
これらを使用すると、ホストは次の手順で美しいvegaliteの図を作成できます。
- 必要なデータを計算して保存します。
- 次に、LLMを使用してvegalite-specを生成します。
- 最後に、データと
vl-convertへのアクセスを使用して仕様をレンダリングします。
使用方法
JARのビルド
$ make clean && make build
MCP サーバーの実行
前提条件:vl-convert CLIをインストールする必要があります。
Claude DesktopまたはInspectorで試せるコマンドの例をいくつか紹介します。
以下はサンプルデータです。
[
{ "year": 2011, "value": 14.6, "growth_type": "Market Cap Growth" },
{ "year": 2011, "value": 11.4, "growth_type": "Revenue Growth" },
{ "year": 2011, "value": 26.6, "growth_type": "Net Income Growth" },
{ "year": 2012, "value": 40.1, "growth_type": "Market Cap Growth" },
{ "year": 2012, "value": 42.7, "growth_type": "Revenue Growth" },
{ "year": 2012, "value": 36.9, "growth_type": "Net Income Growth" },
{ "year": 2013, "value": 16.9, "growth_type": "Market Cap Growth" },
{ "year": 2013, "value": 14.6, "growth_type": "Revenue Growth" },
{ "year": 2013, "value": 15.3, "growth_type": "Net Income Growth" },
{ "year": 2014, "value": 9.6, "growth_type": "Market Cap Growth" },
{ "year": 2014, "value": 7.9, "growth_type": "Revenue Growth" },
{ "year": 2014, "value": 10.9, "growth_type": "Net Income Growth" },
{ "year": 2015, "value": 5.8, "growth_type": "Market Cap Growth" },
{ "year": 2015, "value": 6.7, "growth_type": "Revenue Growth" },
{ "year": 2015, "value": 6.2, "growth_type": "Net Income Growth" },
{ "year": 2016, "value": -12.4, "growth_type": "Market Cap Growth" },
{ "year": 2016, "value": -3.9, "growth_type": "Revenue Growth" },
{ "year": 2016, "value": -32.2, "growth_type": "Net Income Growth" },
{ "year": 2017, "value": 25.3, "growth_type": "Market Cap Growth" },
{ "year": 2017, "value": 5.9, "growth_type": "Revenue Growth" },
{ "year": 2017, "value": 43.9, "growth_type": "Net Income Growth" }
]
このデータをvega-liteを使用して可視化してください。
vegalite MCP サーバーを実行する前に
次の点に注意してください。
mcp-vegalite-serverJARのフルパスを、お使いのシステムの正しいパスに置き換えてください。- お使いのシステム上の
vl-convertのフルパスを指定してください。
Claude Desktopの場合
"vegalite": {
"command": "java",
"args": [
"-Dclojure.tools.logging.factory=clojure.tools.logging.impl/log4j2-factory",
"-Dorg.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.Slf4jLog",
"-Dlog4j2.contextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector",
"-Dlog4j2.configurationFile=log4j2-mcp.xml",
"-Dbabashka.json.provider=metosin/jsonista",
"-Dlogging.level=INFO",
"-Dmcp.vegalite.vl_convert_executable=/Users/vedang/.cargo/bin/vl-convert",
"-cp",
"/Users/vedang/mcp-vegalite-server/target/tech.unravel/mcp-vegalite-server-1.0.0.jar",
"tech.unravel.mcp_vegalite_server"
]
}
MCP Inspectorの場合
お使いのシステム上のmcp-vegalite-server JARのフルパスを使用してください。
npx @modelcontextprotocol/inspector java -Dclojure.tools.logging.factory=clojure.tools.logging.impl/log4j2-factory -Dorg.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.Slf4jLog -Dlog4j2.contextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector -Dlog4j2.configurationFile=log4j2-mcp.xml -Dbabashka.json.provider=metosin/jsonista -Dlogging.level=INFO -Dmcp.vegalite.vl_convert_executable=/Users/vedang/.cargo/bin/vl-convert -cp /Users/vedang/mcp-vegalite-server/target/tech.unravel/mcp-vegalite-server-1.0.0.jar tech.unravel.mcp_vegalite_server
ライセンス
Copyright © 2025 Unravel.tech Engineering
MIT Licenseの下で配布されています
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。