Skip to main content
Glama
arpe-io

arpeio-mcp

Official
by arpe-io

title: Arpeio MCP emoji: 🛠️ colorFrom: blue colorTo: indigo sdk: docker pinned: false

arpeio-mcp

PyPI version License: MIT

Unified MCP server for Arpe.io data tools — build, preview, and execute high-performance data commands through AI assistants.

Tool

Description

FastBCP

High-performance parallel database export to files and cloud

FastTransfer

High-performance parallel data transfer between databases

LakeXpress

Automated database-to-cloud data pipeline as Parquet

MigratorXpress

Cross-platform database migration with parallel transfer

No binaries required. All tools work in command builder mode out of the box — command building, preview, and informational tools work without any Arpe.io binary installed. To enable execution, download the binaries from arpe.io and set the corresponding *_PATH environment variables.

Related MCP server: MigratorXpress MCP Server

Connect your AI assistant

A hosted instance is available at https://arpe-io-arpeio-mcp.hf.space/sse — no installation required. For local installation with execution support, use the stdio transport via pip install arpeio-mcp.

ChatGPT | Claude Code | Claude Desktop | Cursor | Gemini CLI | HuggingChat | Kiro IDE | Le Chat (Mistral) | VS Code | Windsurf

ChatGPT

Available for paid plans only (Plus, Pro, Team, and Enterprise).

  1. Open ChatGPT in your browser, go to Settings > Apps and connectors.

  2. Open Advanced settings and enable Developer mode.

  3. Go to Connectors > Browse connectors > Add a new connector.

  4. Set the URL to https://arpe-io-arpeio-mcp.hf.space/sse and save.

Claude Code

claude mcp add --transport sse arpeio https://arpe-io-arpeio-mcp.hf.space/sse

Or for local installation with execution support:

pip install arpeio-mcp
claude mcp add arpeio arpeio-mcp

Claude Desktop

Add the following to your Claude Desktop configuration file:

  • Linux: ~/.config/Claude/claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Remote (no installation)

{
  "mcpServers": {
    "arpeio": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://arpe-io-arpeio-mcp.hf.space/sse"
      ]
    }
  }
}

Local (with execution support)

{
  "mcpServers": {
    "arpeio": {
      "command": "arpeio-mcp",
      "env": {
        "FASTBCP_PATH": "/path/to/FastBCP",
        "FASTTRANSFER_PATH": "/path/to/FastTransfer",
        "LAKEXPRESS_PATH": "/path/to/LakeXpress",
        "MIGRATORXPRESS_PATH": "/path/to/MigratorXpress"
      }
    }
  }
}

Cursor

  1. Open Cursor Settings and search for "MCP".

  2. Add a new MCP server with the following configuration:

{
  "mcpServers": {
    "arpeio": {
      "url": "https://arpe-io-arpeio-mcp.hf.space/sse"
    }
  }
}

Gemini CLI

Add the following to your ~/.gemini/settings.json file:

{
  "mcpServers": {
    "arpeio": {
      "uri": "https://arpe-io-arpeio-mcp.hf.space/sse"
    }
  }
}

HuggingChat

  1. In the chat interface, click the + icon, select MCP Servers, then Manage MCP Servers.

  2. Click Add Server.

  3. Set the Server Name to Arpe.io and the Server URL to https://arpe-io-arpeio-mcp.hf.space/sse.

  4. Click Add Server and verify the health check shows Connected.

Kiro IDE

Add the following to your Kiro MCP configuration file (.kiro/settings/mcp.json in your workspace):

{
  "mcpServers": {
    "arpeio": {
      "url": "https://arpe-io-arpeio-mcp.hf.space/sse"
    }
  }
}

Le Chat (Mistral)

Available on all plans, including free.

  1. Go to Intelligence > Connectors.

  2. Click Add connector > Custom MCP Connector.

  3. Set the name to Arpe.io and the URL to https://arpe-io-arpeio-mcp.hf.space/sse.

  4. Leave authentication disabled and click Create.

VS Code (GitHub Copilot)

Add the following to your VS Code MCP configuration. Run MCP: Open User Configuration from the Command Palette to open it.

  • Linux: ~/.config/Code/User/mcp.json

  • macOS: ~/Library/Application Support/Code/User/mcp.json

  • Windows: %APPDATA%\Code\User\mcp.json

{
  "servers": {
    "arpeio": {
      "url": "https://arpe-io-arpeio-mcp.hf.space/sse",
      "type": "sse"
    }
  }
}

Windsurf

Add the following to your Windsurf configuration file:

  • Linux: ~/.codeium/windsurf/mcp_config.json

  • macOS: ~/.codeium/windsurf/mcp_config.json

  • Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json

{
  "mcpServers": {
    "arpeio": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://arpe-io-arpeio-mcp.hf.space/sse"
      ]
    }
  }
}

Local Installation

For full execution support (not just command building), install locally:

pip install arpeio-mcp

Then configure your AI assistant to use the arpeio-mcp command (stdio transport) with optional binary paths — see the Claude Desktop local configuration for an example.

Environment Variables

Variable

Description

Required

FASTBCP_PATH

Path to FastBCP binary

No

FASTTRANSFER_PATH

Path to FastTransfer binary

No

LAKEXPRESS_PATH

Path to LakeXpress binary

No

MIGRATORXPRESS_PATH

Path to MigratorXpress binary

No

FASTBCP_DIR_PATH

FastBCP directory for LakeXpress

No

FASTTRANSFER_DIR_PATH

FastTransfer directory for MigratorXpress

No

*_TIMEOUT

Per-tool execution timeout (seconds)

No

*_LOG_DIR

Per-tool log directory

No

LOG_LEVEL

Logging level (DEBUG/INFO/WARNING/ERROR)

No

Available Tools (17)

Read-only advisory tools were consolidated into one *_info tool per product (with an action enum) and per-product release-notes tools were merged into a single arpe_release_notes. Auto-parallelism is now suggested inside preview so the typical workflow is 2 calls (previewexecute) instead of 4.

FastBCP (3 tools)

  • fastbcp_info — Read-only advisory: action="formats" | "parallelism" | "workflow" | "version"

  • fastbcp_preview_export — Validate parameters and render the command (auto-suggests parallelism when method is omitted)

  • fastbcp_execute_export — Run the export

FastTransfer (3 tools)

  • fasttransfer_info — Read-only advisory: action="combinations" | "parallelism" | "workflow" | "version"

  • fasttransfer_preview_transfer — Validate parameters and render the command (auto-suggests parallelism)

  • fasttransfer_execute_transfer — Run the transfer

LakeXpress (3 tools)

  • lakexpress_info — Read-only advisory: action="capabilities" | "workflow" | "version"

  • lakexpress_preview_command — Build any LakeXpress command (lxdb_*, config_*, sync, sync[export], sync[publish], run, status, cleanup). On v0.4.0+ binaries, warns when -a / --lxdb_auth_id / --sync_id are missing on sync-family calls

  • lakexpress_execute_command — Run the command

