MCP Client 客户端

目前,项目的 AI 聊天对话 功能,也已经接入 MCP Client 客户端,如下图所示:

MCP Client 的案例

1. 如何配置?

① 本地需要启动一个你想调用的 MCP Server 服务,例如说:

## https://www.npmjs.com/package/@agent-infra/mcp-server-filesystem
## 注意:<dir> 需要替换成你想开放的目录

npx @agent-infra/mcp-server-filesystem --port 8089 --allowed-directories <dir>

启动完成后,可以浏览器访问 http://127.0.0.1:8089/sse 是否通了。

② 在项目的 application.yaml 中,配置 spring.ai.mcp.client 配置项,配置对应的 MCP Client ,如下所示:

spring:
  ai:
    mcp:
      client:
        enabled: true
        name: mcp
        sse:
          connections:
            filesystem:
              url: http://127.0.0.1:8089
              sse-endpoint: /sse

友情提示:

具体每个配置项的作用,可见 《Spring AI 官方文档 —— MCP Client Boot Starter》 文档。


接着启动后端项目,可以看到 INFO io.modelcontextprotocol.client.McpAsyncClient 日志,表示 MCP Client 启动成功。

2. 如何使用(所有工具)?

一个 MCP 会有多个工具,例如说上面 mcp Client 连接的 filesystem Server,就提供了 read_filewrite_filelist_directory 等多个工具,如何进行使用?

① 第一步,在数据字典菜单,配置 ai_mcp_client_name 字典,添加在 ${spring.ai.mcp.client.sse.connections} 里的名字,例如说:filesystem。如下图所示:

数据字典配置

② 第二步,在角色配置时,关联对应的 AI 工具,可多选。如下图所示:

AI 工具角色配置(MCP)

③ 第三步,使用该角色进行聊天,即可使用 AI 工具。如下图所示:

MCP Client 的案例(MCP)

友情提示:

本质上,MCP Client 会转换成 AI 工具调用的方式:MCP Tool 转换为 function calling 的 Tool 定义,进而提交给大模型进行推理使用。

3. 如何使用(单个工具)?

如果只想使用 MCP Client 连接的 MCP Server 的某一个工具,例如说 read_file 工具,如何进行使用?

① 第一步,在 [AI 大模型 -> 控制台 -> AI 工具管理] 菜单,创建工具(关联 MCP 工具)。

AI 工具

MCP 工具名字的生成规则可见 McpToolUtils 的 #prefixedToolName(...) 方法,总结来说就是 ${spring.ai.mcp.client.name}_${spring.ai.mcp.client.sse.connections.serverName}_<toolName>

例如说我们上面:

  • ${spring.ai.mcp.client.name}mcp
  • ${spring.ai.mcp.client.sse.connections.serverName}filesystem
  • <toolName>read_file

疑问:我要怎么知道 MCP Server 提供了哪些工具?

可以使用类似 Cursor、Copilot 等 AI 工具连接该 MCP Server,然后就能看到它提供了哪些工具。

② 第二步,在角色配置时,关联对应的 AI 工具,可多选。如下图所示:

AI 工具角色配置

③ 第三步,使用该角色进行聊天,即可使用 AI 工具。如下图所示:

MCP Client 的案例

📄 来源: https://doc.iocoder.cn/ai/mcp-client/🕒 爬取时间: 2025-09-26 15:02:35