mcpField
S
search2chart-mcp

search2chart-mcp

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

search2chart-mcp について

search2chart-mcpは、表データやCSV/XLSXファイルをEChartsのグラフに変換するMCPサーバーです。クライアントに合わせてインライン画像の形式を調整し、操作可能なHTMLも生成します。

主な機能

  1. 01表データからグラフを生成
  2. 02CSV/XLSXファイルを読み込み
  3. 03複数のインライン画像形式に対応
  4. 04操作可能なHTMLを生成
  5. 05グラフ種類と配色を一覧表示

活用シーン

  1. 01エージェントとの会話でグラフを確認
  2. 02CSVやXLSXを操作可能なグラフに変換
  3. 03クライアントの画像形式対応を確認

MCP 対応

構造化データやファイルからのグラフ生成、グラフ種類の一覧表示をMCPツールとして提供します。クライアントに応じてインライン画像の出力方式を設定できます。

設定

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

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

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

パッケージ
npmsearch2chart-mcp0.4.1

ツール

3

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

パラメーター型必須説明
dataarrayはい表形式データ:配列の配列(先頭行をヘッダーとして使用可能)またはオブジェクトの配列
titlestringいいえグラフのタイトル
widthnumberいいえグラフの幅(px)
heightnumberいいえグラフの高さ(px)
columnsarrayいいえ列名(省略可)
paletteenumいいえ配色default | warm | cool | business
chartTypeenumいいえauto:データに応じて円グラフ/棒グラフを自動選択auto | bar | line | pie
returnDatabooleanいいえクリーニング済みの全データ(JSON)を含めるかどうか
returnHtmlbooleanいいえHTML の生データを追加で返すかどうか
returnImagebooleanいいえimage content block(SVG)を返すかどうか(一部のクライアントではサポートされず、エラーになります)

詳細

DSH Market MCP Downloads

search2chart-mcp

表形式のデータを、エージェントとの会話に直接インライン表示できるグラフに変換します。実行時依存関係はゼロで、複数クライアントに適応します。

「任意の表形式データ」をエージェントとの会話に直接インライン表示できるグラフに変換します。実行時依存関係はゼロで、複数クライアントに適応します。

image

インストール

# 方式一:DSH 原生插件(DeepSeek Harness 用户推荐,真·内联)
dsh plugin --profile web add dsh-chart

# 方式二:npx(通用 MCP server,无需 clone)
npx search2chart-mcp

# 方式三:git clone
git clone https://github.com/iqingyoung/search2chart-mcp.git

2つの方法

方法ディレクトリ対象
汎用 MCP サーバーmcp/ZCode / Claude Desktop / Cursor / WorkBuddy / Trae / Codex / DSH 全般
ネイティブ DSH プラグインdsh/DeepSeek Harness(真のインライン表示。画像が会話に直接表示されます)
  • MCP クライアントを使う場合 → mcp/ を使うと、会話欄に直接グラフが表示されます
  • DSH を使い、ネイティブな体験を求める場合 → dsh/ を使います。DSH では mcp/ も使えます(ファイルリンク経由)
  • 両方を併用できます

クイックスタート

1. MCP 設定に追加する
{
  "mcpServers": {
    "search2chart-mcp": {
      "command": "npx",
      "args": ["search2chart-mcp"],
      "env": {}
    }
  }
}

npx で取得できない場合は、clone した後の絶対パスを使ってください:"command": "node", "args": ["<仓库>/mcp/server.js"]

2. 初回接続時:Agent がどの画像形式をレンダリングできるかテストする

Agent によって画像形式のサポート状況は異なります。まず all モードで一度にテストしてください:

一時設定(MCP 設定に環境変数を追加):

{
  "env": {
    "ECHARTS_INLINE_MODE": "all"
  }
}

Agent に送るテスト用プロンプト:

用 chart_from_data 生成一个简单柱状图。
数据:[["城市","销量"],["北京",120],["上海",200],["广州",150]]
标题:城市销量对比
chartType:bar

Agent は、次のラベルが付いた3〜4行のグラフを返します:

  • 【1・data URI】 — 自己完結型の base64。インターネット接続は不要です
  • 【2・localhost http】 — ローカル HTTP サービス
  • 【3・file://】 — ローカルファイルのパス
  • 【4・CDN 公開 https】 — GitHub + jsDelivr の公開アドレス