MigratorXpress (4 tools)

  • migratorxpress_info — Read-only advisory: action="capabilities" | "workflow" | "version"

  • migratorxpress_validate_auth_file — Validate the JSON auth file (only file-I/O advisory tool kept separate)

  • migratorxpress_preview_command — Build the migrate command. Accepts the new project tag (v0.6.30+); warns on migration_db_type="postgres" against pre-0.6.32 binaries

  • migratorxpress_execute_command — Run the migration

Meta (4 tools)

  • arpe_get_status — Status of all four CLIs (installed / command-builder-only)

  • arpe_quick_start — Detect the right tool from a plain-English use case and return a workflow guide

  • arpe_release_notes — Return release-notes chunks for any product (product="fastbcp" | "fasttransfer" | "lakexpress" | "migratorxpress", optional version)

  • search_docs — BM25 full-text search over arpe.io docs sites and blog

Structured output

The command-building, execution, and discovery tools return structured content (outputSchema + structuredContent) alongside the human-readable markdown, so MCP clients can chain calls programmatically instead of parsing prose:

  • *_preview_* → the built command (argv), command_string, masked command_display, explanation, and version warnings. The exact command can be handed straight to the matching *_execute_* tool.

  • *_execute_*success, return_code, stdout, stderr, and parsed diagnostics.

  • search_docs → ranked results records; arpe_get_status → per-product status; arpe_release_notes → release-notes chunks.

Each payload carries a status field (ok / error) so success and error responses are both machine-checkable.

Prompts (5)

Conversation starters surfaced by clients that support MCP prompts (Claude Desktop, Cursor, etc.): export-table, transfer-data, lakehouse-pipeline, migrate-database, troubleshoot.

Resources (4)

Static capability matrices served as MCP resources so clients can prefetch them without a tool call: arpeio://capabilities/fastbcp-formats, fasttransfer-combinations, lakexpress-capabilities, migratorxpress-capabilities.

Evaluations

evaluations/arpeio_eval.xml holds 10 read-only, verifiable questions used to check that an LLM can drive the server to correct answers (tool selection, parallelism recommendations, capability lookups, version gating). A guard test re-derives every answer from the capability registries so the answer key stays honest:

python -m pytest tests/test_evaluations.py -q

License

MIT

Available Tools

17 tools
arpe_get_statusA
Read-onlyIdempotent

Show the status of all four Arpe.io tools (FastBCP, FastTransfer, LakeXpress, MigratorXpress). All tools work in command-builder mode by default (no binary needed). If a binary is installed, execution is also available. Does not require database connectivity or any parameters.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
toolsNoPer-product status records.
statusYes'ok' when the call succeeded; 'error' when the parameters failed validation or execution failed.
total_toolsNoNumber of registered MCP tools.

TDQS

A4.5/5.0
Behavior4/5

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

The description adds context beyond annotations by explaining the command-builder vs binary mode and the lack of database requirements. Annotations already indicate it's read-only and idempotent, so the description complements them well.

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?

The description is extremely concise with two sentences that convey all necessary information without any redundancy or fluff.

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?

Given the tool has no parameters, has an output schema, and annotations cover safety, the description is complete. It explains the tool's scope (four tools), mode of operation, and lack of dependencies.

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

Parameters4/5

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

There are no parameters, and the description explicitly states that no parameters are required, which is appropriate given the empty input schema. Schema coverage is 100%, so no additional parameter info is needed.

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?

The description clearly states that the tool shows the status of four specific Arpe.io tools (FastBCP, FastTransfer, LakeXpress, MigratorXpress). It includes additional context about command-builder vs binary mode, making the purpose unambiguous and distinguishing it from sibling tools.

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

Usage Guidelines4/5

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

The description explains that no database connectivity or parameters are needed, implying it can be used without prerequisites. While it does not explicitly compare with alternatives, the purpose is clear and sufficient for a simple status check.

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

arpe_quick_startA
Read-onlyIdempotent

Determine which Arpe.io tool to use and get a step-by-step workflow guide. Call this when the user's intent is unclear or they are new to arpe.io tools. Accepts a plain English use case description and returns the recommended tool, required parameters, and the sequence of tool calls to make. Does not execute anything.

ParametersJSON Schema
NameRequiredDescriptionDefault
productNoOverride auto-detection and show the workflow for a specific product. If omitted, the tool selects based on use_case.
use_caseYesPlain English description of what the user wants to do (e.g., 'export a large Oracle table to S3 as Parquet', 'migrate SQL Server schema to PostgreSQL'). Used to auto-detect the right tool.

Output Schema

ParametersJSON Schema
NameRequiredDescription
stepsNoRecommended sequence of tool calls.
statusYes'ok' when the call succeeded; 'error' when the parameters failed validation or execution failed.
warningNoCross-tool caveat (e.g. internal use of FastBCP/FastTransfer).
selected_productNoRecommended product, 'all', or null if undetermined.

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds 'Does not execute anything,' confirming no side effects. This fully aligns with annotations and provides complete behavioral transparency.

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?

The description is three sentences, front-loaded with the purpose, then usage guidance, then input/output summary. Every sentence adds value without redundancy. Highly concise.

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?

For a guidance tool with 2 parameters and an output schema, the description fully covers when to use, what it accepts, what it returns, and its non-destructive nature. No gaps.

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 coverage is 100% with descriptions for both parameters. The description adds context about the 'product' parameter allowing override of auto-detection, but otherwise does not significantly add meaning beyond the schema. Base score of 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?

The description clearly states the tool's purpose: to determine which Arpe.io tool to use and provide a step-by-step workflow guide. It explicitly distinguishes itself from sibling execution tools by stating 'Does not execute anything.'

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

Usage Guidelines4/5

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

The description explicitly advises calling this tool 'when the user's intent is unclear or they are new to arpe.io tools.' It provides clear usage context but does not explicitly mention when not to use it or list alternatives, though the sibling list implies the alternative is to directly use specific tools.

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

arpe_release_notesA
Read-onlyIdempotent

Return release-notes chunks for any Arpe.io product. Pass product to select which tool and optionally version to filter to a specific release. Read-only; queries the local docs cache.

ParametersJSON Schema
NameRequiredDescriptionDefault
productYesWhich product's release notes to retrieve.
versionNoOptional version string (e.g. '0.31', '0.4'). Omit for the newest indexed version.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countNoNumber of release-notes chunks returned.
chunksNo
statusYes'ok' when the call succeeded; 'error' when the parameters failed validation or execution failed.
productNo
versionNoRequested version, or null for the newest indexed.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already provide readOnlyHint, idempotentHint, and destructiveHint. The description adds that it queries the local docs cache, providing additional context beyond annotations. No contradictions.

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?

The description is concise with two sentences, no filler, and the purpose is front-loaded. Every sentence adds value.

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?

Given the tool's simplicity (2 parameters, output schema exists), the description provides sufficient context: what it does, parameters, and read-only nature. No gaps identified.

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%, so the baseline is 3. The description restates the parameter purposes in a narrative form but does not add new semantic meaning beyond the schema descriptions.

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?

