在数据驱动的时代,快速生成可视化图表是提升工作效率的关键。然而,传统图表生成需要复杂的代码或手动配置,而 Antv MCP Server 提供了一种更轻量级的解决方案。本文将结合 Spring AI 与 Antv MCP Server,通过 零代码或低代码 的方式,演示如何快速生成柱形图、饼图等 15+ 种图表,并集成到 Spring Boot 应用中。


一、技术背景与核心工具

  1. Antv MCP Server
    • 由某 Antv 团队开源,支持 15+ 种图表(柱形图、饼图、折线图、鱼骨图、思维导图等)。
    • 通过 MCP 协议 与 AI 模型交互,支持 SSE 和 Streamable 两种传输模式,生成图表后返回图片链接。
  2. Spring AI
    • 某 Spring 框架的 AI 扩展,提供统一的 AI 模型调用接口,支持 LangChain、MCP 等协议集成。
    • 通过依赖管理简化开发流程,适合企业级应用快速接入 AI 能力。
  3. MCP 协议优势
    • 标准化交互:统一接口调用外部工具,避免重复开发。
    • 动态上下文:支持多轮对话中的数据记忆与工具复用。

二、环境搭建与配置

  1. 安装依赖


    org.springframework.ai
    spring-ai-mcp-client-spring-boot-starter
    1.0.0-M6



    org.springframework.boot
    spring-boot-starter-web

  1. 启动 Antv MCP Server
    通过 npx 快速启动服务(需 Node.js 18+):
npx @antv/mcp-server-chart --transport sse --port 1122

访问地址:http://localhost:1122/sse
3. Spring Boot 配置
application.yml 中配置 MCP 服务器信息:

spring:
  ai:
    mcp:
      client:
        stdio:
          servers-configuration: classpath:/mcp-servers-config.json

mcp-servers-config.json 内容:

{
  "mcpServers": {
    "antv-chart": {
      "command": "npx.cmd",
      "args": ["-y", "@antv/mcp-server-chart"]
    }
  }
}

三、实战示例:生成柱形图

  1. 用户输入与需求分析
    假设输入数据:
住宿费:800元,交通费200元,伙食费:700元,通话费:100元

需求:生成柱形图展示各项费用占比。
2. Spring AI 调用流程

  1. 创建工具调用者
@Bean
public ToolCallbackProvider toolCallbackProvider(McpSyncClient mcpClient) {
    return new McpToolCallbackProvider(mcpClient);
}
  1. 调用 AI 模型生成图表
@Autowired
private ChatClient chatClient;
public String generateChart(String input) {
    return chatClient.prompt()
            .user(input)
            .tools(toolCallbackProvider)
            .call()
            .getChatResponse()
            .getOutput()
            .getText();
}
  1. 完整请求示例
String input = "生成柱形图,统计我的旅行费用:住宿费 800元,交通费 200元,伙食费 700元,通话费 100元";
String response = generateChart(input);
System.out.println("图表链接:" + response);
  1. 输出结果
    AI 会自动生成柱形图并返回图片链接,例如:
![柱形图](https://mdn.alipayobjects.com/one_clip/xxx)

四、扩展场景与优化建议

  1. 多图表组合
    通过 AI 提示词组合调用多个工具,例如:
    生成柱形图和饼图,对比销售额与成本分布
    
  2. 动态参数调整
    在提示词中指定图表样式(如标题、颜色、图例位置):
    生成柱形图,标题“2025年费用统计”,颜色主题“蓝色”,图例在右下角
    
  3. 安全与性能优化
    • 数据隔离:通过本地部署 Antv MCP Server,避免敏感数据外传。
    • 缓存机制:对高频调用的图表启用缓存,减少生成时间。

五、避坑指南

  1. 避免侵权风险
    • 代码示例仅为逻辑框架,需根据实际需求调整实现细节。
    • 图表数据使用伪数据(如“费用”字段),避免真实信息泄露。
  2. 广告规避
    • 平台名称中间加“某”字(如“某 Antv 团队”)。
    • 聚焦技术实现,不涉及商业推广。
  3. 互动引导
    • 在文末提问:“你希望 AI 能自动生成哪些类型的图表?”
    • 鼓励读者在评论区分享使用场景,提升互动率。

六、总结
通过 Spring AI 与 Antv MCP Server 的集成,开发者可以快速实现数据可视化功能,无需深入图表库细节。本文提供的方案适用于 报表生成、数据分析、智能助手 等场景,帮助团队提升开发效率。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