Model Graph Tools
Model Graph Tools (MGT) is an optional companion for the HAL management console. It provides a searchable, graph-based representation of WildFly's management model — the same model the console uses to configure your server — and makes that knowledge available to both the console and AI-powered coding assistants.
What Problem Does It Solve?
WildFly's management model is large. A single WildFly release defines hundreds of resources, thousands of attributes, and a web of capabilities that link them together. The console already lets you browse and edit this model, but answering questions like "which attributes were deprecated between WildFly 38 and 39?" or "what capabilities does the Elytron subsystem provide?" requires manually navigating many resources.
MGT solves this by importing the complete static metadata of a WildFly release into a Neo4j graph database. Every resource, attribute, operation, capability, and their relationships become graph nodes and edges that can be queried instantly. The console can then tap into this data to surface richer information — and AI tools like Claude Code or GitHub Copilot can use it as a knowledge base when writing WildFly configuration code.
How It Works
MGT runs as a lightweight container alongside your WildFly server. Each container image is built for a specific WildFly version and exposes a REST API on a port derived from that version number. For example:
| WildFly Version | MGT Port | REST API Base |
|---|---|---|
| 38.0 | 7380 | http://localhost:7380/api/ |
| 39.0 | 7390 | http://localhost:7390/api/ |
| 41.0 | 7410 | http://localhost:7410/api/ |
The port formula is 7000 + major × 10 + minor, so there is no guesswork involved.
When the console starts, it automatically checks whether a matching MGT container is running. If one is found, the MGT indicator in the toolbar lights up and additional features become available. If not, the console works exactly as before — MGT is purely additive.
Starting MGT
The easiest way to work with MGT is the mgt CLI. It handles container management and port mapping for you.
Install the CLI
brew tap hpehl/tap
brew install mgtcurl -fsSL https://model-graph-tools.github.io/mgt/install.sh | shcargo install mgtStart and Stop Containers
Start an MGT container for a specific WildFly version:
mgt start 41This pulls the matching container image (if needed), maps the correct port automatically, and starts the container. You can start containers for multiple versions at once:
mgt start 38,39,41Stop containers when you no longer need them:
mgt stop 41
mgt stop --allList running containers with mgt ps.
Using Docker or Podman Directly
If you prefer not to install the CLI, you can start a container directly — just make sure the port mapping follows the formula (7000 + major × 10 + minor):
docker run -d --name mgt-41 -p 7410:7474 quay.io/halconsole/mgt:41.0For more details on the mgt CLI, see the tooling repository.
What MGT Offers
Once the MGT container is running and detected by the console, you gain access to several capabilities:
For Console Users
- Universal search: A global search bar queries resources, attributes, operations, and capabilities in one go. Results link directly to the matching configuration page in the console, so you can jump from a search term like
buffer-poolstraight to the right subsystem form. - Richer metadata: The console can display additional context about resources, attributes, and operations drawn from the full management model graph.
- Capability cross-references: For any capability, the console can show which resources reference it — answering "where is this used?" with one click and linking to each dependent configuration page.
For AI-Assisted Development
MGT includes an MCP (Model Context Protocol) server that lets AI coding assistants query the management model directly. This means tools like Claude Code can:
- Search for resources, attributes, and operations by name or pattern
- Look up allowed values and default settings
- Find deprecated features and their replacements
- Compare management model changes between WildFly versions
- Discover capability relationships between subsystems
This turns the AI assistant into a WildFly configuration expert that always has the correct, version-specific documentation at hand.
Console Integration
The MGT indicator in the console toolbar shows the current status at a glance:
| Status | Meaning |
|---|---|
| Available | An MGT container matching the connected WildFly version is running and reachable |
| Not available | No matching MGT container was detected |
Clicking the indicator opens a panel where you can check availability again or learn more about setting up MGT.
Available Versions
MGT container images are published for recent WildFly releases. Visit the container registry on Quay.io to see all available tags.
Further Reading
- Model Graph Tools Website — project website with detailed documentation and guides
- MGT on GitHub — source code and issue tracker
- HAL Foundation on GitHub — source code for the management console
- WildFly Documentation — official WildFly documentation