The description clearly states the tool returns release-notes chunks for any Arpe.io product, with product selection and optional version filtering. It distinguishes from sibling tools like product-specific info tools and search_docs by specifying release notes specifically.

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

Usage Guidelines3/5

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

The description mentions read-only and local cache querying, but does not explicitly state when to use this tool over alternatives like search_docs or product-specific info tools. It lacks guidance on when not to use it or prerequisites.

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

fastbcp_execute_exportA
Destructive

Execute a FastBCP export command that was previously built by fastbcp_preview_export. Requires confirmation=true as a safety gate. Does NOT build the command — the command string must come from a prior fastbcp_preview_export call. Will fail if the FastBCP binary is not installed.

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYesThe full command string from fastbcp_preview_export output (with actual passwords, not the masked version).
confirmationYesSafety gate — must be true to execute. Confirms the user has reviewed the command from fastbcp_preview_export.

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYes'ok' when the call succeeded; 'error' when the parameters failed validation or execution failed.
stderrNo
stdoutNo
log_dirNo
successNoTrue when the command exited 0.
diagnosticsNoParsed hints when the command failed.
return_codeNoProcess exit code.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already indicate destructiveHint=true, and the description reinforces this with 'safety gate' and 'requires confirmation=true'. It adds context about command source and binary requirement. No contradictions.

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?

Three sentences, each containing essential information. Front-loaded with purpose. No redundant or irrelevant text.

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

Completeness4/5

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

Given full schema coverage and existence of an output schema (not shown), the description provides sufficient context for usage. It covers prerequisites, safety, and failure conditions. However, it could mention output details or error scenarios.

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

Parameters4/5

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

Schema coverage is 100% with descriptions for both parameters. The description adds value by specifying the command must be from fastbcp_preview_export and include actual passwords, which goes beyond the schema.

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?

The description clearly states it executes a FastBCP export command built by fastbcp_preview_export, using the verb 'execute' and specifying the resource. It distinguishes from the sibling tool fastbcp_preview_export by noting it does not build the command.

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

Usage Guidelines4/5

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

It explicitly states the prerequisite (command from fastbcp_preview_export) and the safety gate (confirmation=true). It also notes failure case (binary not installed). However, it does not mention when not to use this tool or provide explicit alternatives.

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

fastbcp_infoA
Read-onlyIdempotent

Get information about FastBCP capabilities, parallelism recommendations, workflow guidance, or binary version. Use action to select what information you need. Read-only, does not require database connectivity.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesWhat information to retrieve. formats: list supported source databases, output formats, and storage targets. parallelism: get a recommended parallelism method for a specific table (requires source_type, has_numeric_key, table_size_estimate). workflow: get a step-by-step export guide with database-specific tips (requires source_type, output_format). version: report installed binary version and capabilities.
source_typeNoSource database type (required for action=parallelism and action=workflow)
output_formatNoDesired output format (required for action=workflow)
storage_targetNoStorage target (optional, for action=workflow, default: local)local
has_numeric_keyNoWhether the table has a numeric key column (required for action=parallelism)
has_identity_columnNoWhether the table has an identity/auto-increment column (optional, for action=parallelism)
table_size_estimateNoEstimated table size (required for action=parallelism). small: <100K rows. medium: 100K-10M. large: >10M.

TDQS

A4.5/5.0
Behavior5/5

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

The description declares the tool is 'Read-only, does not require database connectivity,' which adds behavioral context beyond the annotations (readOnlyHint, destructiveHint, idempotentHint). There is no contradiction with annotations.

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?

The description is extremely concise: three sentences covering purpose, usage of the action parameter, and safety. No extraneous information.

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

Completeness3/5

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

While the description covers the different actions and their parameters, it does not describe the output structure or return format. Given no output schema, the description could provide more context on what the tool returns for each action to be fully complete.

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

Parameters4/5

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

With 100% schema coverage, all parameters have descriptions. The description adds value by grouping parameters with actions (e.g., 'action=parallelism requires source_type, has_numeric_key, table_size_estimate'), providing semantic understanding beyond the schema.

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?

The description clearly states the tool's purpose: 'Get information about FastBCP capabilities, parallelism recommendations, workflow guidance, or binary version.' It uses specific verbs ('get information') and resource ('FastBCP'), and distinguishes itself from sibling tools like fastbcp_execute_export by explicitly noting it is read-only and does not require database connectivity.

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

Usage Guidelines4/5

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

The description provides detailed usage context for each action type (formats, parallelism, workflow, version) and their required parameters. However, it does not explicitly contrast this tool with its siblings or state when not to use it, leaving room for improvement in guiding the agent towards alternatives.

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

fastbcp_preview_exportA
Read-onlyIdempotent

Build and preview a FastBCP export command WITHOUT executing it. Shows the exact CLI command with passwords masked. If no parallelism method is specified, one is auto-suggested based on the source database type. Does NOT test connectivity or execute the export. After reviewing, pass the command to fastbcp_execute_export.

ParametersJSON Schema
NameRequiredDescriptionDefault
outputYes
sourceYes
optionsNo
os_typeNoTarget operating system for command formattinglinux
config_fileNoPath to a YAML configuration file (--config parameter, requires FastBCP 0.30+)

Output Schema

ParametersJSON Schema
NameRequiredDescription
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 passwords masked, safe to show the user.
auto_parallelismNoParallelism method auto-suggested when none was given.

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false, but the description adds valuable context: it does NOT execute, shows masked passwords, and auto-suggests parallelism method. It also clarifies it does not test connectivity. No contradictions with annotations.

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?

The description is concise: only a few sentences, front-loading the core purpose and key behaviors. Every sentence adds value with no redundancy or unnecessary detail.

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

Completeness4/5

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

Given the tool's complexity (nested objects, many parameters, sibling tools), the description covers the main points: what it does, what it doesn't do, auto-suggestion, and next steps. It could mention the output format (CLI command string), but overall it is sufficiently complete for a preview tool with good annotations and output schema.

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 40%, so many parameters have descriptions in the schema. The description adds only minimal parameter context (masked passwords, auto-suggestion of parallelism method). It does not significantly enhance understanding beyond the schema, warranting a baseline score of 3.

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?

The description clearly states the tool builds and previews a FastBCP export command without executing it, distinguishing it from the sibling tool fastbcp_execute_export. It uses specific verbs and identifies the resource (FastBCP export command), making the purpose unambiguous.

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

Usage Guidelines4/5

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

The description explains when to use (before execution) and what the tool does not do (no connectivity test, no execution). It directs users to pass the command to fastbcp_execute_export after review. While it doesn't list all alternatives, the auto-suggestion hint provides context for when to use it over other tools.

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

fasttransfer_execute_transferA
Destructive

