@mhdd_24/flyway-mcp
Run Flyway repair + migrate across multiple database projects for QA or Dev environments from an MCP-compatible client.
List discovered Flyway projects under
FLYWAY_ROOTand show QA/Dev config availability.Run QA Flyway Migration:
repair+migrateusing each project’sflyway_qa.toml.Run Dev Flyway Migration:
repair+migrateusing each project’sflyway_dev.toml.Optionally limit migration runs to specific project folder names via the
projectsparameter.Automatically remediate common failures where possible: duplicate migration versions, checksum mismatches, Flyway placeholder errors in JS migrations, and missing-table errors, then retry.
Automates Flyway database migrations across multiple projects, including project discovery, repair, and migration with automatic error remediation for duplicate versions, checksum mismatches, and missing tables.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@@mhdd_24/flyway-mcp QA Flyway Migration"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@mhdd_24/flyway-mcp
MCP server that runs Flyway repair + migrate across multiple database projects for QA or Development environments. Use it from Cursor, Claude Desktop, VS Code Copilot, or any MCP-compatible client.
Say "QA Flyway Migration" or "Dev Flyway Migration" in chat — the assistant calls the matching tool automatically.
Full documentation: docs/WIKI.md
How it works (30 seconds)
You (chat) → MCP client → flyway-mcp → discover projects under FLYWAY_ROOT
→ flyway repair + migrate (per project)
→ auto-remediate common errors → retryDiscovery — finds subfolders with
flyway.tomlandflyway_qa.toml/flyway_dev.tomlRepair — fixes schema history checksums before migrate
Migrate — applies pending migrations per environment config (always executes scripts;
skipExecutingMigrationsis forced off)Remediation — on failure, attempts automatic fixes (duplicate versions, placeholders, missing tables) and retries
Related MCP server: coalesce-transform-mcp
Prerequisites
Requirement | Notes |
Node.js 18+ | Required for MCP server |
Flyway CLI | On PATH ( |
Java | Required by Flyway |
FLYWAY_ROOT | Path to folder containing your Flyway project directories |
Expected project layout
Each project is a subfolder under FLYWAY_ROOT:
flyway-projects/
├── service-a-db/
│ ├── flyway.toml
│ ├── flyway_qa.toml
│ ├── flyway_dev.toml
│ └── migrations/
└── service-b-db/
├── flyway.toml
└── migrations/Install
Option A — npm (recommended)
npm install -g @mhdd_24/flyway-mcpOption B — npx (no global install)
npx @mhdd_24/flyway-mcpOption C — clone and build (contributors)
git clone https://github.com/Mhdd-24/Flyway-MCP.git
cd Flyway-MCP
npm install
npm run build
node dist/index.jsConfigure your MCP client
Cursor
Edit Cursor Settings → MCP or ~/.cursor/mcp.json:
{
"mcpServers": {
"flyway": {
"command": "npx",
"args": ["-y", "@mhdd_24/flyway-mcp"],
"env": {
"FLYWAY_ROOT": "/path/to/your/flyway-projects",
"FLYWAY_CLI": "flyway",
"FLYWAY_MAX_RETRIES": "3"
}
}
}
}After global install:
"command": "flyway-mcp"Local development:
"command": "node",
"args": ["C:/path/to/flyway-mcp/dist/index.js"]Restart Cursor after saving.
Optional: limit projects
"FLYWAY_PROJECTS": "service-a-db,service-b-db"Environment variables
Variable | Required | Default | Purpose |
| Yes | — | Root folder containing Flyway project directories |
| No |
| Flyway executable name or path |
| No | all | Comma-separated project folder names to include |
| No |
| Repair/migrate/fix retry cycles per project |
Never commit database credentials. Keep connection strings in flyway_qa.toml / flyway_dev.toml inside each project (not in MCP env).
Tools
Tool | Trigger phrase | Purpose |
| List flyway projects | Shows discovered projects and QA/Dev config availability |
| QA Flyway Migration |
|
| Dev Flyway Migration |
|
Optional parameters
Parameter | Applies to | Description |
| migration tools | Array of project folder names (default: all discovered) |
Usage
List projects
List flyway projects
QA migration (all projects)
QA Flyway Migration
Dev migration (single project)
Dev Flyway Migration for service-a-db
Automatic remediation
On migration failure, the server may automatically:
Error | Fix |
Duplicate migration version | Renames duplicate files to next available version |
Checksum mismatch | Runs |
JS placeholder ( | Removes/replaces Flyway placeholder tokens |
Missing table ( | Wraps table block in conditional |
Some errors (e.g. missing database plugins) cannot be auto-fixed and are reported in the summary.
Troubleshooting
Problem | Fix |
| Set |
| Upgrade to |
| Upgrade to 1.0.3+ — paths resolve under |
History shows | Do not use |
| Ensure subfolders contain |
| Install the Flyway plugin for that database type |
Edited already-applied migration does nothing | Expected — add a new version or run SQL manually after |
Stale version after publish | Restart MCP; |
More detail: docs/WIKI.md
License
ISC
Available Tools
3 toolsdev_flyway_migrationB
Dev Flyway Migration: run flyway repair and migrate for all configured projects against the Development environment. Use when the user says "Dev Flyway Migration". Automatically fixes duplicate versions, checksum mismatches, Flyway placeholder errors in JS migrations, and missing-table failures where possible.
Inputs: projects.
list_flyway_projectsB
List Flyway projects discovered under FLYWAY_ROOT with QA/Dev config availability.
Inputs: no named parameters.
qa_flyway_migrationA
QA Flyway Migration: run flyway repair and migrate for all configured projects against the QA environment. Use when the user says "QA Flyway Migration". Automatically fixes duplicate versions, checksum mismatches, Flyway placeholder errors in JS migrations, and missing-table failures where possible.
Inputs: projects.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: listing projects versus running migrations against QA or Dev. The QA and Dev migration tools are only differentiated by environment, which is explicitly named in both the tool name and description, so misselection is unlikely.
All tools use snake_case and follow a predictable semantic pattern. The only minor deviation is that one tool leads with an action verb (list_) while the others lead with an environment qualifier (qa_/dev_), but the pattern remains readable and consistent.
Three tools is well-scoped for a Flyway migration helper focused on discovery and two environment-specific operations. Each tool earns its place without redundancy.
The surface covers listing projects and migrating QA/Dev, but lacks notable lifecycle operations such as per-project targeting, status/validate, rollback/undo, and any production environment path. Agents can work around some gaps, but key migration management operations are missing.
Maintenance
Related MCP Connectors
The MCP server for Azure DevOps, bringing the power of Azure DevOps directly to your agents.
A MCP server built for developers enabling Git based project management with project and personal…
MCP server for Product Management
Related MCP Servers
- AlicenseAqualityDmaintenanceThis 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.6MIT
- AlicenseAqualityAmaintenanceMCP server for Coalesce that manages nodes, pipelines, environments, jobs, and runs, and enables project validation, DDL/DML preview, deployment planning, and cloud environment application.100195 npm2MIT
- AlicenseCqualityFmaintenanceMCP server for project management automation, providing tools for project health, documentation, task management, security scanning, and CI/CD validation.271MIT
- AlicenseBqualityDmaintenanceMCP Server for Git operations, agent templates, and project utilities.952 npmMIT