Package io.modelcontextprotocol.server
Class McpAsyncServerExchange
java.lang.Object
io.modelcontextprotocol.server.McpAsyncServerExchange
Represents an asynchronous exchange with a Model Context Protocol (MCP) client. The
exchange provides methods to interact with the client and query its capabilities.
- Author:
- Dariusz Jędrzejczyk
-
Constructor Summary
ConstructorsConstructorDescriptionMcpAsyncServerExchange(McpServerSession session, McpSchema.ClientCapabilities clientCapabilities, McpSchema.Implementation clientInfo) Create a new asynchronous exchange with the client. -
Method Summary
Modifier and TypeMethodDescriptionreactor.core.publisher.Mono<McpSchema.CreateMessageResult>createMessage(McpSchema.CreateMessageRequest createMessageRequest) Create a new message using the sampling capabilities of the client.Get the client capabilities that define the supported features and functionality.Get the client implementation information.reactor.core.publisher.Mono<McpSchema.ListRootsResult>Retrieves the list of all roots provided by the client.reactor.core.publisher.Mono<McpSchema.ListRootsResult>Retrieves a paginated list of roots provided by the client.
-
Constructor Details
-
McpAsyncServerExchange
public McpAsyncServerExchange(McpServerSession session, McpSchema.ClientCapabilities clientCapabilities, McpSchema.Implementation clientInfo) Create a new asynchronous exchange with the client.- Parameters:
session- The server session representing a 1-1 interaction.clientCapabilities- The client capabilities that define the supported features and functionality.clientInfo- The client implementation information.
-
-
Method Details
-
getClientCapabilities
Get the client capabilities that define the supported features and functionality.- Returns:
- The client capabilities
-
getClientInfo
Get the client implementation information.- Returns:
- The client implementation details
-
createMessage
public reactor.core.publisher.Mono<McpSchema.CreateMessageResult> createMessage(McpSchema.CreateMessageRequest createMessageRequest) Create a new message using the sampling capabilities of the client. The Model Context Protocol (MCP) provides a standardized way for servers to request LLM sampling (“completions” or “generations”) from language models via clients. This flow allows clients to maintain control over model access, selection, and permissions while enabling servers to leverage AI capabilities—with no server API keys necessary. Servers can request text or image-based interactions and optionally include context from MCP servers in their prompts.- Parameters:
createMessageRequest- The request to create a new message- Returns:
- A Mono that completes when the message has been created
- See Also:
-
listRoots
Retrieves the list of all roots provided by the client.- Returns:
- A Mono that emits the list of roots result.
-
listRoots
Retrieves a paginated list of roots provided by the client.- Parameters:
cursor- Optional pagination cursor from a previous list request- Returns:
- A Mono that emits the list of roots result containing
-