Class McpSyncServerExchange

java.lang.Object
io.modelcontextprotocol.server.McpSyncServerExchange

public class McpSyncServerExchange extends Object
Represents a synchronous 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 Details

    • McpSyncServerExchange

      public McpSyncServerExchange(McpAsyncServerExchange exchange)
      Create a new synchronous exchange with the client using the provided asynchronous implementation as a delegate.
      Parameters:
      exchange - The asynchronous exchange to delegate to.
  • Method Details

    • getClientCapabilities

      public McpSchema.ClientCapabilities getClientCapabilities()
      Get the client capabilities that define the supported features and functionality.
      Returns:
      The client capabilities
    • getClientInfo

      public McpSchema.Implementation getClientInfo()
      Get the client implementation information.
      Returns:
      The client implementation details
    • createMessage

      public 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 result containing the details of the sampling response
      See Also:
    • listRoots

      public McpSchema.ListRootsResult listRoots()
      Retrieves the list of all roots provided by the client.
      Returns:
      The list of roots result.
    • listRoots

      public McpSchema.ListRootsResult listRoots(String cursor)
      Retrieves a paginated list of roots provided by the client.
      Parameters:
      cursor - Optional pagination cursor from a previous list request
      Returns:
      The list of roots result