AI智能体——MCP实战

1、程序中使用 MCP

1.1、安装依赖

<!-- https://mvnrepository.com/artifact/org.springframework.ai/spring-ai-mcp-client-spring-boot-starter -->
        <dependency>
            <groupId>org.springframework.ai</groupId>
            <artifactId>spring-ai-mcp-client-spring-boot-starter</artifactId>
            <version>1.0.0-M6</version>
        </dependency>

1.2、编写配置

先到 MCP 市场 找到 高德地图 MCP

其次申请一个key。
在这里插入图片描述

之后在 resources 目录下新建 mcp-servers.json 配置,定义需要用到的 MCP 服务:

{
   
   
  "mcpServers": {
   
   
    "amap-maps": {
   
   
      "command": "npx",
      "args": [
        "-y",
        "@amap/amap-maps-mcp-server"
      ],
      "env": {
   
   
        "AMAP_MAPS_API_KEY": "自己的API Key"
      }
    }
  }
}

特别注意:在 Windows 环境下,命令配置需要添加 .cmd 后缀(如 npx.cmd),否则会报找不到命令的错误。

因为调用MCP 服务的本质是在启动项目的过程中,单独开一个子进程,运行 npx @amap/amap-maps-mcp-server 命令,来启动 MCP 服务。当关闭程序时,子进程也关闭,所以我们需要提供 window 上能运行的命令。

1.3、编写 MCP 客户端配置

修改 Spr‏ing 配置文件,编写 MCP؜ 客户端配置。由于是本地运行 ​MCP 服务,所以使用 std‌io 模式,并且要指定 MCP‏ 服务配置文件的位置。

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

1.4、修改 LoveApp 的代码,

新增一个利用 MCP 完成对话的方法。通过自动注入的 ToolCallbackProvider 获取到配置中定义的 MCP 服务提供的 所有工具,并提供给 ChatClient。代码如下:

@Resource
private ToolCallbackProvider toolCallbackProvider;

public String doChatWithMcp(String message, String chatId) {
   
   
    ChatResponse response = chatClient
            .prompt()
            .user(message)
            .advisors(spec -> spec.param(CHAT_MEMORY_CONVERSATION_ID_KEY, chatId)
                    .param(CHAT_MEMORY_RETRIEVE_SIZE_KEY, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值