io.github.arpe-io/migratorxpress-mcp

MCP server for MigratorXpress — cross-platform database migration with parallel transfer

DatabasesPythonv0.1.6

MigratorXpress MCP Server

PyPI License: MIT MCP Registry

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.

Installation

pip install -e .

Or install dependencies directly:

pip install -r requirements.txt

Configuration

Environment Variables

VariableDefaultDescription
MIGRATORXPRESS_PATH./MigratorXpressPath to MigratorXpress binary
MIGRATORXPRESS_TIMEOUT3600Command execution timeout in seconds
MIGRATORXPRESS_LOG_DIR./logsDirectory for execution logs
LOG_LEVELINFOServer logging level

Copy .env.example to .env and adjust values:

cp .env.example .env

Claude Code Configuration

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"
      }
    }
  }
}

Tools

1. preview_command

Build 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

2. execute_command

Execute a previously previewed command. Requires confirmation: true as a safety mechanism.

3. validate_auth_file

Validate that an authentication file exists, is valid JSON, and optionally check for specific auth_id entries.

4. list_capabilities

List supported source/target databases, tasks, migration DB modes, load modes, and FK modes.

5. suggest_workflow

Given a source database type, target database type, and optional constraint flag, suggest the full sequence of migration tasks with example commands.

6. get_version

Report MigratorXpress version and capabilities.

Workflow Example

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.

Development

Running Tests

pip install -e ".[dev]"
python -m pytest tests/ -v

License

MIT

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
uvx migratorxpress-mcp

Set up in your AI client

Merge 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.

json
{
  "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 reference

Package

migratorxpress-mcppypi

Compatible MCP Clients

io.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.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.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.

Learn More