Skip to content
Spring AI 文档版本 2.1.0-SNAPSHOT 源快照 e22a1af1 更新于 2026-10-16

MCP 工具类

MCP 工具类为把模型上下文协议集成进 Spring AI 应用提供基础支持。 这些工具类支持 Spring AI 的工具系统与 MCP 服务端之间的无缝通信,同时支持同步与异步操作。 它们通常用于以编程方式配置和交互 MCP 客户端与服务端。 若要更简捷的配置,请考虑使用 boot starters。

ToolCallback 工具类

工具回调适配器

把 MCP 工具适配到 Spring AI 的工具接口,同时支持同步与异步执行。

java
McpSyncClient mcpClient = // obtain MCP client
Tool mcpTool = // obtain MCP tool definition
ToolCallback callback = new SyncMcpToolCallback(mcpClient, mcpTool);

// Use the tool through Spring AI's interfaces
ToolDefinition definition = callback.getToolDefinition();
String result = callback.call("{\"param\": \"value\"}");

工具回调提供者

从 MCP 客户端发现并提供 MCP 工具。

java
McpSyncClient mcpClient = // obtain MCP client
ToolCallbackProvider provider = new SyncMcpToolCallbackProvider(mcpClient);

// Get all available tools
ToolCallback[] tools = provider.getToolCallbacks();

For multiple clients:

java
List<McpSyncClient> clients = // obtain list of clients
List<ToolCallback> callbacks = SyncMcpToolCallbackProvider.syncToolCallbacks(clients);

For dynamic selection of a subset of clients

java
@Autowired
private List<McpSyncClient> mcpSyncClients;

public ToolCallbackProvider buildProvider(Set<String> allowedServerNames) {
    // Filter by server.name().
    List<McpSyncClient> selected = mcpSyncClients.stream()
        .filter(c -> allowedServerNames.contains(c.getServerInfo().name()))
        .toList();

    return new SyncMcpToolCallbackProvider(selected);
}

McpToolUtils

从 ToolCallbacks 到 ToolSpecifications

把 Spring AI 工具回调转换为 MCP 工具规格:

java
List<ToolCallback> toolCallbacks = // obtain tool callbacks
List<SyncToolSpecifications> syncToolSpecs = McpToolUtils.toSyncToolSpecifications(toolCallbacks);

then you can use the McpServer.SyncSpecification to register the tool specifications:

java
McpServer.SyncSpecification syncSpec = ...
syncSpec.tools(syncToolSpecs);

从 MCP 客户端到 ToolCallbacks

从 MCP 客户端获取工具回调

java
List<McpSyncClient> syncClients = // obtain sync clients
List<ToolCallback> syncCallbacks = McpToolUtils.getToolCallbacksFromSyncClients(syncClients);

原生镜像支持

McpHints 类为 MCP 模式类提供 GraalVM 原生镜像提示。 在构建原生镜像时,该类会自动注册所有 MCP 模式类所需的反射提示。

BytesRouter 是社区翻译站点,所有译文仅供参考,一切以官方英文原文为准。