AI agents such as GitHub Copilot can write code and analyse data today. For a migration, that only helps if the agent can see the migration: connections, tables, mappings, logs. That is what the DataMigrate Pro MCP server is being built for. It is not generally available yet: a few customers are testing it in a closed test phase (closed-loop testing). Besides Copilot, Claude and ChatGPT are possible clients.
What MCP is and what the server does
The Model Context Protocol (MCP) is an open standard through which an AI agent can call the tools of an application. The DataMigrate Pro server is a stand-alone console application built on the official MCP C# SDK. It uses the same business logic as DataMigrate Pro itself and does not need the Mapping Editor. It runs on Windows and, at the moment, over stdio, that is, as a local process of the client, for example in VS Code.
Connections come from normal DataMigrate Pro settings files. Credentials stay protected in those files and no tool returns them. The server also filters passwords, secrets and tokens out of log excerpts and error messages.
What an agent can do with it
In Copilot Chat the functions appear as tools with the prefix dmp_. Typical requests:
- List the connections and show the migration tables of a category.
- Compare a source table with its Business Central counterpart and suggest mappings for unmapped fields.
- Export the value mapping candidates so you can fill in the classification, then read the returned CSV in as a dry run first, with errors and their line numbers.
- Start the reconciliation of G/L and customer balances for a cut-off date and summarise the differences.
- Retrieve logs and transfer statistics.
Security: read-only by default
The security rules apply in the server, not in the agent. An agent cannot talk its way around them.
- Writing and migrating are off. Changing mappings and importing classifications need the start switch for write access; migration and reconciliation need the one for executing actions. Only four tools change anything at all: apply mapping, import classification, start migration and stop migration.
- Preview first, then apply. Every change starts with a preview and a checksum. When applying, the server recalculates the plan and rejects it if the data has changed in the meantime.
- A person approves. The agent's word is never enough. The client shows a summary with a confirmation box, or the server creates an approval file that a human confirms. An approval is valid for that one operation only, expires after 30 minutes unless configured otherwise, and is deleted on use.
- Everything is logged. Every approval request and every writing or executing call goes into an audit log with user, machine, tool, redacted parameters and result.
- File access is limited. Tools read and write only in permitted directories. Paths that use .. to leave them are refused.
- Never two migrations at once. One process runs at most one migration.
A note on the reconciliation: it only reads, but it runs for a long time. That is why it counts as an executing action and needs the matching switch, but no human approval.
Recommendation for production use
Start the server without the two switches for analysis work. For changes or migrations, deliberately set up a second instance, with its own entry in mcp.json and approval through the client. That keeps analysis safe at all times.
A read-only instance in VS Code looks like this (adjust the paths):
{
"servers": {
"dmp": {
"type": "stdio",
"command": "C:\\Migration\\DataMigratePro\\DMP.McpServer.exe",
"args": [
"--settings", "contoso-test=C:\\Migration\\Customers\\Contoso\\test\\settings.json",
"--logs-dir", "C:\\Migration\\DataMigratePro\\logs"
]
}
}
}Status and outlook
So far the server works only locally over stdio. Operation over HTTP is technically prepared but not active in the current test version. It would require sign-in and a permission check per user, for example through Entra ID tokens, before the switches for writing and migrating could apply at all.
Want to know whether the server fits your migration? Talk to us. More about DataMigrate Pro is on the product page, and the other new features are in the post What’s new in DataMigrate Pro?.
