XafLogicExplainer.Mcp 0.12.0

{
  "inputs": [
    {
      "type": "promptString",
      "id": "XAFLOGIC_PROJECT",
      "description": "Directory of the XAF module to analyze. Optional: with no value the module is looked for at or below the working directory, so a client launched from a solution folder needs no configuration."
    }
  ],
  "servers": {
    "XafLogicExplainer.Mcp": {
      "type": "stdio",
      "command": "dnx",
      "args": ["XafLogicExplainer.Mcp@0.12.0", "--yes"],
      "env": {
        "XAFLOGIC_PROJECT": "${input:XAFLOGIC_PROJECT}"
      }
    }
  }
}
                    
This package contains an MCP Server. The server can be used in VS Code by copying the generated JSON to your VS Code workspace's .vscode/mcp.json settings file.
dotnet tool install --global XafLogicExplainer.Mcp --version 0.12.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local XafLogicExplainer.Mcp --version 0.12.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=XafLogicExplainer.Mcp&version=0.12.0
                    
nuke :add-package XafLogicExplainer.Mcp --version 0.12.0
                    

XafLogicExplainer.Mcp — Model Context Protocol server

Lets an AI agent ask questions about a specific DevExpress XAF application: its entities, controllers, actions, business rules, navigation and Model Editor customizations, read straight from source with Roslyn.

An agent that has read every page of the DevExpress documentation still does not know that your Invoice total is calculated from its lines, that ApproveController refuses to run when the period is closed, or that three columns were hidden in the Model Editor and appear in no C# file at all. It will confidently invent all three.

No DevExpress licence is required. Extraction is Roslyn syntax analysis: the project being analyzed is never compiled, and this package never links against a DevExpress assembly.

Run it

{
  "mcpServers": {
    "xaf": { "command": "dnx", "args": ["XafLogicExplainer.Mcp", "--yes"] }
  }
}

Started from a solution directory it finds the XAF module by itself. To be explicit, pass --project <module directory> or set XAFLOGIC_PROJECT.

Tools

Tool Answers
xaf_overview What this application is, and the complete list of everything in it
xaf_search Where a field, concept or business term is defined
xaf_entity Every property, relationship, rule and calculation on one entity
xaf_controller What an action does — including the C# that runs when it fires
xaf_rules What the application validates, computes, hides and disables
xaf_model Model Editor customizations, which exist in no C# file
xaf_editors Custom property editors, which live in the platform project beside the module
xaf_migrations Version-guarded upgrade code that ran once and cannot be re-read from today's source
xaf_view Everything loaded onto one screen — most views exist in no file, and neither does this answer
xaf_refresh Re-read the source (changes are detected automatically)

Extractions are cached per project and invalidated when the source changes, so a conversation's worth of questions costs one parse — but an edit is still noticed.

Absence is an answer

Ask for something that is not there and the reply is the useful one:

There is no entity called 'PurchaseOrder' in this application. This is the complete list of 19 entities, extracted from the whole source tree: … If the user expects 'PurchaseOrder' to exist, it has not been created yet.

A bare "not found" invites an agent to assume it looked in the wrong place and invent the type anyway. Extraction reads the whole tree, which is what makes the stronger claim true.

Use it with the official DevExpress skills

They solve different halves of the same problem:

Teaches the agent… Tool
How XAF works in general DevExpress agent-skills
What the documentation says DevExpress Docs MCP server
What YOUR application does this

An agent with only the first two writes correct XAF against entities you do not have.

Also available

  • XafLogicExplainer.Cli — the xaflogic command. Writes AGENTS.md, CLAUDE.md and Copilot instructions for agents without MCP, and hosts this same server as xaflogic mcp.
  • XafLogicExplainer.Core — the extraction engine on its own.
  • Repository · Site
  • MIT licensed. An independent community project: not affiliated with, endorsed by, or supported by Developer Express Inc.

MCP registry

Listed in the official MCP registry under the name below. The registry reads that line out of this README to verify that whoever publishes the registry entry also owns the NuGet package, so don't remove or reword it — publishing would start failing.

mcp-name: io.github.peopleworks/xaf-logic-explainer

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
0.12.0 65 8/11/2026
0.11.0 75 8/10/2026
0.10.1 59 8/10/2026
0.10.0 47 8/10/2026