@pratul397/ddm-migration-advisor
v1.0.1
Published
MCP server that guides Workspace ONE UEM admins through Apple DDM migration — classifies profiles, generates declarations, and provides a step-by-step migration plan via Claude.
Maintainers
Readme
DDM Migration Advisor — MCP Server
A locally-run MCP server that turns Claude Desktop or Claude Code into a guided DDM migration advisor for Workspace ONE UEM admins.
Claude walks the admin through four steps:
- Inventory — load all profiles across Organisation Groups
- Classify — bucket profiles into Deprecated Urgent / Direct DDM / Legacy Wrapper / Keep as Legacy
- Generate Declarations — produce valid, deployable DDM JSON per profile
- Summary — priority action list with key DDM warnings
All data is realistic dummy data — no Workspace ONE API calls are made. Zero configuration required.
Requirements
- Node.js 18+ — check with
node --version - Claude Desktop or Claude Code (MCP-enabled)
Claude Desktop setup
Open your Claude Desktop config file:
open ~/Library/Application\ Support/Claude/claude_desktop_config.jsonAdd the ddm-migration-advisor entry inside mcpServers:
{
"mcpServers": {
"ddm-migration-advisor": {
"command": "npx",
"args": ["-y", "@pratul397/ddm-migration-advisor"]
}
}
}Restart Claude Desktop. You should see ddm-migration-advisor appear in the MCP tools list (hammer icon).
Claude Code setup
Run this in your terminal:
claude mcp add ddm-migration-advisor npx -- -y @pratul397/ddm-migration-advisorUsage
Once installed, open Claude and say:
"Help me plan my DDM migration"
Claude will call start_migration_assessment and guide you through all four steps automatically.
Other prompts that work well
| What you want | What to say | |---|---| | See all profiles | "Show me my profile inventory" | | See only deprecated profiles | "Which profiles are deprecated?" | | Filter by platform | "Classify my macOS profiles" | | Generate a specific declaration | "Generate the DDM declaration for Passcode Policy — Corporate Devices" | | See the full plan | "Give me the full migration summary" | | Focus on one OG | "Classify profiles in the Corporate / macOS OG" |
Migration buckets
| Bucket | Label | What it means | Action |
|---|---|---|---|
| 🔴 A | Deprecated — Urgent | Stops working on OS 26. Hard Apple deadline. | Migrate before OS 26 ships. |
| 🟡 B | Direct DDM | Apple has a native DDM declaration equivalent. | Convert natively — clean path. |
| 🟠 C | Legacy Wrapper | No native DDM equivalent. | Wrap in legacy-profile declaration. |
| 🟢 D | Keep as Legacy | No DDM path exists yet. | Keep as standard MDM profile. |
Available MCP tools
| Tool | What it does |
|---|---|
| start_migration_assessment | Kicks off the guided flow with a tenant overview and bucket definitions |
| get_tenant_inventory | Returns all 28 profiles across 10 OGs |
| classify_profiles | Buckets all profiles into A / B / C / D with per-payload detail |
| generate_ddm_declaration | Returns valid DDM JSON for a named profile |
| get_migration_summary | Full summary: counts, complexity, priority action list, DDM warnings |
Important notes on generated declarations
IdentifierandServerTokenare both"PLACEHOLDER"— replace with real values before deploying to devices.- DDM is a one-way door — once a configuration domain is DDM-managed, legacy MDM profiles and commands for that domain are silently ignored on that device.
- Always pilot first — deploy to a test Smart Group, validate status-channel reporting, then scale.
Built by
Pratul Mathur — Product Line Manager, Apple Platform, Omnissa.
Part of the DDM Migration Advisor concept for Workspace ONE UEM.