Execute a FastTransfer command that was previously built by fasttransfer_preview_transfer. Requires confirmation=true as a safety gate. Does NOT build the command — the command string must come from a prior fasttransfer_preview_transfer call. Will fail if the FastTransfer binary is not installed.

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYesThe full command string from fasttransfer_preview_transfer output (the unmasked version with actual passwords). Do not modify this string.
confirmationYesSafety gate. Must be explicitly set to true to execute. false or omitted = execution is blocked. Always confirm with the user before setting to true.

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYes'ok' when the call succeeded; 'error' when the parameters failed validation or execution failed.
stderrNo
stdoutNo
log_dirNo
successNoTrue when the command exited 0.
diagnosticsNoParsed hints when the command failed.
return_codeNoProcess exit code.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already indicate destructiveHint=true and readOnlyHint=false. The description adds that the command contains actual passwords, requires a safety gate, and will fail if binary is not installed, providing valuable behavioral context beyond annotations.

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 concise sentences, each providing essential information. Front-loaded with the main action and prerequisite, no unnecessary words.

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?

Given the full schema description, output schema availability, and annotations, the description covers workflow dependency, safety valve, and failure condition. It is sufficiently complete for correct usage.

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

Parameters4/5

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

Schema coverage is 100% with good descriptions. The description adds extra guidance: 'Do not modify this string' for command and 'Always confirm with the user' for confirmation, enhancing meaning beyond the schema.

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?

The description clearly states the verb 'Execute' and the resource 'a FastTransfer command previously built by fasttransfer_preview_transfer'. It distinguishes itself from the sibling fasttransfer_preview_transfer which builds the command.

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

Usage Guidelines4/5

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

The description specifies prerequisites (must have a prior preview call, binary installed) and a safety gate (confirmation=true). It does not explicitly mention when not to use or compare with other siblings, but the context makes it clear.

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

fasttransfer_infoA
Read-onlyIdempotent

Get information about FastTransfer capabilities, parallelism recommendations, workflow guidance, or binary version. Use action to select what information you need. Read-only, does not require database connectivity.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesWhat information to retrieve. combinations: list supported source-to-target database pairs. parallelism: get a recommended parallelism method for a specific table (requires source_type, has_numeric_key, table_size_estimate). workflow: get a step-by-step transfer guide with database-specific tips (requires source_type, target_type). version: report installed binary version and capabilities.
source_typeNoSource database type (required for action=parallelism and action=workflow)
target_typeNoTarget database type (required for action=workflow)
has_numeric_keyNoWhether the table has a numeric key column (required for action=parallelism)
has_identity_columnNoWhether the table has an identity/auto-increment column (optional, for action=parallelism)
table_size_estimateNoEstimated table size (required for action=parallelism). small: <100K rows. medium: 100K-10M. large: >10M.

TDQS

A4.2/5.0
Behavior4/5

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

The description states 'Read-only, does not require database connectivity,' adding context beyond annotations (readOnlyHint, idempotentHint). It reinforces the non-destructive, idempotent nature and clarifies no DB connection is needed, which is valuable for agent decision-making.

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?

The description is only two sentences, both front-loaded with key information. It covers purpose, usage hint, and behavioral trait without any fluff. Every sentence earns its place.

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

Completeness4/5

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

Given the tool's simplicity, abundant schema descriptions, and annotations, the description is mostly complete. It doesn't explain return format or error behavior, but for a read-only info tool with strong schema support, this is acceptable. Could optionally mention that some actions require additional parameters (already in schema).

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?

All parameters have descriptions in the schema (100% coverage), so the description adds no new semantics. The description mentions using 'action' but doesn't elaborate on other parameters. Baseline score of 3 is appropriate given the high schema coverage.

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?

The description clearly states the tool retrieves information about FastTransfer capabilities, parallelism, workflow, or version. The verb 'Get information' and the specific resource 'FastTransfer' make the purpose explicit, distinguishing it from sibling info tools like fastbcp_info or lakexpress_info.

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

Usage Guidelines4/5

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

The description advises to use the 'action' parameter to select the needed information and notes the tool is read-only and doesn't require database connectivity. While it provides clear context, it doesn't explicitly contrast with alternative tools for transfers or other operations, but the purpose is clear enough for an agent to infer when to use it.

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

fasttransfer_preview_transferA
Read-onlyIdempotent

Build and preview a FastTransfer database-to-database transfer command WITHOUT executing it. Shows the exact CLI command with passwords masked. If no parallelism method is specified, one is auto-suggested based on the source database type. Does not test connectivity or execute the transfer. After reviewing, pass the command to fasttransfer_execute_transfer.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYes
targetYes
optionsNo
os_typeNoOperating system where FastTransfer will run. Affects command quoting and path separators. linux: uses single quotes and forward slashes. windows: uses double quotes and backslashes.linux

Output Schema

ParametersJSON Schema
NameRequiredDescription
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 passwords masked, safe to show the user.
auto_parallelismNoParallelism method auto-suggested when none was given.

TDQS

A4.1/5.0
Behavior5/5

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

The description adds value beyond annotations by specifying that passwords are masked, parallelism is auto-suggested if not specified, and that connectivity is not tested. This aligns with the readOnlyHint and destructiveHint annotations, with no contradictions.

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

Conciseness4/5

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

The description is concise (two paragraphs) and front-loaded with the key action. Every sentence contributes relevant information, though the structure could be improved with bullet points for readability.

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

Completeness4/5

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

Given the high complexity (multiple nested parameters) and the existence of an output schema, the description covers the main behavioral aspects: what it does, what it doesn't do, and how to follow up. It could include more detail on the output format, but overall it is adequately complete.

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

Parameters2/5

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

The schema description coverage is only 25% (only os_type has a description at top level). The tool description does not compensate by explaining the source, target, or options parameters, leaving the agent to rely on the incomplete schema info. The description adds no parameter meaning beyond what is in the schema.

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?

The description clearly states the verb 'Build and preview' and the resource 'FastTransfer database-to-database transfer command', and explicitly distinguishes it from the sibling 'fasttransfer_execute_transfer' by stating it does not execute the command.

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

Usage Guidelines4/5

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

The description explains when to use this tool (before execution) and when not to use it (does not test connectivity or execute), and directs the agent to pass the result to 'fasttransfer_execute_transfer'. It lacks explicit mention of when to use alternatives like 'fasttransfer_info', but the context is clear.

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

lakexpress_execute_commandA
Destructive

Execute a LakeXpress command that was previously built by lakexpress_preview_command. Requires confirmation=true as a safety gate. The command string must come from a prior lakexpress_preview_command call. Will fail if the LakeXpress binary is not installed.

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYesThe exact command string from a prior lakexpress_preview_command call. Must be passed as-is without modification.
confirmationYesSafety gate: must be true to execute. Set to true only after the user has reviewed the previewed command.

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYes'ok' when the call succeeded; 'error' when the parameters failed validation or execution failed.
stderrNo
stdoutNo
log_dirNo
successNoTrue when the command exited 0.
diagnosticsNoParsed hints when the command failed.
return_codeNoProcess exit code.

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already indicate destructiveHint=true, so the description adds value by disclosing that the binary must be installed and that confirmation is required. No contradictions.

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?

Three sentences, each necessary and front-loaded. No redundant 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?

