diff --git a/doc/management.txt b/doc/management.txt
index 6301ffa..261c74d 100644
--- a/doc/management.txt
+++ b/doc/management.txt
@@ -1447,6 +1447,7 @@
   - pool-low-conn
   - pool-max-conn
   - pool-purge-delay
+  - proto
   - proxy-v2-options
   - send-proxy
   - send-proxy-v2
diff --git a/reg-tests/server/cli_add_server.vtc b/reg-tests/server/cli_add_server.vtc
index be2d38c..67e7252 100644
--- a/reg-tests/server/cli_add_server.vtc
+++ b/reg-tests/server/cli_add_server.vtc
@@ -26,6 +26,10 @@
 
 	backend other
 		balance static-rr
+
+	backend other2
+		balance random
+		mode tcp
 } -start
 
 client c1 -connect ${h1_feS_sock} {
@@ -51,6 +55,10 @@
 	send "experimental-mode on; add server other/s1 ${s1_addr}:${s1_port}"
 	expect ~ "Backend must use a consistent hashing method for load balancing to support dynamic servers."
 
+	# invalid mux proto
+	send "experimental-mode on; add server other2/s1 ${s1_addr}:${s1_port} proto h2"
+	expect ~ "MUX protocol is not usable for server."
+
 	# valid command
 	send "experimental-mode on; add server test/s1 ${s1_addr}:${s1_port}"
 	expect ~ "New server registered."
@@ -58,6 +66,11 @@
 	# duplicate server
 	send "experimental-mode on; add server test/s1 ${s1_addr}:${s1_port}"
 	expect ~ "Already exists a server with the same name in backend."
+
+	# valid command
+	# specify the proto, it should be accepted for this backend
+	send "experimental-mode on; add server test/s2 ${s1_addr}:${s1_port} proto h2"
+	expect ~ "New server registered."
 }
 
 # dynamic servers are created on MAINT mode and should not be available at first
diff --git a/src/server.c b/src/server.c
index 376c797..702c307 100644
--- a/src/server.c
+++ b/src/server.c
@@ -1651,7 +1651,7 @@
 	{ "pool-low-conn",       srv_parse_pool_low_conn,       1,  1,  1 }, /* Set the min number of orphan idle connecbefore being allowed to pick from other threads */
 	{ "pool-max-conn",       srv_parse_pool_max_conn,       1,  1,  1 }, /* Set the max number of orphan idle connections, -1 means unlimited */
 	{ "pool-purge-delay",    srv_parse_pool_purge_delay,    1,  1,  1 }, /* Set the time before we destroy orphan idle connections, defaults to 1s */
-	{ "proto",               srv_parse_proto,               1,  1,  0 }, /* Set the proto to use for all outgoing connections */
+	{ "proto",               srv_parse_proto,               1,  1,  1 }, /* Set the proto to use for all outgoing connections */
 	{ "proxy-v2-options",    srv_parse_proxy_v2_options,    1,  1,  1 }, /* options for send-proxy-v2 */
 	{ "redir",               srv_parse_redir,               1,  1,  0 }, /* Enable redirection mode */
 	{ "resolve-net",         srv_parse_resolve_net,         1,  1,  0 }, /* Set the prefered network range for name resolution */
@@ -4377,6 +4377,13 @@
 		goto out;
 	}
 
+	if (srv->mux_proto) {
+		if (!conn_get_best_mux_entry(srv->mux_proto->token, PROTO_SIDE_BE, be->mode)) {
+			cli_err(appctx, "MUX protocol is not usable for server.");
+			goto out;
+		}
+	}
+
 	srv->per_thr = calloc(global.nbthread, sizeof(*srv->per_thr));
 	if (!srv->per_thr) {
 		cli_err(appctx, "failed to allocate per-thread lists for server.");
