Search2chart Mcp

io.github.iqingyoung由 GitHub 账号 iqingyoung 发布v0.4.1更新于 Oct 24, 2026

跨客户端 ECharts 图表 MCP server:数据 -> 可交互 HTML 与内联图片

已验证STDIO仅桌面数据与分析媒体与设计

概览

AI 生成的概览

本地 MCP 服务器,把表格数据或 CSV/XLSX 文件转成 ECharts 图表,返回可交互 HTML 文件与对话内联图片。

可以做什么
  • 用结构化数据或 CSV/XLSX 文件路径生成图表,输出可交互 HTML 文件与内联图片。
  • 列出支持的图表类型、配色与字段约定,chartType 为 auto 时自动选择饼图或柱状图。
  • 选择图片返回方式:data URI、本地 HTTP、文件路径、公网 CDN 链接、MCP 图片块,或仅返回 HTML 路径的纯文本。
  • 随图表一并返回清洗后的 JSON 数据,便于纯文本模型继续做占比与趋势分析。
适用场景
适合需要在对话中把表格结果可视化的场景,例如把查询结果或电子表格做成柱状图、饼图,或生成可在浏览器打开的独立交互式 HTML 图表。
运行要求
通过 stdio 在本地运行,通常用 npx search2chart-mcp(需 Node.js)或克隆后的 server.js 路径启动。可选环境变量 ECHARTS_INLINE_MODE 用于选择图片输出模式;未声明需要账号或 API 密钥。
安装前请注意
cdn 模式会通过 GitHub Contents API 把生成的图表上传到 GitHub 并经公网 CDN 提供,图表图片会离开本机,定时清理默认保留约三天。图表同时写入本地 .html 文件。各客户端渲染支持不同,建议先测试输出模式。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Search2chart Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

[DSH Market] [MCP] [Downloads]

search2chart-mcp

Turn any tabular data into inline charts directly inside agent conversations. Zero runtime dependencies, multi-client adaptive.

把「任意表格数据」变成直接内联在 agent 对话流里的图表。零运行时依赖,多端自适应。

[image]

安装

bash
# 方式一:DSH 原生插件(DeepSeek Harness 用户推荐,真·内联)dsh plugin --profile web add dsh-chart
# 方式二:npx(通用 MCP server,无需 clone)npx search2chart-mcp
# 方式三:git clonegit clone https://github.com/iqingyoung/search2chart-mcp.git

两条路径

路径目录适用
通用 MCP servermcp/ZCode / Claude Desktop / Cursor / WorkBuddy / Trae / Codex / DSH 通用
原生 DSH 插件dsh/DeepSeek Harness(真·内联,图片直接进对话)
  • 用 MCP 客户端 → 用 mcp/,对话框直接出图
  • 用 DSH 且想要原生体验 → 用 dsh/;DSH 里也能用 mcp/(走文件链接)
  • 两者可并存

快速开始

1. 在你的 MCP 配置里加入

json
{  "mcpServers": {    "search2chart-mcp": {      "command": "npx",      "args": ["search2chart-mcp"],      "env": {}    }  }}

如果 npx 拉不到,用 clone 后的绝对路径:"command": "node", "args": ["<仓库>/mcp/server.js"]

2. 首次接入:测试你的 Agent 能渲染哪种图片

不同 Agent 渲染器对图片格式支持各异。先用 all 模式一次性测试:

临时配置(在 MCP 配置里加环境变量):

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

发给 Agent 的测试 prompt:

用 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:// 自动 fallbackOpenCode / DSH / 通用
file只输出 file:// 本地路径ZCode
cdn上传 GitHub+jsDelivr,输出公网 httpsWorkBuddy
all测试模式:一次返回所有格式首次接入时测试
none纯文本(.html 路径 + 数据),无内联纯文本模型 / 终端

CDN 公网图床

  • SVG → PNG 栅格化(@resvg/resvg-js,可选依赖)
  • GitHub Contents API 上传 + jsDelivr CDN 加速
  • GitHub Actions 定时清理(默认保留 3 天)

清洗数据留存

结果附带完整数据(JSON,代码块包裹),让纯文本模型在上下文里继续做占比/趋势/对比分析,无需看图。returnData: false 可关。

自包含可交互 HTML

图表同时写入 .html 文件,浏览器打开即支持 hover / 缩放 / 类型切换 / 配色调整。

工具

工具作用
chart_from_data结构化数据 → 图表 HTML + 内联图片
chart_from_fileCSV/XLSX 路径 → 图表 HTML + 内联图片
list_chart_types列出支持的类型 / 配色与字段约定

字段约定:第一列 = 类别轴;其余列 = 数值序列(多列即多序列);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

License

MIT

来源:README.md,提交 da37d08

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.4.1最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分