Given output schema exists, annotations provide safety info, and parameters are well-documented, the description covers prerequisites, safety, and execution constraints fully. No gaps.

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

Parameters4/5

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

Schema coverage is 100% and description adds critical context: the command must be passed as-is from preview, and confirmation must be true after user review. This goes beyond schema definitions.

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?

The description uses the specific verb 'Execute' and names the resource 'LakeXpress command that was previously built by lakexpress_preview_command', clearly differentiating from sibling tools like lakexpress_info or lakexpress_preview_command.

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 explicitly states when to use (after preview), the prerequisite (command must come from lakexpress_preview_command), and the safety gate (confirmation must be true). This provides clear guidance and excludes misuse.

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

lakexpress_infoA
Read-onlyIdempotent

Get information about LakeXpress capabilities, workflow guidance, or binary version. Use action to select what information you need. Read-only, does not require database connectivity.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesWhat information to retrieve. capabilities: list supported source databases, log databases, storage backends, and publish targets. workflow: get the recommended command sequence for a specific use case (requires source_type, destination). version: report installed binary version and capabilities.
destinationNoStorage backend (required for action=workflow)
source_typeNoSource database type (required for action=workflow)
publish_targetNoOptional publish target (for action=workflow)

TDQS

A4.4/5.0
Behavior5/5

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

Description adds 'Read-only, does not require database connectivity' beyond the annotations that already declare readOnlyHint and idempotentHint. No contradictions.

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?

Two sentences with no wasted words. Essential information is front-loaded: purpose, action usage, read-only nature.

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

Completeness4/5

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

Given no output schema, description could mention output format, but parameter descriptions already specify what each action returns. Covers key aspects adequately for this simple tool.

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% with detailed enum explanations. The description adds only minimal guidance ('Use `action` to select what information you need'), not significantly beyond schema.

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?

Description clearly states 'Get information about LakeXpress capabilities, workflow guidance, or binary version' using a specific verb and resource. It differentiates from sibling info tools (e.g., arpe_get_status, fastbcp_info) by specifying LakeXpress scope.

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

Usage Guidelines4/5

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

Description provides context by naming LakeXpress as the subject and instructs to use the 'action' parameter. While it implies alternative tools for other products, it does not explicitly exclude them or contrast with search_docs.

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

lakexpress_preview_commandA
Read-onlyIdempotent

Build and preview a LakeXpress CLI command WITHOUT executing it. Call this after lakexpress_info with action='workflow' to build each command in the recommended sequence. Shows the exact command that will be run. Does NOT execute the command or validate connections. After reviewing, pass the command to lakexpress_execute_command.

ParametersJSON Schema
NameRequiredDescriptionDefault
runNoRun a multi-step pipeline from a YAML config file.
syncNoRun a full sync (export + publish). Exports data and publishes if configured.
statusNoShow sync run status and history.
cleanupNoClean up old or failed sync runs.
commandYesThe LakeXpress command to run. logdb_init/lxdb_init: initialize databases. config_create: set up sync configuration. sync/sync_export/sync_publish: execute pipeline steps. run: full pipeline execution. status: check pipeline status. cleanup: remove completed data.
os_typeNoTarget operating system for command formattinglinux
lxdb_dropNoDrop the log database schema (0.3.0+ replacement for logdb_drop). WARNING: permanently deletes all sync history.
lxdb_initNoInitialize the log database schema (0.3.0+ replacement for logdb_init).
logdb_dropNoDrop the log database schema. WARNING: permanently deletes all sync history and configuration.
logdb_initNoInitialize the log database schema. Creates required tables for sync management.
lxdb_locksNoShow currently locked tables in the log database (0.3.0+ replacement for logdb_locks).
config_listNoList all sync configurations.
logdb_locksNoShow currently locked tables in the log database.
sync_exportNoRun export-only sync (no publish). Exports data to local or cloud storage.
sync_publishNoRun publish-only sync. Publishes previously exported data to the configured target.
config_createNoCreate a new sync configuration. Requires source DB credentials and either output_dir (local) or target_storage_id (cloud). Add publish_target for data lake publishing.
config_deleteNoDelete a sync configuration.
lxdb_truncateNoClear all data from the log database while keeping the schema (0.3.0+ replacement for logdb_truncate).
logdb_truncateNoClear all data from the log database while keeping the schema.
lxdb_release_locksNoRelease stale or stuck table locks (0.3.0+ replacement for logdb_release_locks).
logdb_release_locksNoRelease stale or stuck table locks in the log database.

Output Schema

ParametersJSON Schema
NameRequiredDescription
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, ready to hand to the execute tool.
warningsNoVersion-compatibility warnings.
explanationNoHuman-readable summary of what the command does.
command_typeNoWhich LakeXpress sub-command was built.
preview_onlyNoTrue when no binary is configured (execution unavailable).
command_stringNoThe argv joined into one command string.
command_displayNoThe command formatted for display, safe to show the user.

TDQS

A4.6/5.0
Behavior5/5

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

The description confirms the no-side-effect nature (read-only, idempotent) matching annotations. It adds transparency by noting it does not execute or validate connections, beyond what annotations declare.

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?

The description is concise (4 sentences) and front-loaded with the main purpose. Every sentence is informative and earns its place.

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

Completeness4/5

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

Given the complexity (21 parameters, nested objects, many sub-commands), the description provides clear usage flow. The output schema exists, so return values are documented elsewhere. Minor gap: no explicit mention of output format beyond 'shows the exact command', but the schema covers it.

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%, so baseline is 3. The description does not add parameter-level explanations, but the schema already provides thorough descriptions for all properties.

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?

The description clearly states the tool builds and previews a LakeXpress CLI command without executing it. It explicitly distinguishes itself from the sibling tool lakexpress_execute_command and provides a specific use case: call after lakexpress_info with action='workflow'.

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?

The description gives explicit when-to-use guidance: after lakexpress_info, before lakexpress_execute_command. It also states what it does not do (execute, validate connections), helping the agent decide when to use this preview tool versus alternatives.

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

migratorxpress_execute_commandA
Destructive

Execute a MigratorXpress command that was previously built by migratorxpress_preview_command. Requires confirmation=true as a safety gate. The command string must come from a prior migratorxpress_preview_command call. Will fail if the MigratorXpress binary is not installed.

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYesThe full MigratorXpress command string copied from the migratorxpress_preview_command output (space-separated arguments).
confirmationYesSafety gate: must be set to true to allow execution. Confirms the user has reviewed the previewed command.

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYes'ok' when the call succeeded; 'error' when the parameters failed validation or execution failed.
stderrNo
stdoutNo
log_dirNo
successNoTrue when the command exited 0.
diagnosticsNoParsed hints when the command failed.
return_codeNoProcess exit code.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations indicate destructive and non-idempotent; description adds safety gate requirement and failure condition (binary not installed), enhancing understanding beyond annotations. No contradiction.

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?

Three sentences, each serving a distinct purpose: execution, safety constraint, and prerequisite. No redundancy or fluff.

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

Completeness4/5

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

