# @casoon/chartlet-mcp 中文文档

规范地址：https://npmcn.com/package/%40casoon/chartlet-mcp/

版本：0\.23\.0
npm 元数据更新时间：2026-10-29T12:22:46.187Z
中文译文更新时间：2026-11-09T17:39:55.138Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40casoon/chartlet-mcp
原文对照：https://npmcn.com/package/%40casoon/chartlet-mcp/?lang=original
项目主页：https://github.com/casoon/chartlet#readme
源码仓库：https://github.com/casoon/chartlet

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：352 kB，16 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=22\.12\.0
- 运行依赖：4 个
- 首次发布：2026-10-01T05:13:07.362Z
- 最新版本发布：2026-10-29T12:22:45.738Z
- 近 30 天下载量：2075（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：25（近 12 个月 25 个）

## 中文简介

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

## 安装

```sh
npm install @casoon/chartlet-mcp
```

也可以使用：`pnpm add @casoon/chartlet-mcp`、`yarn add @casoon/chartlet-mcp`、`bun add @casoon/chartlet-mcp`

## README

# @casoon/chartlet-mcp (英语)

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

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

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

## 安装

### 克劳德代码

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

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

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

`CHARTLET_MCP_ROOT` 是唯一的目录 `chartlet_render` 可写入(参见 [安全问题](https://npmcn.com/package/%40casoon/chartlet-mcp/#readme-safety)) (中文(简体) ). 保留它, 服务器从不写入文件; 它返回图表 .

### 克劳德桌面

单位 `claude_desktop_config.json`数字 :

```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`,错误为 `code`JSON指针 `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 的客户端中,图表也出现在聊天中([下级](https://npmcn.com/package/%40casoon/chartlet-mcp/#readme-in-the-chat)) (中文(简体) ). | 写作 `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`选项 `id`s; 高尔夫球队; `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 应用程序](https://github.com/modelcontextprotocol/ext-apps)) (中文(简体) ). 显示 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 弦而不是被猜测。 四位数整数仅在列名时计为年份 包含"年份"或"圣战者"或数值严格增加.

## 发展

```sh
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 是什么？

检查数据并验证、制作和描述图表的 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 和提交记录判断。

