@casoon/chartlet-mcp

中文文档
0.23.0发布于 2026/10/29MITES Module构建来源已验证近 30 天下载 2075

检查数据并验证、制作和描述图表的 MCP 服务器

中文使用文档
文档目录9 节
  1. 安装
  2. 克劳德代码
  3. 克劳德桌面
  4. 工具
  5. 聊天时
  6. 使用开网- mcp
  7. 安全问题
  8. 发展
  9. 许可证

@casoon/chartlet-mcp (英语)

A 类 示范背景协议 围绕图表编译器的服务器. AI助理提出图表规格;图表验证和编译 确定为静态,可访问的SVG或HTML.

  • 没有语言模型运行在服务器内部. 每个答案来自编译器或来自 对您输入的数据进行计算.
  • 数据从未更改: 数值读取为已写入, 无值为四舍五入、 排序、 汇总或 落在你身后。 在图表需要不同形状的地方,工具都这么说.
  • 没有发明的洞察力: chartlet_explain 返回时计算事实并标注事实.
  • 相同的规格和选项总是产生相同的字节,记录在出处 与SHA -256散列.

它需要Node.js 22.12 或更新 和谈论stdio.

安装

克劳德代码

claude mcp add --env CHARTLET_MCP_ROOT="$PWD" chartlet -- npx -y @casoon/chartlet-mcp

或在一个项目中 .mcp.json数字 :

{
  "mcpServers": {
    "chartlet": {
      "command": "npx",
      "args": ["-y", "@casoon/chartlet-mcp"],
      "env": { "CHARTLET_MCP_ROOT": "/path/to/project" }
    }
  }
}

CHARTLET_MCP_ROOT 是唯一的目录 chartlet_render 可写入(参见 安全问题) (中文(简体) ). 保留它, 服务器从不写入文件; 它返回图表 .

克劳德桌面

单位 claude_desktop_config.json数字 :

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

无 CHARTLET_MCP_ROOT 服务器拒绝 outputPath 返回图表内容; 添加 "env": { "CHARTLET_MCP_ROOT": "/path/to/charts" } 让它写在那里.

工具

工具对任何改变
chartlet_inspect_data取 CSV(RFC 4180,标题行)或行对象数组. 返回行数;每列推断类型(数字、整数、日期、布尔、字符串)、缺失值、分数/最大值、第一/最后数和时间顺序、字符串的不同数;以及适合的图表类型(栏、时间、倍数、范围栏、条纹、日历、散出、盒形图、树图、瀑布、桑基、存活、时间表等),并附有列使用和理由.没有
chartlet_validate_spec用编译器渲染规格并丢弃输出。 回返 ok,错误为 codeJSON指针 path 财务报告和审定财务报表 message和所有警告 advice: true (单位:千美元) help 页:1 canvas_too_small 财务报告和审定财务报表 text_truncated: 字段和校正通过渲染来检查, 如 JSON Patch 提议从未被应用过 .没有
chartlet_render渲染器 SVG 或 HTML (format, (中文(简体) ), variant数字 : desktop, (中文(简体) ), mobile, (中文(简体) ), print 或者说 social, (中文(简体) ), idPrefix, (中文(简体) ), table, (中文(简体) ), theme: 捆绑的主题或 {theme, tokens} 颜色; 没有颜色, a chartlet.theme.json 内 CHARTLET_MCP_ROOT 应用和结果并显示主题名称,或者一个注释说使用了默认外观)。 返回内容、警告、 CSP styleHashes 和来源 manifest; 与 outputPath,然后返回路径和字节大小。 在显示 MCP Apps 的客户端中,图表也出现在聊天中(下级) (中文(简体) ).写作 outputPath
chartlet_explain返回可用的描述图表生成、图表类型,以及每个序列或层的计数、缺失值、分数、最大值、第一和最后值及其标签或时间——计算,而不是解释。 对于一个图表, structure 以读取顺序给出其元素的计数及其数据表格的每一行.没有
chartlet_inspect检查 chartlet inspect 在结构模型、流程图或类图上不渲染(可读性预算图是一个 diagram_over_budget 提示),省去代码 disable. 回归 findings,每个带 code, (中文(简体) ), severity (单位:千美元)gap: 缺少说明字段; hint值得一看,可能是有意的,JSON指针 path, (中文(简体) ), message 财务报告和审定财务报表 hint。 。 。 .没有
chartlet_check_coverage将重新绘制的图表与其来源清单进行比较(source: 节点,边缘 from编号 :to组合 members选项 ids; 高尔夫球队; mappings 明确身份和合并; detail数字 : faithful, (中文(简体) ), balanced, (中文(简体) ), simplified) (中文(简体) ). 回返 kept, (中文(简体) ), changed, (中文(简体) ), merged, (中文(简体) ), ambiguous, (中文(简体) ), missing 财务报告和审定财务报表 added 和数,a report 以显示用户。 边缘按终点和方向相匹配,重复的标签模棱两可,细节提示只按预期标记缺失元素. 用于流,状态,建筑,类,树,网络和序列图.没有
chartlet_theme_from_brand将品牌值从网站或样式指南中读取(paper, (中文(简体) ), ink, (中文(简体) ), muted, (中文(简体) ), accent, (中文(简体) ), link选项 dark, (中文(简体) ), fonts)变为一个光和暗的主题文件,以及一个收件:每个角色都有输入和输出,每一个对比度调整与其配对和比例,得出暗值标记为暗,列出的字体没有应用(图书还没有字体设置). 与 write,写 chartlet.theme.json 财务报告和审定财务报表 chartlet.theme.dark.json 下级 CHARTLET_MCP_ROOT 不替换已有文件, 除非 overwrite。没有网络访问.将文件写入到 write
chartlet_diagram_starter对于 sequence, (中文(简体) ), flow, (中文(简体) ), state, (中文(简体) ), architecture, (中文(简体) ), tree 或者说 classes:一个有效的起始规格,每个元素可以随每个形状而得到的种类被绘制出来,并在ID,布局和取向上作注释. 对于 architecture, (中文(简体) ), template context, (中文(简体) ), containers 或者说 deployment 给一个抽象层次的起始点 question 它的答案和它的答案 level。 。 。 .没有
chartlet_chart_starter对于 waterfall, (中文(简体) ), waffle, (中文(简体) ), funnel, (中文(简体) ), radar, (中文(简体) ), polar, (中文(简体) ), mosaic, (中文(简体) ), heatmap, (中文(简体) ), parliament, (中文(简体) ), treemap, (中文(简体) ), sankey, (中文(简体) ), survival, (中文(简体) ), scatter, (中文(简体) ), timeline, (中文(简体) ), cycle, (中文(简体) ), forest, (中文(简体) ), violin, (中文(简体) ), prisma 或者说 instances:关于类型需要和拒绝的有效的起始规格和注释.没有

