1. 为什么要在 Cline 里接一个图表 MCP
AntV MCP Server Chart 是蚂蚁 AntV 团队开源的可视化图表服务,它把 GPT-Vis 的 25 种以上图表能力(折线、柱状、饼图、组织架构、思维导图、网络图、标注地图、路径地图等)封装成 MCP 工具,让 AI 客户端通过自然语言就能直接出图。它适合谁?适合每天在 Cline、Claude Code、CC Switch 这类编码或对话客户端里干活,又经常需要把一堆 JSON 数据变成可读图表的开发者。你不需要写前端、不需要起浏览器,只要把数据丢给模型,模型调用 MCP 工具,服务端 SSR 渲染出静态图片链接返回。
但实际接入时,很多人卡在同一个地方:MCP 服务本身能跑,客户端却调不通模型,或者图表请求发出去了没有响应。原因往往不是 AntV 的问题,而是模型通道没配好——MCP 负责“工具”,模型负责“理解你要画什么”,两条链路缺一不可。这篇就把 AntV MCP Server Chart 和 TaoToken 统一模型通道配到一起,给出 settings.json 与 config.toml 的可复制骨架,再演示一次真实的图表生成验证。
2. 前置准备:TaoToken 通道与 AntV MCP 服务
先说清楚分工。AntV MCP Server Chart 是一个本地或远程运行的 MCP 服务,它暴露generate_line_chart、generate_pie_chart这类工具;TaoToken 提供的是模型 API 通道,让 Cline 里的模型能正常推理并决定调用哪个工具。两者通过客户端配置文件汇合。
TaoToken 的接入地址是https://taotoken.net/api,API Key 在控制台创建。你需要先拿到两样东西:一个可用的 Key,以及确认客户端里模型走的是这个通道。MCP 服务这边,推荐直接用 npx 拉起,不污染全局环境:
npx -y @antv/mcp-server-chart --transport stdiostdio 模式最适合 Cline 这类本地客户端,进程由客户端托管,不用手动开端口。如果你要跨机器共享,可以改用 SSE 或 streamable,但本文以 stdio 为主线,因为踩坑最少。
注意:MCP 服务只负责出图,它不负责模型推理。模型通道没配好时,你会看到工具列表能发现、但模型不调用,或者调用后报鉴权错误。
3. 可复制配置:settings.json 与 config.toml 骨架
Cline 的 MCP 配置在settings.json里,模型通道和 MCP 服务是两块独立配置。下面这份骨架可以直接改 Key 使用:
{ "mcpServers": { "mcp-server-chart": { "command": "npx", "args": ["-y", "@antv/mcp-server-chart", "--transport", "stdio"], "env": { "VIS_REQUEST_SERVER": "" } } } }Windows 下npx需要走 cmd 包装,否则 Cline 找不到可执行文件:
{ "mcpServers": { "mcp-server-chart": { "command": "cmd", "args": ["/c", "npx", "-y", "@antv/mcp-server-chart", "--transport", "stdio"] } } }模型通道部分,在 Cline 的 API 配置里填 TaoToken 的地址和 Key。如果你用的是 Claude Code 或 CC Switch,配置落在config.toml,骨架如下:
[model] provider = "openai-compatible" base_url = "https://taotoken.net/api" api_key = "sk-你的Key" [mcp_servers.mcp-server-chart] command = "npx" args = ["-y", "@antv/mcp-server-chart", "--transport", "stdio"]这里的关键点是base_url必须指向https://taotoken.net/api,不要多加路径后缀。Key 建议用环境变量注入,避免明文进版本库:
api_key = "${TAOTOKEN_API_KEY}"配完后重启客户端,让 MCP 进程重新拉起。你可以在 Cline 的 MCP 面板看到mcp-server-chart处于 connected 状态,工具列表里会出现一批generate_*_chart方法。
4. 验证一次图表生成请求
配置对不对,跑一次就知道。在 Cline 对话框里输入一段带数据的自然语言请求:
用折线图展示 2025 年 5 月到 8 月的日活: 5月 512,6月 1024,7月 2048,8月 4096。模型会先推理,然后调用generate_line_chart,参数大致是:
{ "type": "line", "data": [ { "time": "2025-05", "value": 512 }, { "time": "2025-06", "value": 1024 }, { "time": "2025-07", "value": 2048 }, { "time": "2025-08", "value": 4096 } ] }服务端 SSR 渲染后返回一个图片 URL,Cline 会把它展示出来。成功标志有三个:工具调用记录里出现mcp-server-chart、返回体里有success: true、图片能正常加载。如果只看到模型在“思考”却不调用工具,八成是模型通道没通,回到上一步检查base_url和 Key。
想单独验证 MCP 服务本身,可以绕过模型直接调:
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | npx -y @antv/mcp-server-chart --transport stdio返回里能看到全部工具名,说明服务健康。这一步能把“服务问题”和“模型问题”彻底分开。
5. 本篇常见错排查
工具列表为空:Cline 没拉起进程。检查command是否可执行,Windows 必须用cmd /c包装;Mac/Linux 确认 npx 在 PATH 里。
模型不调用工具:模型通道没配好,或当前模型不支持 function calling。换用支持工具调用的模型,并确认base_url是https://taotoken.net/api。
401 / 鉴权失败:Key 填错或过期。到控制台重新生成,注意别把 Key 写进带空格的字符串。
图表返回但图片 404:VIS_REQUEST_SERVER被设成了不可用地址。留空走默认公有服务即可,私有部署才需要填。
stdio 模式下进程反复重启:多半是 npx 首次下载超时。先手动跑一次npx -y @antv/mcp-server-chart把包缓存下来,再交给客户端托管。
SSE 模式端口冲突:默认 1122 被占用,用--port换一个,并同步改客户端里的 URL。
6. 把两条链路固定下来
AntV MCP Server Chart 负责“画”,TaoToken 负责“想”,两者在客户端配置里各占一块,互不干扰。我的习惯是先把 MCP 服务用tools/list单独验通,再配模型通道,最后跑一次真实图表请求,这样出问题时能立刻定位是哪条链路。Key 统一走环境变量,配置骨架存一份到团队仓库,换机器时只改 Key 不改结构。
需要创建 Key 或查看接入文档,可以从这里进:API Keys 在https://taotoken.net/api-keys,接入说明在https://taotoken.net/doc;想先验证模型对话是否正常,用https://taotoken.net/model-chat;长期在 Cline 里跑编码和 Agent 任务,Coding Plan 在https://taotoken.net/coding-plan。把图表 MCP 和模型通道都固定成可复制的配置,下次换客户端只是换个文件的事。