The MMT Language and System

Setting up MMT

Obtain MMT

There are 2 ways to use MMT:

  • download the binary distribution
    • recommended for casual users
    • self-contained except for needing the usual Java runtime environment
  • clone the source distribution and build MMT yourself
    • recommended for advanced users or developers
    • additionally needs sbt (the Scala build tool) for building

MMT is currently built for Scala 2.11.12. MMT targets Java 8 (both OpenJDK and OracleJDK are supported), and preliminary support for Java 9 exists. Java 7 is no longer officially supported.

Before installing MMT, you can optionally install jEdit. If jEdit is installed, MMT will automatically configure it to serve as an MMT IDE.

Binary Disribution

Since Fall 2017, a new binary version of MMT is released every six weeks. See the development roadmap on GitHub for scheduled improvements.

A list of releases can be found on the GitHub Releases page. The newest binary can be downloaded by clicking the top most item on the list.

To keep up-to-date, you can subscribe to the Atom Feed.

Source Distribution

Clone the MMT repository from github:

git clone


svn checkout

A detailed explanation of the contents of the repository is available here.

If you do not have sbt, get it here.

Then build MMT using sbt (detailed instructions for building can be found here):

cd MMT/src
sbt deploy

This should create many files, of course, in particular the file mmt.jar in the folder ../deploy/. Change to that directory:

cd ../deploy/

Setup MMT

This assumes jEdit is installed and the MMT jar is obtained as described above. It is sometimes required to start jEdit once before running MMT setup as it creates some folders on first run that MMT installer uses.

To start setup run java -jar mmt.jar. This triggers the setup dialog which does the following:

  1. asks for directories into which MMT and MMT content should be placed.
  2. checks out some example content repositories into that directory (This requires git and internet access.),
  3. guesses the location of your jEdit settings directory and - if it exists - adds the MMT plugin to jEdit.

Further instructions for setting up jEdit are available here. In particular, the MMT plugin depends on some other standard plugins that you have to install.


To run MMT it is sufficient to run the jar file obtained as described above. The canonical way for this is run java -jar mmt.jar. But depending on your OS and configuration, double-clicking or executing mmt.jar may also work.

This responds with a simple setup dialog if MMT not installed, and drops to a shell otherwise.

If you have obtained MMT by building from sources make sure to go to the deploy folder first.

cd ../deploy
java -jar mmt.jar

You can now either use jEdit to work with .mmt files or run MMT natively for various other applications.

Additional instructions for running MMT are available here.

Update MMT

To update MMT, replace the file mmt.jar, i.e.,

  • binary distribution: download the new file and save it over deploy/mmt.jar
  • source distribution: update your working copy and rebuild.

To rerun setup, execute

java -jar mmt.jar :setup

However, rerunning setup is usually not necessary.