Skip to main content
Glama
arpe-io

arpeio-mcp

Official
by arpe-io

migratorxpress_preview_command

Read-onlyIdempotent

Build and preview a migration command without executing it. See the exact CLI command with passwords masked to review before execution.

Instructions

Build and preview a MigratorXpress migration command WITHOUT executing it. Shows the exact CLI command with passwords masked. Does NOT execute the migration or validate database connectivity. After reviewing, pass the command to migratorxpress_execute_command. Set upgrade_migdb=true (0.7.0+) to build the metadata-DB upgrade command instead (needs only auth_file and migration_db_auth_id).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
forceNoForce overwrite of existing migration data
n_jobsNoNumber of concurrent table transfers
resumeNoResume a previous run by RUN_ID
fk_modeNoHow to handle foreign key constraints. trusted: create as trusted. untrusted: create and verify. disabled: skip FK creation.
licenseNoLicense key (will be masked in display)
log_dirNoDirectory for log files
os_typeNoTarget operating system for command formattinglinux
p_queryNoParallelism degree for profiling queries
projectNoProject tag attached to this run, stored on the tracking tables for later filtering (0.6.30+)
max_rowsNoMaximum row count filter -- only migrate tables with at most this many rows
min_rowsNoMinimum row count filter -- only migrate tables with at least this many rows
quiet_ftNoSuppress FastTransfer console output during data transfer
auth_fileYesPath to authentication/credentials JSON file
load_modeNoHow to load data into target tables. truncate: clear target before loading. append: add to existing data.
log_levelNoLogging verbosity level
no_bannerNoSuppress the startup banner
task_listNoTasks to run (e.g., ['translate', 'create', 'transfer'] for full migration, or ['diff'] for validation). Call `migratorxpress_info` with action='workflow' to get the recommended task sequence.
basic_diffNoUse basic diff mode (row counts only, no checksum)
no_progressNoDisable progress bar display
without_xidNoDisable transaction ID tracking during transfer
license_fileNoPath to license key file
aci_thresholdNoRow count threshold for auto-created indexes on target
cci_thresholdNoRow count threshold for clustered columnstore index creation on target
upgrade_migdbNoUpgrade the migration (tracking) DB metadata in place to the run_id schema introduced in 0.7.0, then exit (0.7.0+). Only auth_file and migration_db_auth_id are needed; cannot be combined with task_list or resume. Pre-0.7.0 tracking DBs are also auto-upgraded on the first regular 0.7.0+ run.
compute_nbrowsNoCompute row counts for source tables before transfer
exclude_tablesNoTable exclude patterns, comma-separated. Supports wildcards
fasttransfer_pNoFastTransfer parallel degree (number of threads per table transfer)
include_tablesNoTable include patterns, comma-separated. Supports wildcards
source_db_nameNoSource database name to migrate from. Required before 0.7.2; deprecated and ignored from 0.7.2 (the source auth entry's database is used)
target_db_nameNoTarget database name to migrate to. Required before 0.7.2; optional from 0.7.2, where it defaults to the target auth entry's database and must match it
ft_large_table_thNoRow count threshold above which FastTransfer parallelism is used
migration_db_modeNoHow to handle existing target database objects. preserve: keep existing objects. truncate: empty tables before loading. drop: drop and recreate objects.
source_db_auth_idNoSource database credential ID from the auth file
target_db_auth_idNoTarget database credential ID from the auth file
source_schema_nameNoSource schema name. If omitted, all schemas are migrated
target_schema_nameNoTarget schema name. Defaults to source schema name if omitted
profiling_sample_pcNoPercentage of rows to sample for data profiling (0-100)
migration_db_auth_idYesMigration tracking database credential ID from the auth file
drop_tables_if_existsNoDrop target tables before creating them. Before 0.7.2 any value, including 'false', is read as true: omit it instead of passing 'false'
fasttransfer_dir_pathNoPath to FastTransfer binary directory for parallel data transfer
min_sample_pc_profileNoMinimum sample percentage for profiling small tables
forced_int_id_prefixesNoColumn name prefixes to force integer identity mapping
forced_int_id_suffixesNoColumn name suffixes to force integer identity mapping

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
tipsNoSuggested next tool calls to resolve errors.
errorsNoField-level validation errors (status='error').
statusYes'ok' when the call succeeded; 'error' when the parameters failed validation or execution failed.
commandNoFull CLI argv with real credentials, ready to hand to the execute tool.
warningsNoVersion-compatibility warnings.
explanationNoHuman-readable summary of what the command does.
preview_onlyNoTrue when no binary is configured (execution unavailable).
command_stringNoThe argv joined into one command string (real credentials).
command_displayNoThe command with the license key masked, safe to show the user.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.3.6
    • changedInput schema / properties / drop_tables_if_exists / description
      Previous value: -"Drop target tables before creating them"New value: +"Drop target tables before creating them. Before 0.7.2 any value, including 'false', is read as true: omit it instead of passing 'false'"
    • changedInput schema / properties / source_db_name / description
      Previous value: -"Source database name to migrate from"New value: +"Source database name to migrate from. Required before 0.7.2; deprecated and ignored from 0.7.2 (the source auth entry's database is used)"
    • changedInput schema / properties / target_db_name / description
      Previous value: -"Target database name to migrate to"New value: +"Target database name to migrate to. Required before 0.7.2; optional from 0.7.2, where it defaults to the target auth entry's database and must match it"
  2. Changed3 schema fields changedv0.3.5
    • addedInput schema / properties / project
      Added value: +{
      +  "description": "Project tag attached to this run, stored on the tracking tables for later filtering (0.6.30+)",
      +  "pattern": "^[A-Za-z0-9_-]{1,64}$",
      +  "type": "string"
      +}
    • addedInput schema / properties / upgrade_migdb
      Added value: +{
      +  "default": false,
      +  "description": "Upgrade the migration (tracking) DB metadata in place to the run_id schema introduced in 0.7.0, then exit (0.7.0+). Only auth_file and migration_db_auth_id are needed; cannot be combined with task_list or resume. Pre-0.7.0 tracking DBs are also auto-upgraded on the first regular 0.7.0+ run.",
      +  "type": "boolean"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "auth_file",
      -  "source_db_auth_id",
      -  "source_db_name",
      -  "target_db_auth_id",
      -  "target_db_name",
      -  "migration_db_auth_id"
      -]New value: +[
      +  "auth_file",
      +  "migration_db_auth_id"
      +]
  3. Changed2 schema fields changedv0.3.2
    • changedInput schema / properties / task_list / description
      Previous value: -"Tasks to run (e.g., ['translate', 'create', 'transfer'] for full migration, or ['diff'] for validation). Call migratorxpress_suggest_workflow to get the recommended task sequence."New value: +"Tasks to run (e.g., ['translate', 'create', 'transfer'] for full migration, or ['diff'] for validation). Call `migratorxpress_info` with action='workflow' to get the recommended task sequence."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "command": {
      +      "description": "Full CLI argv with real credentials, ready to hand to the execute tool.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "command_display": {
      +      "description": "The command with the license key masked, safe to show the user.",
      +      "type": "string"
      +    },
      +    "command_string": {
      +      "description": "The argv joined into one command string (real credentials).",
      +      "type": "string"
      +    },
      +    "errors": {
      +      "description": "Field-level validation errors (status='error').",
      +      "items": {
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "explanation": {
      +      "description": "Human-readable summary of what the command does.",
      +      "type": "string"
      +    },
      +    "preview_only": {
      +      "description": "True when no binary is configured (execution unavailable).",
      +      "type": "boolean"
      +    },
      +    "status": {
      +      "description": "'ok' when the call succeeded; 'error' when the parameters failed validation or execution failed.",
      +      "enum": [
      +        "ok",
      +        "error"
      +      ],
      +      "type": "string"
      +    },
      +    "tips": {
      +      "description": "Suggested next tool calls to resolve errors.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "warnings": {
      +      "description": "Version-compatibility warnings.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "status"
      +  ],
      +  "type": "object"
      +}
  4. First observedv0.3.1

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive, but the description adds concrete behavior beyond them: passwords are masked in output, no execution or connectivity validation occurs, and upgrade_migdb cannot be combined with task_list or resume. These are actionable constraints an agent cannot derive from structured fields alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four tight sentences, front-loaded with what the tool does and immediately followed by its boundaries and the handoff to the execute tool. No filler; every clause carries routing or constraint information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need not be described, and the description covers the key edge cases (masking, no execution, upgrade mode constraints). For a 43-param preview tool whose schema is fully documented, nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% across 43 parameters, so the schema already documents each parameter's meaning. The description explains the upgrade_migdb flag's reduced parameter requirement, but that detail is also present in the schema, so it adds marginal value. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: builds and previews a MigratorXpress migration command without executing it. It explicitly distinguishes itself from migratorxpress_execute_command and clarifies scope ('Does NOT execute the migration or validate database connectivity'), so an agent can tell it apart from siblings immediately.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It names the alternative ('pass the command to migratorxpress_execute_command') and gives the condition that selects it (after reviewing). It also flags a special mode (upgrade_migdb=true) with its prerequisites, leaving little to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.