MCP Client 客户端
前置阅读:
目前,项目的 AI 聊天对话 功能,也已经接入 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 (opens new window) 是否通了。
② 在项目的 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》 (opens new window) 文档。
接着启动后端项目,可以看到 INFO io.modelcontextprotocol.client.McpAsyncClient 日志,表示 MCP Client 启动成功。
# 2. 如何使用(所有工具)?
一个 MCP 会有多个工具,例如说上面 mcp Client 连接的 filesystem Server,就提供了 read_file、write_file、list_directory 等多个工具,如何进行使用?
① 第一步,在数据字典菜单,配置 ai_mcp_client_name 字典,添加在 ${spring.ai.mcp.client.sse.connections} 里的名字,例如说:filesystem。如下图所示:

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

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

友情提示:
本质上,MCP Client 会转换成 AI 工具调用的方式:MCP Tool 转换为 function calling 的 Tool 定义,进而提交给大模型进行推理使用。
# 3. 如何使用(单个工具)?
如果只想使用 MCP Client 连接的 MCP Server 的某一个工具,例如说 read_file 工具,如何进行使用?
① 第一步,在 [AI 大模型 -> 控制台 -> AI 工具管理] 菜单,创建工具(关联 MCP 工具)。

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 工具。如下图所示:
