FormEngineer evolves into… AppMaker!



This content originally appeared on DEV Community and was authored by Riccardo Gregori

A few posts ago I introduced Greg.Xrm.Mcp.FormEngineer, my first MCP Server designed to enable conversational, interactive, management of Dataverse forms.

It enabled a few interesting scenarios:

  • 🤔 Smart reverse-engineering of Dataverse forms: useful whenever you have to document a pre-existing application, or jump in a running project and don’t know how to start changing stuff
  • 💡 Smart form insights: analyzing the form structure, it can provide useful recommendations to improve the user experience.
  • 📝 Form Manipulation: with it, you can simply ask your favorite AI client “Add a section called AAA with all the marketing fields into tab BBB”, or “put meaningful, context-specific icons near the tab names for each tab of form XXX”, or again “Update the main form of table A in order to replicate a layout similar to the one of table B”

Playing with it, as usual I started been hungry with features…
Why just be tied to forms? Why can’t we just play around with Apps, Sitemaps, and even Views?

That’s why FormEngineer, like a Pokemon, evolved into AppMaker!

The new version of my MCP server is now capable of:

  • Creating a Model Driven App from scratch
  • Manipulate the sitemap of an existing app
  • Add/remove app components
  • Analyze and document the structure of apps
  • Create new views and/or update existing views
  • Rename a view
  • Analyze and document the structure of views
  • …plus all the other features already available in FormEngineer.

AppMaker capabilities

It can be installed as a dotnet tool:

dotnet tool install --global Greg.Xrm.Mcp.AppMaker

Then configured into VSCode or Claude Desktop via:

VSCode (.vscode/mcp.json snippet)

{
    "servers": {
        "AppMaker": {
            "command": "Greg.Xrm.Mcp.AppMaker",
            "args": [
                "--dataverseUrl",
                "https://yourorg.crm.dynamics.com"
            ],
            "cwd": "${workspaceFolder}"
        }
    }
}

Claude Desktop (config fragment)

{
    "mcpServers": {
        "AppMaker": {
            "command": "Greg.Xrm.Mcp.AppMaker",
            "args": [
                "--dataverseUrl",
                "https://yourorg.crm.dynamics.com"
            ],
        }
    }
}

🤔 How can I use it?

I’m creating a series of YouTube Videos showcasing the capabilities of AppMaker MCP Server, in conjunction with PAC CLI and PACX. You can see them here:

https://www.youtube.com/neronotte


This content originally appeared on DEV Community and was authored by Riccardo Gregori