Class DefaultMcpClient.Builder

java.lang.Object
dev.langchain4j.mcp.client.DefaultMcpClient.Builder
Enclosing class:
DefaultMcpClient

public static class DefaultMcpClient.Builder extends Object
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • transport

      public DefaultMcpClient.Builder transport(McpTransport transport)
      Sets the transport protocol to use for communicating with the MCP server. This is a mandatory parameter. A successfully constructed DefaultMcpClient takes over the resource ownership of this transport and will close it when it itself is closed.
    • key

      public DefaultMcpClient.Builder key(String key)
      Sets a unique identifier for the client. If none is provided, a UUID will be automatically generated.
    • clientName

      public DefaultMcpClient.Builder clientName(String clientName)
      Sets the name that the client will use to identify itself to the MCP server in the initialization message. The default value is "langchain4j".
    • clientVersion

      public DefaultMcpClient.Builder clientVersion(String clientVersion)
      Sets the version string that the client will use to identify itself to the MCP server in the initialization message. The default value is "1.0".
    • protocolVersion

      public DefaultMcpClient.Builder protocolVersion(String protocolVersion)
      Sets the protocol version that the client will advertise in the initialization message. The default value right now is "2024-11-05", but will change over time in later langchain4j versions.
    • initializationTimeout

      public DefaultMcpClient.Builder initializationTimeout(Duration initializationTimeout)
      Sets the timeout for initializing the client. The default value is 30 seconds.
    • toolExecutionTimeout

      public DefaultMcpClient.Builder toolExecutionTimeout(Duration toolExecutionTimeout)
      Sets the timeout for tool execution. This value applies to each tool execution individually. The default value is 60 seconds. A value of zero means no timeout.
    • resourcesTimeout

      public DefaultMcpClient.Builder resourcesTimeout(Duration resourcesTimeout)
      Sets the timeout for resource-related operations (listing resources as well as reading the contents of a resource). The default value is 60 seconds. A value of zero means no timeout.
    • promptsTimeout

      public DefaultMcpClient.Builder promptsTimeout(Duration promptsTimeout)
      Sets the timeout for prompt-related operations (listing prompts as well as rendering the contents of a prompt). The default value is 60 seconds. A value of zero means no timeout.
    • toolExecutionTimeoutErrorMessage

      public DefaultMcpClient.Builder toolExecutionTimeoutErrorMessage(String toolExecutionTimeoutErrorMessage)
      Sets the error message to return when a tool execution times out. The default value is "There was a timeout executing the tool".
    • logHandler

      public DefaultMcpClient.Builder logHandler(McpLogMessageHandler logHandler)
      Sets the log message handler for the client.
    • pingTimeout

      public DefaultMcpClient.Builder pingTimeout(Duration pingTimeout)
      The timeout to apply when waiting for a ping response. Currently, this is only used in the health check - if the server does not send a pong within this timeframe, the health check will fail. The timeout is 10 seconds.
    • reconnectInterval

      public DefaultMcpClient.Builder reconnectInterval(Duration reconnectInterval)
      The delay before attempting to reconnect after a failed connection. The default is 5 seconds.
    • autoHealthCheck

      public DefaultMcpClient.Builder autoHealthCheck(boolean autoHealthCheck)
      Enables or disables the automatic health check feature. When enabled, the client will periodically send ping messages to the server to ensure the connection is alive, and will attempt to reconnect if it's not. The default is enabled
    • autoHealthCheckInterval

      public DefaultMcpClient.Builder autoHealthCheckInterval(Duration interval)
      Sets the interval for the automatic health checks. This is only used when the auto health check feature is enabled. The default is 30 seconds
    • roots

      public DefaultMcpClient.Builder roots(List<McpRoot> roots)
      Specify the initial set of roots that are available to the server upon its request.
    • build

      public DefaultMcpClient build()