Spring AI 2.0:MCP

一、简介

Tool负责调用公司内部接口,而MCP负责调用公司外部接口(MCP也是一种Tool)。

二、代码

  1. pom.xml
xml 复制代码
<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-starter-mcp-client</artifactId>
</dependency>
  1. mcp-servers-config.json

Windows版本

json 复制代码
{
  "mcpServers": {
    "baidu-map": {
      "command": "cmd",
      "args": [
        "/c",
        "npx",
        "-y",
        "@baidumap/mcp-server-baidu-map"
      ],
      "env": {
        "BAIDU_MAP_API_KEY": "你的key"
      }
    }
  }
}

Linux/Mac 版本

json 复制代码
{
  "mcpServers": {
    "baidu-map": {
      "command": "npx",
      "args": [
        "-y",
        "@baidumap/mcp-server-baidu-map"
      ],
      "env": {
        "BAIDU_MAP_API_KEY": "你的key"
      }
    }
  }
}
  1. 配置mcp-servers-config.json

application.properties

properties 复制代码
spring.ai.mcp.client.stdio.servers-configuration=classpath:mcp-servers-config.json
  1. 配置MCP
    将ToolCallbackProvider 配置到 defaultTools。
java 复制代码
@Configuration
public class SpringAiConfig {

    @Autowired
    private ChatMemory chatMemory;

    @Autowired
    private MyTools myTools;

    @Autowired
    private ToolCallbackProvider toolCallbackProvider;

    @Bean
    public ChatClient chatClient(DeepSeekChatModel deepSeekChatModel) {
        return ChatClient.builder(deepSeekChatModel)
                .defaultSystem("你是AI助手,回答用户的问题。")
                .defaultAdvisors(MessageChatMemoryAdvisor.builder(chatMemory).build())
                .defaultTools(myTools, toolCallbackProvider)
                .build();
    }
}
相关推荐
北斗落凡尘1 小时前
LangGraph 入门实战(7)
后端·langchain
天疆说1 小时前
01 硬件选型与 llama.cpp 部署:4× RTX 5880 Ada 跑 DeepSeek-V4-Flash
java·redis·llama
uzong2 小时前
业务新老系统数据迁移-负责人经验总结和复盘
后端
水无痕simon2 小时前
3 短信应用场景以及平台架构
java·服务器
dogstarhuang2 小时前
大模型 API 停服怎么办:用 API 网关实现多模型统一接入与可切换架构
人工智能·后端·架构·大模型·api·数字化转型·ai应用
mister_guo2 小时前
JVM 内存管理原理及生产配置实战:从“参数能启动”到“内存可控”
java·jvm
风流 少年2 小时前
Spring AI 2.0:Tool
java·python·spring
程序猿DD2 小时前
OctaFuse Gateway 2.5.0:接入 Responses 端点、更易理解的路由配置
后端·agent
爱敲键盘的猴子3 小时前
Java Spring -- 声明式事务控制
java·spring·事务控制