Covers essential context: prerequisite (preview command), safety gate (confirmation), and failure condition (binary). Has output schema, so return details not needed. Complete for execution tool.

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

Parameters4/5

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

Schema already covers both parameters with descriptions (100% coverage). Description adds context that command must be from migratorxpress_preview_command output and confirmation is a safety gate, adding value beyond schema.

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?

Clearly states 'execute a MigratorXpress command' with verb and resource, and distinguishes from sibling migratorxpress_preview_command by specifying the command must come from a prior preview call.

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

Usage Guidelines4/5

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

Provides explicit conditions: requires confirmation=true and command from preview. Implicitly indicates use after preview; no explicit when-not-to-use but clear enough.

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

migratorxpress_infoA
Read-onlyIdempotent

Get information about MigratorXpress capabilities, workflow guidance, or binary version. Use action to select what information you need. Read-only, does not require database connectivity.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesWhat information to retrieve. capabilities: list supported source/target databases, tasks, and modes. workflow: get the recommended task sequence for a migration (requires source_type, target_type). version: report installed binary version and capabilities.
source_typeNoSource database platform (required for action=workflow)
target_typeNoTarget database platform (required for action=workflow)
include_constraintsNoInclude constraint copy steps in workflow (optional, for action=workflow)

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description reinforces read-only and adds that no database connectivity is required, providing extra behavioral context. No contradictions.

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?

The description is two sentences, front-loaded with the core purpose, and every word adds value. No wasted or redundant text.

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

Completeness4/5

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

Given rich annotations and schema, the description is adequate for understanding the tool's role. However, it lacks information about the return format or examples, which would be helpful given the absence of an output schema.

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%, so the description does not need to add much. It mentions 'Use action to select what information you need,' which is a high-level summary but does not add significant meaning beyond the schema's own parameter descriptions.

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

Purpose4/5

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

The description clearly states it gets information about capabilities, workflow guidance, or binary version, using the action parameter. It is distinguished from sibling tools like migratorxpress_execute_command by its read-only nature, but does not explicitly differentiate from other 'info' tools for different products.

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

Usage Guidelines3/5

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

The description provides usage context: use action to select info, and notes it is read-only without DB connectivity. However, it does not specify when not to use it or suggest alternatives (e.g., when to use search_docs instead).

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

migratorxpress_preview_commandA
Read-onlyIdempotent

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.

ParametersJSON 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
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
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_nameYesSource database name to migrate from
target_db_nameYesTarget database name to migrate to
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_idYesSource database credential ID from the auth file
target_db_auth_idYesTarget 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
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

ParametersJSON Schema
NameRequiredDescription
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.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already indicate readOnly, idempotent, not destructive. Description adds that passwords are masked and no execution occurs. Consistent and adds context without contradiction.

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?

Two sentences, no wasted words. First sentence states purpose and core behavior; second adds limitations and sibling reference. Well-structured and front-loaded.

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

Completeness4/5

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

For a preview tool with complex parameters, the description covers key behavioral aspects. Output schema exists to detail return values. Leaves some questions (e.g., format of command) but adequate given context.

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 coverage is 100%, so baseline is 3. Description does not add parameter-specific meaning beyond mentioning password masking. Schema descriptions already detailed.

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?

Clearly states the tool builds and previews a migration command without executing it, distinguishing itself from migratorxpress_execute_command. The verb 'preview' and resource 'MigratorXpress migration command' are specific.

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

Usage Guidelines4/5

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

Explicitly says when to use (preview before execute) and what it does not do (execute, validate connectivity). Mentions passing the command to a sibling tool. Could elaborate on alternatives but sufficient.

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

migratorxpress_validate_auth_fileA
Read-onlyIdempotent

Validate that a MigratorXpress JSON credentials file is well-formed and contains the required fields (auth_id, db_type, connection parameters). Call this before migratorxpress_preview_command to catch credential issues early. Does NOT test actual database connectivity.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesAbsolute or relative path to the MigratorXpress JSON credentials file to validate.
required_auth_idsNoOptional list of auth_id values that must exist in the credentials file. Use this to verify source, target, and migration DB credentials are all present before building a command.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, destructiveHint, idempotentHint, so safety is clear. Description adds important context that actual connectivity is not tested, which annotations do not cover. Minor gap: no mention of return value or error behavior.

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?

Two sentences, no redundant phrases. Front-loaded with core purpose, followed by usage hint and limitation. Every sentence contributes meaning.

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

Completeness4/5

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

For a low-complexity tool with 2 parameters and no output schema, the description covers purpose, usage, and a key limitation (no connectivity test). It could improve by describing the validation result format (e.g., returns success/failure messages), but it's still clear enough for an AI agent.

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 coverage is 100%, so each parameter is documented. The description adds value for required_auth_ids by explaining its purpose ('verify source, target, and migration DB credentials are all present'). This goes beyond the schema's 'optional list.'

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?

The description explicitly states the tool validates a MigratorXpress JSON credentials file, specifying it checks well-formedness and required fields. It distinguishes from siblings by positioning as a pre-check before migratorxpress_preview_command.

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?

Provides clear when-to-use guidance: 'Call this before migratorxpress_preview_command to catch credential issues early.' Also clarifies what it does not do ('Does NOT test actual database connectivity'), preventing misuse.

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

search_docsA
Read-onlyIdempotent

Search arpe.io documentation and blog for answers about CLI parameters, use cases, parallelism strategies, integrations, and best practices. Call this when unsure about a parameter value, need an example command, or want the recommended approach for a specific source/target/format combination. Searches across all product documentation (FastBCP, FastTransfer, LakeXpress, MigratorXpress) and the arpe.io blog simultaneously. Does not execute anything.

ParametersJSON Schema
NameRequiredDescriptionDefault
top_kNoMaximum number of results to return (1-10).
questionYesSearch query — a question or keywords about arpe.io tools, parameters, or use cases (e.g., 'how to use Ntile parallelism', 'parquet compression options', 'Oracle to Snowflake pipeline').

Output Schema

ParametersJSON Schema
NameRequiredDescription
countNoNumber of results returned.
queryNoThe search query that was run.
statusYes'ok' when the call succeeded; 'error' when the parameters failed validation or execution failed.
resultsNoRanked documentation/blog chunks.
index_readyNoFalse while indexes are still loading.
fully_loadedNoFalse while some sources are still loading.

TDQS

A4.7/5.0
Behavior5/5

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

Adds that it searches across multiple product docs and blog simultaneously, does not execute anything, complementing annotations.

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?

Two concise sentences plus product list, front-loaded with purpose, no wasted words.

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?

For a search tool with rich annotations and output schema, description covers scope, usage, and safety fully.

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 already covers both parameters (100% coverage). Description reinforces but adds no new parameter details beyond context.

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?

Clearly states it searches documentation and blog, distinguishes from execution/info siblings.

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?

