node package manager


Moleculer logo

Build Status Coverage Status Codacy Badge Code Climate David Known Vulnerabilities Join the chat at

Downloads FOSSA Status

Moleculer NPM version

Moleculer is a fast, modern and powerful microservices framework for NodeJS (>= v6.x).



What's included

  • Promise-based solution
  • request-reply concept
  • support event driven architecture with balancing
  • built-in service registry & auto discovery
  • load balanced requests & events (round-robin, random, custom)
  • supports middlewares
  • service mixins
  • multiple services on a node/server
  • built-in caching solution (memory, Redis)
  • pluggable transporters (NATS, MQTT, Redis)
  • pluggable serializers (JSON, Avro, MsgPack, Protocol Buffer)
  • pluggable validator
  • all nodes are equal, no master/leader node
  • parameter validation with fastest-validator
  • distributed timeout handling with fallback response
  • health monitoring, metrics & statistics
  • supports versioned services
  • official API gateway module and many other modules...


$ npm install moleculer --save


$ yarn add moleculer

Create your first microservice

This example shows you how to create a small service with an add action which can add two numbers.

const { ServiceBroker } = require("moleculer");
let broker = new ServiceBroker({ logger: console });
    name: "math",
    actions: {
        add(ctx) {
            return Number(ctx.params.a) + Number(ctx.params.b);
// Call service"math.add", { a: 5, b: 3 })
    .then(res => console.log("5 + 3 =", res))
    .catch(err => console.error(`Error occured! ${err.message}`));

Try it on Runkit

Create a Moleculer project

Use the Moleculer CLI tool to create a new Moleculer based microservices project.

  1. Install moleculer-cli globally

    $ npm install moleculer-cli -g
  2. Create a new project (named first-demo)

    $ moleculer init project-simple first-demo

    Press Y on API Gateway & npm install

  3. Open project folder

    cd first-demo
  4. Start project

    $ npm run dev
  5. Open the http://localhost:3000/greeter/welcome?name=world link in your browser. It will call the welcome action of greeter service with a name param via API gateway and returns with the result.

🎉Congratulations! Your first Moleculer based microservices project is created. Read our documentation to learn more about Moleculer.

Official modules

We have many official modules for Moleculer. Check our list!


You can find here the documentation.






We welcome you to join to the development of Moleculer. Please read our contribution guide.


Moleculer is available under the MIT license.

3rd party licenses


Copyright (c) 2016-2017 Ice Services

@ice-services @MoleculerJS