name: mps-language-analysis description: Analyze an MPS language by name — discover concepts, properties, references, children, aspects (editor/constraints/behavior), and metadata. Use when investigating an unfamiliar language, exploring concept structure, or finding sample nodes to use as templates for JSON blueprints. type: reference
MPS Language Analysis
Workflow for inspecting an MPS language from a name (e.g. jetbrains.mps.lang.core). Returns concepts, metadata, structural info, and pointers to declarations and sample nodes.
Critical Directives
- Use the fully qualified language name (e.g.
jetbrains.mps.lang.core) — single-letter shorthand (j.m.l.core) requires resolution first viamps_mcp_get_project_structure. - For the
qualifiedNamereturned bymps_mcp_get_concept_details, use it as theconceptfield in JSON blueprints. It is unambiguous.
Analyzing a Language by Name
- Verify Language: call
mps_mcp_get_project_structurewith the language name as a filter (startingPoint: My_Language). This confirms existence and provides the UUID. - Retrieve Concepts: use
mps_mcp_get_concept_detailswith the language name inlanguageRefs. - Extract Data: the response includes:
- Name: concept FQN.
- Description: found in
shortDescription. - Metadata:
isRootable,isAbstract, and theconceptReferenceID. - Structure: properties, children, and references are detailed here.
- Drill Down:
- Declaration: use the
sourceNodereference withmps_mcp_open_nodeto open the definition. - Examples: use
mps_mcp_query_nodeswithFIND_INSTANCES(sampleOnly: true) to get a sample node. Then usemps_mcp_print_nodeto see its canonical JSON structure for use as a template. - Inheritance: load the
mps-language-inheritanceskill for deeper hierarchy analysis.
- Declaration: use the
Inspecting Concept Aspects
Use mps_mcp_query_structure with LIST_CONCEPT_ASPECTS to find associated definitions (Editor, Constraints, Behavior):
- Direct Aspects: returns roots targeting the specific concept.
- Inherited Aspects: set
includeInherited: trueto include aspects from ancestors (superconcepts/interfaces). - Editor Analysis:
- ConceptEditorDeclaration: defines the full editor for the
targetsConcept. - EditorComponentDeclaration: defines reusable presentation pieces.
- Check the
editormodel in the response to identify available editors.
- ConceptEditorDeclaration: defines the full editor for the
Related Skills
mps-language-inheritance— load when you need extended-language / superconcept / subconcept analysis.mps-aspect-structure-concepts— load when defining or modifying concepts (not just reading them).mps-language-aspects-overview— overview of which aspects exist and what each owns.
Reference Index
- Open
references/search-concepts.mdfor themps_mcp_search_conceptsmatching algorithm — haystack composition, subtoken splitting, fallback ranking,modelReferencescoping, and the sub-2-char failure mode. - Open
references/concept-details.mdfor themps_mcp_get_concept_detailsresult schema and the unresolved-ref policy (all-failed vs partial-success envelopes and the suggestion heuristic).