While Microsoft's Dataverse MCP Server (in preview) provides fantastic capabilities for app users to interact with their data, I wanted to create something that empowers app makers to build better solutions faster.
Imagine having a development assistant that understands your Dataverse environment structure, validates your changes in real-time, and can modify complex forms through simple conversation.
The Power Apps maker portal UI can be painfully slow, especially when you need to make changes across multiple forms. This tool streamlines the entire operation—batch modifications, cross-form analysis, and rapid iterations without the UI bottlenecks.
Meet Greg.Xrm.Mcp.FormEngineer 🎯
An Advanced Model Context Protocol (MCP) Server that accelerates your daily Dataverse development work. This isn't just another tool—it's your AI-powered development companion that speaks fluent Dataverse.
What makes it special?
🔍 Intelligent Form Analysis: Deep structural analysis that identifies missing relevant fields and suggests optimal field placement for better user experience.
💡 Smart Form Insights: Analyzes your form structure and provides actionable recommendations—"Your contact form is missing the mobile phone field that 80% of similar forms include" or "The billing address section would be more intuitive in the Details tab."
📋 Intelligent Form Discovery: Smart retrieval and filtering of forms with context-aware suggestions.
📄 Form Export & Documentation: Export local copies of form definitions in JSON or XML format for documentation, version control, or additional analysis purposes.
🎨 Natural Language Form Engineering: "Add a new tab called 'Project Details' to the account form with sections for timeline and budget"—and watch it happen.
🧹 Smart form cleanup: via MCP prompt, does the equivalent of pacx forms clean
Perfect for:
- Power Platform developers streamlining form customizations
- Solution architects standardizing form structures across environments
- Development teams wanting to reduce form-related technical debt
- Anyone tired of clicking through the Power Apps maker portal for routine form changes
The tool is open-source, built on .NET 9, and integrates seamlessly with your existing development workflow.
🏳️ Important Disclaimer 🏳️: The tool is in preview. Always backup your existing customizations before making any changes. The brain of the tool is your favorite LLM companion, that by definition is not deterministic. The author is not responsible of any issue that can be generated on your form customization by the misuse of the tool.
🔧 Installation for VSCode GitHub Copilot
Prerequisites
- Visual Studio Code with GitHub Copilot extension
- .NET 9 SDK or later
- Microsoft Dataverse environment access
- GitHub Copilot subscription
Step 1: Install the MCP Server
Choose your preferred installation method:
Option A: Install as Global Tool (Recommended)
dotnet tool install --global Greg.Xrm.Mcp.FormEngineer
Option B: Build from Source# Clone the repository
# Clone repo
git clone https://github.com/neronotte/Greg.Xrm.Mcp.git
cd Greg.Xrm.Mcp
# Build and install
dotnet build src/Greg.Xrm.Mcp.FormEngineer
dotnet tool install --global --add-source ./src/Greg.Xrm.Mcp.FormEngineer/bin/Debug Greg.Xrm.Mcp.FormEngineer
Step 2: Configure GitHub Copilot
Add the MCP server configuration to your GitHub Copilot settings:
- Open VSCode Worspace
- Add a folder called
.vscode
- Within that folder, add a file called
mcp.json
with the following content:
{
"servers": {
"dataverse-form-engineer": {
"command": "Greg.Xrm.Mcp.FormEngineer",
"args": ["--dataverseUrl", "https://yourorg.crm.dynamics.com"]
}
}
}
Ready to transform your Dataverse development experience?
Give it a try! https://github.com/neronotte/Greg.Xrm.Mcp
🏳️ Important Disclaimer 🏳️: The tool is in preview. Always backup your existing customizations before making any changes. The brain of the tool is your favorite LLM companion, that by definition is not deterministic. The author is not responsible of any issue that can be generated on your form customization by the misuse of the tool.
Top comments (0)