Interface McpTransport

All Superinterfaces:
AutoCloseable, Closeable
All Known Implementing Classes:
HttpMcpTransport, StdioMcpTransport

public interface McpTransport extends Closeable
  • Method Details

    • start

      void start(McpOperationHandler messageHandler)
      Creates a connection to the MCP server (runs the server as a subprocess if needed). This does NOT yet send the "initialize" message to negotiate capabilities.
    • initialize

      CompletableFuture<com.fasterxml.jackson.databind.JsonNode> initialize(McpInitializeRequest request)
      Sends the "initialize" message to the MCP server to negotiate capabilities, supported protocol version etc. When this method returns successfully, the transport is fully initialized and ready to be used. This has to be called AFTER the "start" method.
    • executeOperationWithResponse

      CompletableFuture<com.fasterxml.jackson.databind.JsonNode> executeOperationWithResponse(McpClientMessage request)
      Executes an operation that expects a response from the server.
    • executeOperationWithoutResponse

      void executeOperationWithoutResponse(McpClientMessage request)
      Sends a message that does not expect a response from the server. The 'id' field of the message should be null.
    • checkHealth

      void checkHealth()
      Performs transport-specific health checks, if applicable. This is called by `McpClient.checkHealth()` as the first check before performing a check by sending a 'ping' over the MCP protocol. The purpose is that the transport may have some specific and faster ways to detect that it is broken, like for example, the STDIO transport can fail the check if it detects that the server subprocess isn't alive anymore.
    • onFailure

      void onFailure(Runnable actionOnFailure)