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
- MPS: The Domain-Specific Language Creator by JetBrains (Oct 25, 2026)
- How Does MPS Work? - Concepts | MPS by JetBrains (Oct 25, 2026)
- Learn MPS - MPS by JetBrains (Oct 25, 2026)
- Download MPS: Meta Programming System | MPS by JetBrains (Oct 25, 2026)
- MPS/LICENSE.txt at master · JetBrains/MPS · GitHub (Oct 25, 2026)
