Class HttpMcpTransport

java.lang.Object
dev.langchain4j.mcp.client.transport.http.HttpMcpTransport
All Implemented Interfaces:
McpTransport, Closeable, AutoCloseable

public class HttpMcpTransport extends Object implements McpTransport
  • Constructor Details

  • Method Details

    • start

      public void start(McpOperationHandler messageHandler)
      Description copied from interface: McpTransport
      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.
      Specified by:
      start in interface McpTransport
    • initialize

      public CompletableFuture<com.fasterxml.jackson.databind.JsonNode> initialize(McpInitializeRequest operation)
      Description copied from interface: McpTransport
      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.
      Specified by:
      initialize in interface McpTransport
    • executeOperationWithResponse

      public CompletableFuture<com.fasterxml.jackson.databind.JsonNode> executeOperationWithResponse(McpClientMessage operation)
      Description copied from interface: McpTransport
      Executes an operation that expects a response from the server.
      Specified by:
      executeOperationWithResponse in interface McpTransport
    • executeOperationWithoutResponse

      public void executeOperationWithoutResponse(McpClientMessage operation)
      Description copied from interface: McpTransport
      Sends a message that does not expect a response from the server. The 'id' field of the message should be null.
      Specified by:
      executeOperationWithoutResponse in interface McpTransport
    • checkHealth

      public void checkHealth()
      Description copied from interface: McpTransport
      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.
      Specified by:
      checkHealth in interface McpTransport
    • onFailure

      public void onFailure(Runnable actionOnFailure)
      Specified by:
      onFailure in interface McpTransport
    • close

      public void close() throws IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Throws:
      IOException