TCP is one of the most dominant transport-layer protocols for reliable transmission in the Internet. Since it is optimized to serve elastic data traffic, it may not support applications that require a form of data rate guarantee. This paper presents TCP-MR, a transport-layer protocol designed to achieve end-to-end minimum rate guarantee over best-effort networks. We modify both congestion control and loss recovery of a TCP sender. Our simulation results showed good performance in achieving the minimum rate.