资源: chartlet://schema 规格为JSON Schema; chartlet://guide/types 映射要显示的类型及其字段, 不绘制和常见错误 (根据计划类型而建,故每类都覆盖); ui://chartlet/figure 页:1 chartlet_render 用于MCP Apps.

提示, 由支持它们的客户端显示为斜线命令 : diagram (对a的说明) - 绘制图表, chart (数据为导出图表,从 chartlet_inspect_data和 redraw (从文本、图像或文件取出的现有图表,以覆盖报告为结尾)和 revise (修改现有规格:新值、品牌、大小预设、添加或 页:1 每个都推断出常规默认,并声明它们,只询问数据丢失或 两次读取会改变意义,保持给定的数据和关系,验证到 ok (在同一个错误上的大多数三轮,然后是诊断和部分说明),使, 并说,当一个桌子或一个句子 服务更好。 结果是可编辑的 JSON, 渲染的 和留下的警告. eval/tasks.json 是一个小的评价集(图表、图表、, (d) 其参考解决方案的验证和渲染.

一个典型的会议: chartlet_inspect_data 在用户的桌子上,从建议中起草一个规格, chartlet_validate_spec 直至 ok 警告是可接受的, chartlet_render 带有 outputPath, (中文(简体) ), 财务报告和审定财务报表 chartlet_explain 当图表需要用文字描述时. 对于软件图,从 chartlet_diagram_starter 而不是一张表格: 图表本身,所以规格只说明什么是相连的.

聊天时

chartlet_render 宣布视图 ui://chartlet/figure (单位:千美元)text/html;profile=mcp-app, (中文(简体) ), MCP 应用程序) (中文(简体) ). 显示 MCP Apps 的客户端 在对话框中显示图表:在 a 中带有标题、来源和数据表格的数字 披露,与编译器制作 HTML 配置文件一样。 风景本身没什么 没有加载图表脚本;其唯一的脚本是连接客户端的桥接,它接收结果, 报告风景的高度 并传递行动.

  • 主题: 当规格设置为无时 theme,服务器使图亮而暗, 和视图显示匹配客户端主题的,当客户端切换时切换. A 类 theme 在规格中获胜。 没有客户端的主题,视图会保持光线.
  • 宽度:带有一个规格 mobile 视图时通过容器查询进行布局切换 是狭义的.
  • 动作, 键盘可以达到 : “ 下载 SVG ” 和 “ 下载 HTML ” 将文件交给客户端 (单位:千美元)ui/download-file; 仅在客户端支持下载时显示),"Copy规格" 拷贝JSON。 没有动作更改数据或调用工具 .
  • 样式和 CSP: 视图资源带有共享图表样式表一次, 以及数字 与 styles: "external"因此,大多数图表没有 <style> 他们自己的。 图表 带有已声明颜色或 mobile 布局仍带小内线 <style>,该 mCP Apps 的默认政策允许(内置样式和脚本,网络中无内容). 这个 资源声明没有域:它不装入任何域,也没有连接. styleHashes 结果 用于您嵌入内容的页面,而不是视图.
  • 查看数据在结果中行走 _meta,模型不读,并且只读到 声明MCP Apps支持的客户端. 其他客户——克洛德代码,剧本,检查员—— 获得与以前相同的结果: structuredContent。 。 。 .

使用开网- mcp

chartlet_inspect_data 取打开网格的行对象不变: 开网格和开网格的JSON exportRows(…, { format: "json" }) 均为 以字段名称键入的对象。 opengrid的线条注解符合: 十进制为字符串, 如 "250.00" 并读作数字、日期和时间戳作为日期, null 作为缺失; 非无限浮体"Infinity")不作为数字.

典型流程:过滤并排序网格到您想要的视图,选择行,通过 选择到 chartlet_inspect_data,根据建议构建规格(数字为 JSON号码,检查一下 chartlet_validate_spec,并用 chartlet_render。 。 。 .

两台服务器互不相通,互不相识. 图表为静态输出:a 在图表中单击不会过滤网格,而改变网格不会更新图表—— 这是有意的.

安全问题

  • 文件只写在下面 CHARTLET_MCP_ROOT,客户端中已有目录集 配置 。 没有它 outputPath 已禁用,工具说明如何启用。 这个 工作目录中, 客户端将启动服务器 .
  • outputPath 必须是相对 CHARTLET_MCP_ROOT。绝对路径,任意 .. 部分, 符号链接,指向目录以外的链接(在真实路径上选中),以及现有的链接 符号链接作为目标被拒绝。 缺少目录被创建; 已有文件为 覆写. 文件系统根的根被拒绝 .
  • 没有网络访问,没有外壳,除了软件包自己的图案和视图之外,其他文件也没有读取.
  • chartlet_inspect_data 仅以平分符号识别数字(-1234.5, (中文(简体) ), 1e3(三); 1,234 保留a 弦而不是被猜测。 四位数整数仅在列名时计为年份 包含"年份"或"圣战者"或数值严格增加.

发展

cd packages/chartlet-mcp && npm install && npm test

软件包取决于所发布的 @casoon/chartlet尝试与改变 编译器,将依赖性指向暂停(npm install ../chartlet之后 cd packages/chartlet && npm run build:wasm),并发布前切换回. npm test 财务报告和审定财务报表 npm pack 复制 schema/chartlet.schema.json 首先从寄存器输入软件包.

npm test 包含 test/view.e2e.test.mjs,打开 Chromium (Playwright) 视图 在默认 MCP Apps CSP 下的沙盒内播放协议的客户端 一个真正的 chartlet_render 结果,并在两个主题中运行轴。 它需要一个剧作家 铬( C)npx playwright install chromium) (中文(简体) ).

许可证

麻省理工学院

版本与发布记录

@casoon/chartlet-mcp 共发布 25 个版本,首次发布于 2026/10/01;过去 12 个月发布了 25 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.23.0latest2026/10/2911 天前
0.22.02026/10/2812 天前
0.21.02026/10/2416 天前
0.20.02026/10/2416 天前
0.19.02026/10/1228 天前
0.16.02026/10/1129 天前

其他发布通道:alpha → 0.1.0-alpha.7。

关于 @casoon/chartlet-mcp 的常见问题

@casoon/chartlet-mcp 是什么?

检查数据并验证、制作和描述图表的 MCP 服务器

如何安装 @casoon/chartlet-mcp?

在项目目录运行 npm install @casoon/chartlet-mcp,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 chartlet-mcp,可以用 npx chartlet-mcp 直接运行。

@casoon/chartlet-mcp 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/casoon__chartlet-mcp 是否存在。

@casoon/chartlet-mcp 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@casoon/chartlet-mcp 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.12.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@casoon/chartlet-mcp 可以商用吗?

@casoon/chartlet-mcp 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@casoon/chartlet-mcp 的下载量有多少?

根据 npm 官方下载统计,@casoon/chartlet-mcp 在 2026/10/09 – 2026/11/07 这 30 天内被下载 2,075 次,日均约 69 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@casoon/chartlet-mcp 还在维护吗?

最新版本 0.23.0 发布于 2026/10/29(11 天前);至今共发布 25 个版本,其中过去 12 个月发布了 25 个;首次发布于 2026/10/01。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。