Mu is a suite of libraries and tools that help you build and maintain microservices and clients in a functional style.

Getting Started

If you’re new to Mu-Scala, check out the Getting Started guide and the tutorials.


While you focus on implementing the business logic for your service, let Mu take care of the boilerplate and non-functional requirements, including:

Specifically, Mu helps you to build gRPC servers and clients based on either Avro or Protobuf protocol definitions.

Scala versions

Mu is available for Scala 2.13 and 3.x.

However, Avro support for Scala 3 should be considered experimental because the Scala 3 version of Avro4s is not yet feature-complete. For example, fields with default values are not supported properly.

Most code samples in this documentation site use Scala 3 syntax.