MCP server for MigratorXpress — cross-platform database migration with parallel transfer
A Model Context Protocol (MCP) server for MigratorXpress, enabling database migration between heterogeneous database systems through AI assistants.
MigratorXpress supports migrating from Oracle, PostgreSQL, SQL Server, and Netezza to PostgreSQL or SQL Server targets.
pip install -e .
Or install dependencies directly:
pip install -r requirements.txt
| Variable | Default | Description |
|---|---|---|
MIGRATORXPRESS_PATH | ./MigratorXpress | Path to MigratorXpress binary |
MIGRATORXPRESS_TIMEOUT | 3600 | Command execution timeout in seconds |
MIGRATORXPRESS_LOG_DIR | ./logs | Directory for execution logs |
LOG_LEVEL | INFO | Server logging level |
Copy .env.example to .env and adjust values:
cp .env.example .env
Add to your Claude Code MCP settings:
{
"mcpServers": {
"migratorxpress": {
"command": "python",
"args": ["-m", "src.server"],
"cwd": "/path/to/migratorxpress-mcp",
"env": {
"MIGRATORXPRESS_PATH": "/path/to/MigratorXpress"
}
}
}
}
preview_commandBuild and preview a MigratorXpress CLI command without executing it. License text is automatically masked in the display output.
Required parameters: auth_file, source_db_auth_id, source_db_name, target_db_auth_id, target_db_name, migration_db_auth_id
execute_commandExecute a previously previewed command. Requires confirmation: true as a safety mechanism.
validate_auth_fileValidate that an authentication file exists, is valid JSON, and optionally check for specific auth_id entries.
list_capabilitiesList supported source/target databases, tasks, migration DB modes, load modes, and FK modes.
suggest_workflowGiven a source database type, target database type, and optional constraint flag, suggest the full sequence of migration tasks with example commands.
get_versionReport MigratorXpress version and capabilities.
A typical migration from Oracle to PostgreSQL:
Step 1: translate — Translate Oracle DDL to PostgreSQL-compatible DDL
Step 2: create — Create target tables from translated DDL
Step 3: transfer — Transfer data from source to target
Step 4: diff — Verify row counts match between source and target
Step 5: copy_pk — Copy primary key constraints
copy_ak — Copy alternate key (unique) constraints
copy_fk — Copy foreign key constraints
Or run all steps in a single invocation with --task_list all.
pip install -e ".[dev]"
python -m pytest tests/ -v
MIT
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
uvx migratorxpress-mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-arpe-io-migratorxpress-mcp": {
"command": "uvx",
"args": [
"migratorxpress-mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referencemigratorxpress-mcppypiio.github.arpe-io/migratorxpress-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.