Strictly speaking, TLS already supports what you're asking about. There are "null cipher suites" - that is, TLS cipher suites that have no ("null") encryption - that would do what you want. Using one will allow you to use existing TLS libraries and take advantage of all the work and hard thought and lessons learned that has gone into the TLS standard and implementations in major libraries. You can also just use TLS with an AEAD (Authenticated Encryption with Associated Data) cipher - most often AES-GCM (the AES block cipher in Galois/Counter Mode of operation) - and send your data as the "Associated Data" rather than the message contents; the associated data is part of the integrity check but is not encrypted.
However, as several commenters have pointed out, there's almost certainly no good reason to do this. Encryption and decryption with modern algorithms and hardware is very fast - potentially much faster than the network connection the traffic arrives over - and once you have the ability to establish a secure channel, there's no reason to make it less secure than you could. If you're running so extremely close to the performance threshold that the time spent on encryption/decryption is meaningful, some very slightly better hardware is probably a better solution. Also, make sure you're using a TLS library that is built for performance, and that supports AES-NI (AES native instructions, which all modern CPUs support).