Runtime endpoint definition for an MCP server connection.
@type id() :: atom()
@type t() :: %Jido.MCP.Endpoint{ capabilities: map(), client_info: %{required(String.t()) => String.t()}, id: id(), protocol_version: String.t(), timeouts: %{request_ms: pos_integer()}, transport: transport() }
@type transport() :: {:stdio, keyword()} | {:sse, keyword()} | {:streamable_http, keyword()}
@spec new(id(), map() | keyword()) :: {:ok, t()} | {:error, term()}