By definition, The TCP Maximum Segment Size (MSS) is the maximum amount of data that a host is willing to accept in a single TCP/IPv4 datagram. And MSS is one of the parameters which is negotiated during the 3-way handshaking.
According to the definition, it seems they don't need to agree on a value as they can just send the datagrams based on the maximum value the other side is asking for. On the other hand, it makes sense to choose the lower value as it means the side which is asking for the lower MSS is not able to handle harder segments, thus there is no point to send a bigger segment.
So my question is, Technically, do both sides need to agree on an MSS value (the lower value), or each can use their own?
I'm a bit confused as I can see some say the MSS value is negotiated, but they don't have to agree on a value, but some other say they agree on the lower value.