To do this, it must implement two functions. 1. chain (also called 'flatMap', '>>=' in haskell). 2. unit (sometimes called 'of', for instance in js).
Nothing more is needed to understand and implement a monad in any language.
[1] https://wiki.haskell.org/Monad_laws