Create and execute IDE run configurations for MPS root nodes via MPS MCP — Java Application for `IMainClass` / `ClassConcept` with `main`, JUnit Tests for `ITestCase`. Use when launching DSL `main`-like roots, plain BaseLanguage `ClassConcept` mains, or MPS test cases from a node; reusing or replacing an existing run config; diagnosing `ClassNotFoundException`, `compileInMPS=false`, or "not runnable through this tool" failures.
79
100%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
This skill covers the path from "an MPS root node exists in a model" to "a green IDE run / red stack trace in my hand," using only MCP tools. It targets user-level artifacts (DSL main-like roots, plain ClassConcept mains, test cases) — not launching MPS itself (the MPS / MPS (2nd inst.) configs are a different topic, see AGENTS.md or CLAUDE.md).
execute_run_configuration and get_run_configurations are provided both by MPS and IDEA. Use the ones provided by MPS for running MPS nodes/tests.mps_mcp_create_run_configuration accepts root nodes only, and only three shapes: implements IMainClass, implements ITestCase, or is a ClassConcept with a qualifying static main. Pointing it at a method body or other non-root yields the non-root rejection. See references/runnable-shapes.md for the exact predicate and producer precedence.source_gen but does not always compile into classes_gen; running launches bytecode, so a stale classes_gen silently runs old code. See references/compile-before-run.md.configurationName stable across iterations. The tool replaces the existing config of the same <type>.<name> rather than creating duplicates — idempotent setup is the goal. Use distinct names only when you actually want parallel configs.compileInMPS=false to true. Compile.None and JPS-compile settings are usually intentional (sandbox modules, externally-built modules, packaged libraries). Confirm with the user; otherwise take the IDEA MCP file-path fallback.source_gen only work while classes_gen is fresh.execute_run_configuration / get_run_configurations do not surface run points under source_gen. Use the IDEA MCP variants when you need a filePath+line launcher for generated Java.get_run_configurations() + execute_run_configuration by its existing name — duplicates are pointless.End-to-end pattern for "I changed a DSL root, run it":
mps_mcp_alter_nodes MAKE on the module of the DSL root, rebuild: true.mps_mcp_create_run_configuration on the DSL root with a stable configurationName (the generated class FQN is a good default for IMainClass; leave blank for ClassConcept to match the IDE gutter's Class <ClassName> default).execute_run_configuration (of MPS MCP, not IDEA's) by name with waitForExit: true and a generous timeout.Could not find or load main class, step 1 didn't reach classes_gen — re-run it.Keep the configuration name stable across iterations so step 2 idempotently overwrites itself rather than littering the IDE with duplicates.
mps-baselanguage — when the runnable root is a plain ClassConcept you authored or need to inspect (main method shape, BaseLanguage editing).mps-aspect-generator — when stale or wrong generated Java is the root cause of an execution failure.mps-bugfix — when an execution failure points back at the generator or model rather than the launcher.references/runnable-shapes.md when you need to confirm whether a concept is launchable, look up the exact main predicate or compileInMPS gate, or interpret a "not runnable through this tool" / "compileInMPS=false" refusal.references/create-and-execute.md when you need the exact mps_mcp_create_run_configuration / execute_run_configuration / get_run_configurations call shape, naming and replacement semantics, or the difference between MPS MCP and IDEA MCP variants.references/classconcept-and-fallbacks.md when a ClassConcept run path doesn't fire — compileInMPS=false, missing main, ambiguous duplicates — and you need the IDEA MCP file-path fallback or the persisted-XML structure of the node-aware Java Application config.references/compile-before-run.md when the run fails with ClassNotFoundException, you're deciding between module MAKE and model MAKE, or output disagrees with edited source.references/decision-matrix.md for the at-a-glance situation→approach table covering every supported launch path.references/common-failures.md for the symptom→cause→fix table covering every published error and its remediation.52c9d63
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.