会話欄で実際に画像として表示された形式が、Agent によってサポートされています。

3. モードを固定する
レンダリング可能な形式設定
data URI ✅ECHARTS_INLINE_MODE=inline(デフォルト)
file:// ✅ECHARTS_INLINE_MODE=file
localhost http ✅ECHARTS_INLINE_MODE=inline
CDN 公開 https ✅ECHARTS_INLINE_MODE=cdn
MCP image block ✅inline + 呼び出し時に returnImage:true
どれも表示できないECHARTS_INLINE_MODE=none を設定し、インタラクティブな .html グラフを使います
Agent による自動検出

ツールの結果には Agent 向けの指示が組み込まれており、ユーザーのフィードバックに基づいてモードを自動設定する方法をモデルに伝えます:

[Agent]: 返回 4 行图片,哪张正常显示?
[User]:  3正常
[Agent]: 确认了。file:// 可渲染 → 请设置 ECHARTS_INLINE_MODE=file

既知のクライアントでの実測値:ZCode → file、OpenCode → inline(data URI)、WorkBuddy → cdn、DSH → inline(localhost http)、Claude/Cursor → inline + returnImage:true。

主な機能

複数クライアント向けインライン表示の適応

ECHARTS_INLINE_MODE 環境変数でインライン表示の動作を制御します:

モード動作対象クライアント
inline(デフォルト)data URI → localhost http → file:// の順に自動フォールバックOpenCode / DSH / 汎用
fileローカルの file:// パスのみを出力ZCode
cdnGitHub + jsDelivr にアップロードし、公開 https を出力WorkBuddy
allテストモード:すべての形式を一度に返す初回接続時のテスト
noneプレーンテキスト(.html のパス + データ)。インライン表示なしプレーンテキストモデル / ターミナル
CDN 公開画像ホスティング
  • SVG → PNG にラスタライズ(@resvg/resvg-js、オプションの依存関係)
  • GitHub Contents API にアップロードし、jsDelivr CDN で高速配信
  • GitHub Actions で定期的にクリーンアップ(デフォルトの保持期間は3日)
整形済みデータの保持

結果には完全なデータ(JSON、コードブロックで囲んだもの)が含まれます。これにより、プレーンテキストモデルは画像を見ずに、コンテキスト内で引き続き割合・傾向・比較を分析できます。returnData: false で無効にできます。

自己完結型のインタラクティブ HTML

グラフは .html ファイルにも書き込まれます。ブラウザーで開くと、ホバー・ズーム・種類の切り替え・配色の調整ができます。

ツール

ツール用途
chart_from_data構造化データ → グラフ HTML + インライン画像
chart_from_fileCSV/XLSX のパス → グラフ HTML + インライン画像
list_chart_types対応する種類・配色・フィールドの規約を一覧表示

フィールドの規約:1列目 = カテゴリー軸。それ以降の列 = 数値系列(複数列の場合は複数系列)。chartType: auto はデータに基づいて円グラフ/棒グラフを自動選択します。

各クライアントとの接続

詳しくは mcp/README.md を参照してください。

ディレクトリ

search2chart-mcp/
├── mcp/              # 跨端 MCP server(内联 SVG + 可交互 HTML)
│   ├── server.js     # MCP stdio 协议 + 工具入口
│   ├── lib/
│   │   ├── chart.js      # 数据归一化 + ECharts option
│   │   ├── html.js       # 自包含可交互 HTML
│   │   ├── svg.js        # 零依赖 SVG 渲染器
│   │   ├── httpserver.js # 本地 HTTP 服务
│   │   ├── rasterize.js  # SVG→PNG
│   │   ├── upload.js     # GitHub + jsDelivr CDN
│   │   └── parse.js      # CSV/XLSX 解析
│   └── scripts/
│       ├── selftest.js    # 端到端自检
│       └── verify_cdn.cjs # CDN 端到端验证
├── dsh/              # 原生 DSH 内联插件
├── LICENSE
└── README.md

ライセンス

MIT

コメント

MCP は初めてですか?

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

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