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();
    }
}
相关推荐
Novproxy_Z8 分钟前
商用代理避坑:如何识别商家拿机房 IP 冒充住宅 IP
java·网络·tcp/ip
文丑颜不良啊1 小时前
LeetCode1481~1500题目解析
java·leetcode
2601_962885721 小时前
quotes 字段全解:涨跌幅、振幅、换手率的口径与单位
java·前端·spring
深蓝AI1 小时前
Python 3.13 的 Queue.shutdown:异步消费者终于能正常收工了
后端
前端精髓1 小时前
调用openrouter的免费API模型
java·前端·javascript
武子康2 小时前
MultiNet6 空闲崩溃:`EXCVADDR=0x8` 后又出现 `CORRUPT HEAP`
人工智能·后端·agent
步行cgn2 小时前
Spring MVC 拦截器 Interceptor 详解:从执行流程到实战应用
java·spring·mvc
文丑颜不良啊2 小时前
LeetCode1381~1400题目解析
java·leetcode
开开心心_Every2 小时前
快速隐藏程序工具自定义快捷键一键切换
java·开发语言·前端·spring·智能手机·word·intellij-idea
萧瑟余晖3 小时前
Spring Batch核心模型与快速上手详解
java·spring·batch