Explicitly says when to call: when unsure about parameter, need example, or want recommended approach.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 12 tool updatesv0.3.2
    • Changedarpe_get_status1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "status": {
        +      "description": "'ok' when the call succeeded; 'error' when the parameters failed validation or execution failed.",
        +      "enum": [
        +        "ok",
        +        "error"
        +      ],
        +      "type": "string"
        +    },
        +    "tools": {
        +      "description": "Per-product status records.",
        +      "items": {
        +        "properties": {
        +          "binary_path": {
        +            "type": "string"
        +          },
        +          "mode": {
        +            "description": "'command_builder' or 'full'.",
        +            "type": "string"
        +          },
        +          "name": {
        +            "type": "string"
        +          },
        +          "version": {
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "total_tools": {
        +      "description": "Number of registered MCP tools.",
        +      "type": "integer"
        +    }
        +  },
        +  "required": [
        +    "status"
        +  ],
        +  "type": "object"
        +}
    • Changedarpe_quick_start1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "selected_product": {
        +      "description": "Recommended product, 'all', or null if undetermined.",
        +      "type": "string"
        +    },
        +    "status": {
        +      "description": "'ok' when the call succeeded; 'error' when the parameters failed validation or execution failed.",
        +      "enum": [
        +        "ok",
        +        "error"
        +      ],
        +      "type": "string"
        +    },
        +    "steps": {
        +      "description": "Recommended sequence of tool calls.",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "warning": {
        +      "description": "Cross-tool caveat (e.g. internal use of FastBCP/FastTransfer).",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status"
        +  ],
        +  "type": "object"
        +}
    • Changedarpe_release_notes1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "chunks": {
        +      "items": {
        +        "properties": {
        +          "text": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "count": {
        +      "description": "Number of release-notes chunks returned.",
        +      "type": "integer"
        +    },
        +    "product": {
        +      "type": "string"
        +    },
        +    "status": {
        +      "description": "'ok' when the call succeeded; 'error' when the parameters failed validation or execution failed.",
        +      "enum": [
        +        "ok",
        +        "error"
        +      ],
        +      "type": "string"
        +    },
        +    "version": {
        +      "description": "Requested version, or null for the newest indexed.",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    }
        +  },
        +  "required": [
        +    "status"
        +  ],
        +  "type": "object"
        +}
    • Changedfastbcp_execute_export1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "diagnostics": {
        +      "description": "Parsed hints when the command failed.",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "log_dir": {
        +      "type": "string"
        +    },
        +    "return_code": {
        +      "description": "Process exit code.",
        +      "type": "integer"
        +    },
        +    "status": {
        +      "description": "'ok' when the call succeeded; 'error' when the parameters failed validation or execution failed.",
        +      "enum": [
        +        "ok",
        +        "error"
        +      ],
        +      "type": "string"
        +    },
        +    "stderr": {
        +      "type": "string"
        +    },
        +    "stdout": {
        +      "type": "string"
        +    },
        +    "success": {
        +      "description": "True when the command exited 0.",
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "status"
        +  ],
        +  "type": "object"
        +}
    • Changedfastbcp_preview_export6 fields changed
      • removedInput schema / properties / options / properties / batch_size
        Removed value: -{
        -  "description": "Batch size for export operations",
        -  "type": "integer"
        -}
      • removedInput schema / properties / options / properties / load_mode
        Removed value: -{
        -  "default": "Append",
        -  "description": "How to handle existing output. Append: add to existing files. Truncate: overwrite existing output before writing.",
        -  "enum": [
        -    "Append",
        -    "Truncate"
        -  ],
        -  "type": "string"
        -}
      • removedInput schema / properties / options / properties / map_method
        Removed value: -{
        -  "default": "Position",
        -  "description": "Column mapping method",
        -  "enum": [
        -    "Position",
        -    "Name"
        -  ],
        -  "type": "string"
        -}
      • changedInput schema / properties / options / properties / method / description
        Previous value: -"Parallelism method. Ntile: even distribution on numeric key. DataDriven: distinct value partitions, works with any data type. Physloc: SQL Server physical location (no key needed). Ctid: PostgreSQL physical tuple ID (no key needed). Rowid: Oracle physical ROWID (no key needed). RangeId: numeric min/max range. Random: modulo-based approximate distribution. Timepartition: partition by time column (FastBCP 0.30+). NZDataSlice: Netezza native slicing. None: single-threaded. Call `fastbcp_suggest_parallelism` if unsure."New value: +"Parallelism method. Ntile: even distribution on numeric key. DataDriven: distinct value partitions, works with any data type. Physloc: SQL Server physical location (no key needed). Ctid: PostgreSQL physical tuple ID (no key needed). Rowid: Oracle physical ROWID (no key needed). RangeId: numeric min/max range. Random: modulo-based approximate distribution. Timepartition: partition by time column (FastBCP 0.30+). NZDataSlice: Netezza native slicing. None: single-threaded. Call `fastbcp_info` with action='parallelism' if unsure."
      • removedInput schema / properties / output / properties / storage_target
        Removed value: -{
        -  "default": "local",
        -  "description": "Where to write output files. local: local filesystem. s3/s3compatible: Amazon S3 or compatible. azure_blob/azure_datalake: Azure storage. fabric_onelake: Microsoft Fabric. gcs: Google Cloud Storage. Cloud targets require a cloud_profile.",
        -  "enum": [
        -    "local",
        -    "s3",
        -    "s3compatible",
        -    "azure_blob",
        -    "azure_datalake",
        -    "fabric_onelake",
        -    "gcs"
        -  ],
        -  "type": "string"
        -}
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "auto_parallelism": {
        +      "description": "Parallelism method auto-suggested when none was given.",
        +      "type": "string"
        +    },
        +    "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 passwords 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"
        +}
    • Changedfasttransfer_execute_transfer1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "diagnostics": {
        +      "description": "Parsed hints when the command failed.",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "log_dir": {
        +      "type": "string"
        +    },
        +    "return_code": {
        +      "description": "Process exit code.",
        +      "type": "integer"
        +    },
        +    "status": {
        +      "description": "'ok' when the call succeeded; 'error' when the parameters failed validation or execution failed.",
        +      "enum": [
        +        "ok",
        +        "error"
        +      ],
        +      "type": "string"
        +    },
        +    "stderr": {
        +      "type": "string"
        +    },
        +    "stdout": {
        +      "type": "string"
        +    },
        +    "success": {
        +      "description": "True when the command exited 0.",
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "status"
        +  ],
        +  "type": "object"
        +}
    • Changedfasttransfer_preview_transfer3 fields changed
      • changedInput schema / properties / options / properties / method / description
        Previous value: -"Parallelism method. Ntile: even distribution on numeric key. DataDriven: distinct value partitions, works with any data type. PhysLoc/Physloc: SQL Server physical location (no key needed). Ctid: PostgreSQL physical tuple ID (no key needed). Rowid: Oracle physical ROWID (no key needed). RangeId: numeric min/max range. Random: modulo-based approximate distribution. NZDataSlice: Netezza native slicing. None: single-threaded. Call `fasttransfer_suggest_parallelism` if unsure."New value: +"Parallelism method. Ntile: even distribution on numeric key. DataDriven: distinct value partitions, works with any data type. PhysLoc/Physloc: SQL Server physical location (no key needed). Ctid: PostgreSQL physical tuple ID (no key needed). Rowid: Oracle physical ROWID (no key needed). RangeId: numeric min/max range. Random: modulo-based approximate distribution. NZDataSlice: Netezza native slicing. None: single-threaded. Call `fasttransfer_info` with action='parallelism' if unsure."
      • changedInput schema / properties / target / properties / type / description
        Previous value: -"Target database connection type (e.g., 'pgsql' for PostgreSQL, 'mssql' for SQL Server, 'oraodp' for Oracle, 'mysql' for MySQL). Use fasttransfer_list_combinations to see valid pairs."New value: +"Target database connection type (e.g., 'pgsql' for PostgreSQL, 'mssql' for SQL Server, 'oraodp' for Oracle, 'mysql' for MySQL). Use `fasttransfer_info` with action='combinations' to see valid pairs."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "auto_parallelism": {
        +      "description": "Parallelism method auto-suggested when none was given.",
        +      "type": "string"
        +    },
        +    "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 passwords 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"
        +}
    • Changedlakexpress_execute_command1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "diagnostics": {
        +      "description": "Parsed hints when the command failed.",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "log_dir": {
        +      "type": "string"
        +    },
        +    "return_code": {
        +      "description": "Process exit code.",
        +      "type": "integer"
        +    },
        +    "status": {
        +      "description": "'ok' when the call succeeded; 'error' when the parameters failed validation or execution failed.",
        +      "enum": [
        +        "ok",
        +        "error"
        +      ],
        +      "type": "string"
        +    },
        +    "stderr": {
        +      "type": "string"
        +    },
        +    "stdout": {
        +      "type": "string"
        +    },
        +    "success": {
        +      "description": "True when the command exited 0.",
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "status"
        +  ],
        +  "type": "object"
        +}
    • Changedlakexpress_preview_command3 fields changed
      • changedInput schema / properties / config_create / properties / error_action / description
        Previous value: -"Action on table export error: fail (stop), continue (skip and continue), skip"New value: +"Action on table export error: fail (stop on first error) or continue (log errors and continue)"
      • changedInput schema / properties / config_create / properties / error_action / enum
        Previous value: -[
        -  "fail",
        -  "continue",
        -  "skip"
        -]New value: +[
        +  "fail",
        +  "continue"
        +]
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "command": {
        +      "description": "Full CLI argv, ready to hand to the execute tool.",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "command_display": {
        +      "description": "The command formatted for display, safe to show the user.",
        +      "type": "string"
        +    },
        +    "command_string": {
        +      "description": "The argv joined into one command string.",
        +      "type": "string"
        +    },
        +    "command_type": {
        +      "description": "Which LakeXpress sub-command was built.",
        +      "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"
        +}
    • Changedmigratorxpress_execute_command1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "diagnostics": {
        +      "description": "Parsed hints when the command failed.",
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "log_dir": {
        +      "type": "string"
        +    },
        +    "return_code": {
        +      "description": "Process exit code.",
        +      "type": "integer"
        +    },
        +    "status": {
        +      "description": "'ok' when the call succeeded; 'error' when the parameters failed validation or execution failed.",
        +      "enum": [
        +        "ok",
        +        "error"
        +      ],
        +      "type": "string"
        +    },
        +    "stderr": {
        +      "type": "string"
        +    },
        +    "stdout": {
        +      "type": "string"
        +    },
        +    "success": {
        +      "description": "True when the command exited 0.",
        +      "type": "boolean"
        +    }
        +  },
        +  "required": [
        +    "status"
        +  ],
        +  "type": "object"
        +}
    • Changedmigratorxpress_preview_command2 fields changed
      • 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"
        +}
    • Changedsearch_docs1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "count": {
        +      "description": "Number of results returned.",
        +      "type": "integer"
        +    },
        +    "fully_loaded": {
        +      "description": "False while some sources are still loading.",
        +      "type": "boolean"
        +    },
        +    "index_ready": {
        +      "description": "False while indexes are still loading.",
        +      "type": "boolean"
        +    },
        +    "query": {
        +      "description": "The search query that was run.",
        +      "type": "string"
        +    },
        +    "results": {
        +      "description": "Ranked documentation/blog chunks.",
        +      "items": {
        +        "properties": {
        +          "source": {
        +            "type": "string"
        +          },
        +          "text": {
        +            "type": "string"
        +          },
        +          "url": {
        +            "type": "string"
        +          }
        +        },
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "status": {
        +      "description": "'ok' when the call succeeded; 'error' when the parameters failed validation or execution failed.",
        +      "enum": [
        +        "ok",
        +        "error"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status"
        +  ],
        +  "type": "object"
        +}
  2. 17 tool updatesv0.3.1
    • First observedarpe_get_status
    • First observedarpe_quick_start
    • First observedarpe_release_notes
    • First observedfastbcp_execute_export
    • First observedfastbcp_info
    • First observedfastbcp_preview_export
    • First observedfasttransfer_execute_transfer
    • First observedfasttransfer_info
    • First observedfasttransfer_preview_transfer
    • First observedlakexpress_execute_command
    • First observedlakexpress_info
    • First observedlakexpress_preview_command
    • First observedmigratorxpress_execute_command
    • First observedmigratorxpress_info
    • First observedmigratorxpress_preview_command
    • First observedmigratorxpress_validate_auth_file
    • First observedsearch_docs

TDQS

A4.4/5.0
Disambiguation5/5

Each tool targets a distinct product and action (info, preview, execute), with clear separation between the four products and general utilities. No overlap or ambiguity.

Naming Consistency5/5

All tools follow a consistent snake_case pattern with product prefix and action verb (e.g., fastbcp_info, fastbcp_preview_export). General tools use arpe_ prefix or search_docs. No mixing of conventions.

Tool Count5/5

17 tools is well-scoped for a server covering four migration tools with info-preview-execute workflows plus general utilities. Each tool serves a distinct purpose without bloat.

Completeness4/5

The tool surface covers the full info-preview-execute lifecycle for each product, plus validation for MigratorXpress and general status/help. Minor gap: no ability to cancel or monitor in-progress executions, but core workflows are supported.

Maintenance

ActivityStale
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    A universal database gateway MCP server that enables AI assistants to connect to and query multiple databases (PostgreSQL, MySQL, MariaDB, SQL Server, SQLite) with support for schema exploration, SQL execution, and secure connections via SSH tunnels.
    25
    -
  • A
    license
    A
    quality
    C
    maintenance
    This MCP server enables database migration between heterogeneous systems (Oracle, PostgreSQL, SQL Server, Netezza to PostgreSQL or SQL Server) through AI assistants by providing tools for command preview, execution, validation, and workflow suggestions.
    6
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A unified MCP server for querying and managing multiple database types (PostgreSQL, MySQL, SQL Server, etc.) via natural language through AI assistants.
    GPL 3.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that gives AI assistants the ability to connect to, query, profile, and monitor data sources — turning any LLM into an interactive data engineering copilot.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/arpe-io/arpeio-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server