Class InMemorySyncToolRepository
java.lang.Object
org.springframework.ai.mcp.modern.InMemorySyncToolRepository
- All Implemented Interfaces:
io.modelcontextprotocol.modern.server.feature.McpSyncToolRepository
public final class InMemorySyncToolRepository
extends Object
implements io.modelcontextprotocol.modern.server.feature.McpSyncToolRepository
A
McpSyncToolRepository that keeps McpSyncTools in a sorted, concurrent
map. Tools can be added and removed at runtime; each change is broadcast as
notifications/tools/list_changed when a change broadcaster is configured.
Listings are paged by name with an opaque key cursor when a page size is set.- Since:
- 2.1.0
- Author:
- Christian Tzolov
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(io.modelcontextprotocol.modern.server.feature.McpSyncTool tool) Adds a tool and notifies listening clients.builder()@Nullable io.modelcontextprotocol.modern.server.feature.McpSyncToolio.modelcontextprotocol.modern.server.feature.ToolsPagebooleanRemoves a tool by name and notifies listening clients.
-
Method Details
-
builder
-
add
public void add(io.modelcontextprotocol.modern.server.feature.McpSyncTool tool) Adds a tool and notifies listening clients.- Throws:
IllegalArgumentException- if a tool with the same name exists
-
remove
Removes a tool by name and notifies listening clients.- Returns:
- whether a tool was removed
-
list
public io.modelcontextprotocol.modern.server.feature.ToolsPage list(io.modelcontextprotocol.modern.server.McpRequestContext ctx, @Nullable String cursor) - Specified by:
listin interfaceio.modelcontextprotocol.modern.server.feature.McpSyncToolRepository
-
find
public @Nullable io.modelcontextprotocol.modern.server.feature.McpSyncTool find(io.modelcontextprotocol.modern.server.McpRequestContext ctx, String name) - Specified by:
findin interfaceio.modelcontextprotocol.modern.server.feature.McpSyncToolRepository
-