Model Graph Tools
Explore the WildFly management model via natural language โ from any AI agent that supports MCP and Agent Skills.
WildFly exposes its entire configuration and runtime state through a management model โ a tree of resources, each with attributes, operations, and capabilities. This project lets you search, browse, and compare that model across WildFly versions and feature packs, powered by Neo4j graph databases and the mgt CLI.
What You Can Do
- Search resources, attributes, operations, and capabilities by name or pattern
- Browse the resource tree and explore subtrees with full attribute, operation, and capability details
- Describe resources in human-readable form โ purpose, required parameters, and CLI examples
- Find deprecated elements and track when they were deprecated
- Filter by stability level to find experimental, preview, or community features
- Discover attribute and parameter relationships โ dependencies (REQUIRES) and exclusivity (ALTERNATIVE)
- Audit security-sensitive attributes โ passwords, keys, and secrets marked with IS_SENSITIVE
- Inspect allowed values, numeric ranges, and string length constraints for attributes and parameters
- Identify attributes that require a server restart after modification, filterable by restart level
- Group related attributes by their logical attribute groups within resources
- Analyze model statistics โ element counts, stability breakdown, relationship counts
- Compare two WildFly versions to see what was added, removed, or deprecated โ including attribute, operation, and parameter changes
- Explore feature pack extensions (AI, GraphQL, etc.) using the same tools
- Run arbitrary read-only Cypher queries for advanced use cases
Installation
Prerequisites
The mgt CLI is bundled automatically with the MCP server via platform-specific npm packages โ no separate installation needed.
Claude Code
From Marketplace
claude plugin marketplace add https://github.com/model-graph-tools/claude-plugin
claude plugin install mgt@model-graph-tools
The MCP server is fetched automatically from npm via npx โ no build step required.
From Source
git clone https://github.com/model-graph-tools/claude-plugin.git
cd claude-plugin/mcp-server
npm install
npm run build
Then load the plugin locally:
claude --plugin-dir /path/to/claude-plugin
Other AI Agents
The MCP server and skill follow open standards (MCP and Agent Skills) and work with any compatible AI agent. Setup has two parts:
- Configure the MCP server in your agent's settings
- Install the skill by copying the
skills/wildfly-model-graph/directory from this repository into your agent's skills folder
For most agents, the universal skills directory is .agents/skills/ (project-level) or ~/.agents/skills/ (user-level). See the Agent Skills client list for all supported agents.
Gemini CLI
Add to ~/.gemini/settings.json (or project-level .gemini/settings.json):
{
"mcpServers": {
"wildfly-model-graph": {
"command": "npx",
"args": ["--yes", "@model-graph-tools/mcp-server"]
}
}
}
Install the skill:
# User-level (available in all projects)
cp -r skills/wildfly-model-graph ~/.agents/skills/
# Or project-level
cp -r skills/wildfly-model-graph .agents/skills/
OpenAI Codex
Add to ~/.codex/config.toml (or project-level .codex/config.toml):
[mcp_servers.wildfly-model-graph]
command = "npx"
args = ["--yes", "@model-graph-tools/mcp-server"]
Install the skill:
cp -r skills/wildfly-model-graph ~/.agents/skills/
VS Code / GitHub Copilot
Add to .vscode/mcp.json in your workspace:
{
"servers": {
"wildfly-model-graph": {
"command": "npx",
"args": ["--yes", "@model-graph-tools/mcp-server"]
}
}
}
Install the skill:
# Project-level
cp -r skills/wildfly-model-graph .agents/skills/
# Or user-level
cp -r skills/wildfly-model-graph ~/.agents/skills/
Cursor
Add to ~/.cursor/mcp.json (or project-level .cursor/mcp.json):
{
"mcpServers": {
"wildfly-model-graph": {
"command": "npx",
"args": ["--yes", "@model-graph-tools/mcp-server"]
}
}
}
Install the skill:
cp -r skills/wildfly-model-graph ~/.agents/skills/
IBM Bob
Add to .bob/mcp.json in your project:
{
"mcpServers": {
"wildfly-model-graph": {
"command": "npx",
"args": ["--yes", "@model-graph-tools/mcp-server"]
}
}
}
Install the skill:
# Project-level
cp -r skills/wildfly-model-graph .agents/skills/
# Or user-level
cp -r skills/wildfly-model-graph ~/.agents/skills/
Other MCP-Compatible Agents
For any agent that supports MCP over stdio, configure it to run:
npx --yes @model-graph-tools/mcp-server
Copy the skill directory to your agent's skills folder (typically .agents/skills/ or ~/.agents/skills/). See the Agent Skills specification for details.
Usage
Slash Command
[!NOTE] Slash commands are a Claude Code feature. Other agents use the skill (which activates automatically based on context) and MCP tools directly โ see Natural Language below.
Use /mgt:model followed by your question:
Model overview
/mgt:model Give me an overview of the WildFly 39 management model.
/mgt:model How many resources and attributes does WildFly 39 have?
Browse and search
/mgt:model How do I add a new datasource?
/mgt:model How does the logging subsystem work?
/mgt:model How is TLS configured?
/mgt:model What is an authentication context?
/mgt:model Tell me more about credential stores.
Stability levels
/mgt:model Are there any community features in WildFly 39?
/mgt:model Show me all preview resources.
/mgt:model What community stability attributes exist?
Capabilities and deprecation
/mgt:model How do capabilities work?
/mgt:model What capabilities does elytron provide?
/mgt:model What operations have been deprecated recently?
Compare versions
/mgt:model Compare WildFly 38 and 39.
/mgt:model What attributes changed between WildFly 38 and 39?
/mgt:model Compare the IO subsystem between WildFly 23 and the latest version.
Feature packs
/mgt:model What resources does the AI feature pack provide?
/mgt:model Compare the first and the latest version of the AI feature pack.
Natural Language
The skill also activates automatically when the agent detects WildFly management model context in your conversation โ just ask about subsystems, resources, attributes, or operations naturally. So most of the questions above should also work without using the slash command.
Container Lifecycle
Each WildFly version or feature pack runs as a separate Neo4j container pulled from
quay.io/modelgraphtools/model. The MCP server manages these through mgt:
- Images are pulled if not present locally
- Containers are started on demand when you query a source
- If a source isn't running, the agent will suggest starting it
- Containers started during a session are automatically stopped when the MCP server shuts down
- Containers started outside the session (e.g., via
mgt start) persist and are not affected - Stop containers explicitly at any time:
/mgt:model stop WildFly 39
Related Projects
This project is part of the model-graph-tools ecosystem:
Contributing
Contributions are welcome! Here's how to get started:
- Fork the repository
- Create a feature branch:
git checkout -b feat/my-feature - Build the MCP server:
cd mcp-server && npm install && npm run build - Test locally:
claude --plugin-dir /path/to/your/fork - Commit your changes using conventional commits:
feat:,fix:,docs:, etc. - Push and open a pull request
Development Setup
git clone https://github.com/model-graph-tools/claude-plugin.git
cd claude-plugin/mcp-server
npm install
npm run dev # runs with tsx, no compile step needed
Project Structure
claude-plugin/
โโโ .claude-plugin/
โ โโโ plugin.json # Plugin manifest (skills, mcpServers)
โ โโโ marketplace.json # Marketplace manifest
โโโ skills/
โ โโโ wildfly-model-graph/
โ โโโ SKILL.md # Skill prompt with domain knowledge
โ โโโ references/
โ โโโ cypher-queries.md # Cypher query reference
โ โโโ graph-schema.md # Neo4j graph schema reference
โโโ commands/
โ โโโ model.md # /mgt:model slash command
โโโ mcp-server/
โ โโโ src/
โ โ โโโ index.ts # Server entry point, tool registration
โ โ โโโ neo4j.ts # Neo4j connection management
โ โ โโโ mgt.ts # mgt CLI wrapper
โ โ โโโ session.ts # Session state management
โ โ โโโ tools/ # One file per MCP tool (20 tools)
โ โโโ build.mjs # Custom build script
โ โโโ package.json
โ โโโ tsconfig.json
โโโ CLAUDE.md # Claude Code project instructions
โโโ README.md
Adding New Tools
- Create a new file in
mcp-server/src/tools/ - Implement the query function with a Neo4j session
- Register the tool in
mcp-server/src/index.tswith a Zod input schema - Update the skill prompt in
skills/wildfly-model-graph/SKILL.mdwith usage guidance