关于 ChartQuery
ChartQuery 是供 AI 客户端使用 ChartQuery 图表和二维码 API 的 MCP 服务。其工具可生成视觉资源,并创建、检查或转换热敏标签指令。
主要功能
- 01生成图表和示意图
- 02创建条形码和二维码
- 03预览热敏标签
- 04编译、解析和验证打印机指令
- 05渲染或查看已保存的资源
适用场景
- 01根据数据生成图表图像
- 02生成二维码或条形码
- 03制作并预览热敏标签
- 04转换或验证打印机指令
MCP 相关
通过 stdio 或 Streamable HTTP 将 ChartQuery API 操作作为工具提供给 MCP 客户端。客户端需提供 API 密钥,可使用托管端点,也可本地运行或自托管。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.chartquery.com/claude mcp add --transport http com-chartquery https://mcp.chartquery.com/{"mcpServers":{"com-chartquery":{"type":"http","url":"https://mcp.chartquery.com/"}}}在 Cursor 中打开{"servers":{"com-chartquery":{"type":"http","url":"https://mcp.chartquery.com/"}}}在 VS Code 中打开{"mcpServers":{"com-chartquery":{"type":"http","url":"https://mcp.chartquery.com/"}}}{"mcpServers":{"com-chartquery":{"serverUrl":"https://mcp.chartquery.com/"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://mcp.chartquery.com/需要授权工具
详细介绍
ChartQuery MCP 服务
适用于 ChartQuery 图表和二维码 API 的官方 Model Context Protocol 服务。
按需生成图表图像、示意图、条形码、二维码和热敏标签。输出格式为 PNG、SVG 或 PDF。
它可让 Claude、Cursor、VS Code、Windsurf 和任何 MCP 客户端将 API 作为工具调用。支持通过 stdio(本地)或 Streamable HTTP(可自托管)运行。
要求
托管服务(推荐)
ChartQuery 会为你运行此服务,地址为 https://mcp.chartquery.com/(Streamable HTTP)。在 x-api-key 标头中发送 API 密钥;无需安装。
claude mcp add --transport http chartquery https://mcp.chartquery.com/ --header "x-api-key: YOUR_API_KEY"
{
"mcpServers": {
"chartquery": {
"url": "https://mcp.chartquery.com/",
"headers": {
"x-api-key": "YOUR_API_KEY"
}
}
}
}
托管服务与此软件包提供相同的 API;如果需要使用 stdio、自定义网络出口或自行托管,可在本地运行此软件包。
在本地运行
Claude Code
claude mcp add chartquery --env CHARTQUERY_API_KEY=YOUR_API_KEY -- npx -y @chartquery/mcp
Claude Desktop、Cursor、Windsurf 和其他客户端
将服务添加到客户端的 MCP 配置中(claude_desktop_config.json、.cursor/mcp.json……):
{
"mcpServers": {
"chartquery": {
"command": "npx",
"args": ["-y", "@chartquery/mcp"],
"env": {
"CHARTQUERY_API_KEY": "YOUR_API_KEY"
}
}
}
}
VS Code
{
"servers": {
"chartquery": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@chartquery/mcp"],
"env": {
"CHARTQUERY_API_KEY": "${input:chartquery-api-key}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "chartquery-api-key",
"description": "ChartQuery API key",
"password": true
}
]
}
Claude Desktop 扩展
从发布页面下载 .mcpb 捆绑包并打开;Claude Desktop 会提示你输入 API 密钥。
Docker
docker build -t chartquery-mcp .
docker run -i --rm -e CHARTQUERY_API_KEY=YOUR_API_KEY chartquery-mcp
工具
| 工具 | 描述 |
|---|---|
barcode | 通过 GET 生成条形码图像。输出:SVG(默认)或 PNG。支持 25 种以上格式:EAN-13、Code 128、ITF-14、GS1-128、邮政编码等。 |
chart | 通过 GET 渲染 Chart.js 图像。将完整的图表对象作为经过 URL 编码的 JSON 传入查询参数。对于 ChatGPT,建议使用 png 格式。POST 会将相同对象作为 JSON 正文发送,而非查询参数。 |
chart_ai | 通过 GET 用通俗易懂的英文描述图表,并获取渲染后的图像。由 AI 驱动。 |
chart_render | 按 ID 渲染之前保存的图表。公开访问,无需 API 密钥。支持通过 URL 覆盖模板参数(?data1=、?labels=、?title=…)。 |
chart_view | 将之前保存的图表作为交互式 HTML 页面查看。公开访问,无需 API 密钥。可嵌入 iframe。 |
diagram | 通过 GET 渲染图表。使用 type(mermaid、d2、…)、query(源代码),并为 ChatGPT 设置 format=png。POST 则使用 diagram_type 和 diagram_source。 |
diagram_ai | 通过 GET 用通俗易懂的英文描述图表,并获取渲染后的图像。由 AI 驱动。 |
diagram_render | 按 ID 渲染之前保存的图表。公开访问,无需 API 密钥。支持通过 ?format= 和 ?query= 覆盖参数。 |
diagram_view | 将之前保存的图表作为 HTML 页面查看。公开访问,无需 API 密钥。可嵌入 iframe,并以内联 SVG 渲染。 |
label | 通过 GET 预览热敏标签。将相同的标签对象作为经过 URL 编码的 JSON 字符串传入查询参数。在该 JSON 中,文本项使用 content 和 size(1-10),而非 text 或 fontSize。建议使用 format=png fo… |
label_compile | 将标签编译为打印机命令(tsc、zpl、epl、…)。POST width、language 和 elements。文本使用 content 和 size(1-10),而非 text 或 fontSize。不支持条形码元素。示例:{"width":40,"height":… |
label_convert | 将打印机命令从一种语言转换为另一种语言。POST source、from 和 to。from 是源语言(tsc、zpl、epl、…)。to 是目标语言(tsc、zpl、escpos、…)。 |
label_parse | 将打印机命令解析为结构化元素。POST source 和 language(tsc、zpl、epl、…)。 |
label_render | 按 ID 渲染之前保存的标签。公开访问,无需 API 密钥。支持通过 ?format= 覆盖参数。 |
label_validate | 验证打印机命令。POST source(原始命令)和 language(tsc、zpl、epl、…)。 |
label_view | 将之前保存的标签作为 HTML 页面查看。公开访问,无需 API 密钥。可嵌入 iframe,并以内联 SVG 渲染。 |
qrcode | 通过 GET 生成样式化二维码。输出:SVG(默认)或 PNG。支持圆点样式、渐变、自定义角和所有 QR 版本。 |
stats | 查询引擎或端点在过去一小时内的基础设施运行状况。不会限定到你的账户或租户。需按账户启用:HTTP 403 表示请联系支持人员以激活。 |
usage | 返回此账户的 Chartquery 用量和余额。不需要请求正文。需要 API 密钥。 |
| 每个调用 API 的工具都会消耗积分。JSON 结果以文本形式返回;图像会内联返回,其他文件(PDF……)则作为嵌入资源返回,大小上限为 4 MB。 |
Streamable HTTP
npx @chartquery/mcp --http --port 3000
端点为 POST /mcp(无状态,返回 JSON)。每个客户端都在 x-api-key 标头(或 Authorization: Bearer <key>)中发送自己的密钥;服务端不会使用自己的密钥。默认绑定到 127.0.0.1,并会拒绝浏览器来源,除非你将其列入允许范围——对外公开前,请在其前面配置 TLS。
createHttpHandler() 已导出,可用于兼容 Fetch 的运行时(Cloudflare Workers、Deno、Bun):
import { createHttpHandler } from "@chartquery/mcp";
export default { fetch: createHttpHandler({ allowedOrigins: [] }) };
安全
- API 密钥从
CHARTQUERY_API_KEY(stdio)或请求标头(HTTP)中读取,并会从错误消息中移除。 - 从网站获取的内容不可信:服务端指令会告诉模型将其视为数据,而非指令。
- 如需报告漏洞,请参阅 SECURITY.md。
开发
npm install
npm test
npm run build
npx @modelcontextprotocol/inspector node dist/stdio.js
基于 SDK 构建
该服务端使用官方的 Node.js SDK(@chartquery/sdk)。
所有 ChartQuery SDK
| SDK | 包 | 安装 |
|---|---|---|
| Node.js | @chartquery/sdk | npm install @chartquery/sdk |
| Python | chartquery | pip install chartquery |
| Go | chartquery-go | go get github.com/chartquery/chartquery-go |
| .NET | ChartQuery | dotnet add package ChartQuery |
| Ruby | chartquery | gem install chartquery |
| PHP | chartquery/sdk | composer require chartquery/sdk |
| Java | chartquery-java | 从源代码构建,参见其 README |
| CLI | @chartquery/cli | npm install -g @chartquery/cli |
| MCP 服务 | @chartquery/mcp | npx -y @chartquery/mcp |
许可证
MIT——请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。