JetBrains MPS

jetbrains.com ↗

Build domain-specific languages with a projectional editor, language tools, and code generators.

SI Score
75/100
Pricing
Open Source AI reading, not confirmed
Free plan
Not confirmed
Sign-up required
Not confirmed

Ask SI about JetBrains MPS

Answers use saved listing facts and recorded sources.
Homepage screenshot
Screenshot of the JetBrains MPS homepage

What it does

JetBrains MPS is a language workbench and IDE for designing domain-specific languages (DSLs) and editing programs written in them. Rather than storing program text as its primary representation, MPS edits a structured model and projects that model into textual, diagrammatic, tabular, or other notation. Language designers can define editors, constraints, type systems, and generators; developers then use IDE features such as completion, navigation, refactoring, error checking, and debugging. It is intended for teams whose domain concepts do not fit comfortably into a general-purpose language, not as a drop-in text editor for any codebase.

A workbench for languages, not only source files

A sensible first exercise is the MPS quickstart course, which introduces the project and language concepts before asking you to design a small DSL. In MPS, a language designer defines the structure of concepts, the rules that constrain them, and the editor presentation users will work in. The editor renders and updates the underlying model, so a language can use familiar text-like editing or a more visual notation.

Once a language has useful concepts, its generator can transform models into a target such as Java, C, XML, or JavaScript. The generated output can then move through a conventional compiler or build process. MPS also provides code completion, navigation, quick fixes, refactoring, debugging, and language migration support, which lets a DSL feel more like a maintained development environment than a collection of templates.

MPS is available for Windows, macOS, and Linux. The official project repository publishes the software under Apache License 2.0. Its projectional, model-based approach is the key tradeoff: editing and extending a language requires learning MPS concepts, and ordinary text-file workflows are not the whole story.

Strengths

  • The projectional editor can represent textual, graphical, and tabular notations over structured models.
  • Language designers can define concepts, constraints, type systems, custom editors, and generators.
  • The IDE includes completion, navigation, refactoring, error checking, debugging, and language migrations.
  • Official installers are listed for Windows, macOS, and Linux.

Watch out for

  • MPS edits structured models rather than treating plain text as the primary program representation, so its workflow differs from a conventional code editor.
  • Creating and maintaining a DSL requires learning MPS's language, model, editor, and generator concepts.

Best for

  • Engineering teams creating a domain-specific language for a specialized business or technical workflow
  • Language-tool developers who need custom editing, validation, and code generation in one environment
  • Projects where domain experts benefit from notation tailored to their vocabulary

Sources