JetBrains MPS · MCP · Domain tooling

Domain-specific MCP tooling for JetBrains MPS.

Domain-specific tools → domain-specific models.

The plumbing works.

The vocabulary is missing.

LLMs can already interact with JetBrains MPS through an internal MCP server. They can query nodes, alter nodes and run model checkers. What they cannot do is speak your domain.

01

Where we start.

While Large Language Models can already interact with JetBrains MPS via an internal Model Context Protocol (MCP) server — performing operations such as querying nodes, altering nodes, and running model checkers — generic tools suffer from fundamental limitations.

No vocabulary

Agents reason in abstract infrastructure terms (nodes, concepts, roles). Your models reason in domain terms (products, components, connections), requiring a translation step on every task.

No constraints

Domain-specific rules live in constraints, behavior, and developers' heads. Generic tools surface none of these before writes occur.

No guarantees

Nothing stops an agent from committing a model that is structurally legal yet semantically wrong. In enterprise domains — financial or insurance DSLs — this represents a critical liability.

MCP tools as MPS entities, not external Java classes.

To bridge the gap, F1RE approaches MCP tools as nodes in a language. Two layers: the infrastructure we ship, and the tools you write in your own project.

What we ship

io.f1re.ai.mps.mcp.tools

Provides foundational tools, e.g. f1re-mcp-describe-selected-node.

Exposes names, descriptions, schemas, and bodies as first-class language constructs.

Code generators automatically handle the extension-point wiring.

Safety policy
37
reference ops
8
excluded by policy

No language-definition edits, no raw file patching, no MPS console — preventing arbitrary code execution. Runs strictly locally via loopback.

What you write

Custom MCP Tool libraries authored directly inside the client project, e.g. KajaMcpTools.

Exposes higher-level tools defining concrete workflows specific to your domain models.

Leverages built-in boilerplates that run MPS's native verification checks and feed validation errors directly back to the agent before changes are committed.

Different tool surface. Same task.

A pilot comparison between standard MPS MCP and F1RE's domain-specific tool surface — three runs across the same task, sample DSL, and model — demonstrated significant efficiency gains.

Figure 01 — per run, standard MPS MCP vs. F1RE tool surface
3 runs each
STEPS
82.7
50.3 · −39%
WALL-CLOCK
483.7s
250.0s · −48%
TOKENS
6.20M
3.94M · −36%

Token reduction is predominantly cache reads. Output tokens fell by 22%, cache creation by 31%, cache read by 37%.

Session volume

Total steps logged fell by 39%, tool calls by 38%, and text response (narration) steps by 73% — from 8.7 to 2.3 — as the agent spent less time navigating unfamiliar domain semantics.

Time savings

Session wall-clock reduced by 48%, thinking time by 33%, and tool-call execution time by 45%.

Correctness & discoverability caveat

Both tool surfaces averaged identical validation attempts (1.67 → 1.67). Domain-specific tooling bought speed, not discoverability. Undocumented constraints — like grid bounds — still require explicit encoding by the domain owners.

What the pilot bought

Domain-specific tooling bought speed. Your constraints still have to be written down.

Infrastructure open. Domain yours.

F1RE operates on a clear separation of infrastructure and domain implementation.

Open source
infrastructure

The server, extension point, tool-authoring language, and generator are version-agnostic across MPS releases and maintained by F1RE, following the iets3 pattern.

Yours outright
domain tooling

Tools written in your languages and nodes in your repository remain strictly within your fork.

Paid
consulting

F1RE assists teams in building custom tools and keeping the underlying infrastructure running.

The concrete first step.

1

Select one language of commercial importance.

2

Choose two or three operations your team performs manually each week.

3

Build them collaboratively with F1RE's team, inside your repository, measured against your domain.

See it in your own language.

We walk through the tool language, the generated extension-point wiring, and the validation loop on a live MPS project. Then we do the same against one of your languages.

Domain-Specific AI Tooling for JetBrains MPS