Skip to main content
Glama
Mhdd-24
by Mhdd-24

@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 → retry
  1. Discovery — finds subfolders with flyway.toml and flyway_qa.toml / flyway_dev.toml

  2. Repair — fixes schema history checksums before migrate

  3. Migrate — applies pending migrations per environment config

  4. Remediation — on failure, attempts automatic fixes (duplicate versions, placeholders, missing tables) and retries


Related MCP server: MigratorXpress MCP Server

Prerequisites

Requirement

Notes

Node.js 18+

Required for MCP server

Flyway CLI

On PATH (flyway -v works)

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

npm install -g @mhdd_24/flyway-mcp

Option B — npx (no global install)

npx @mhdd_24/flyway-mcp

Option 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.js

Configure 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

FLYWAY_ROOT

Yes

Root folder containing Flyway project directories

FLYWAY_CLI

No

flyway

Flyway executable name or path

FLYWAY_PROJECTS

No

all

Comma-separated project folder names to include

FLYWAY_MAX_RETRIES

No

3

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

List flyway projects

Shows discovered projects and QA/Dev config availability

qa_flyway_migration

QA Flyway Migration

repair + migrate using flyway_qa.toml

dev_flyway_migration

Dev Flyway Migration

repair + migrate using flyway_dev.toml

Optional parameters

Parameter

Applies to

Description

projects

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 repair and retries

JS placeholder (${dbName})

Removes/replaces Flyway placeholder tokens

Missing table (relation does not exist)

Wraps table block in conditional to_regclass check

Some errors (e.g. missing database plugins) cannot be auto-fixed and are reported in the summary.


Troubleshooting

Problem

Fix

FLYWAY_ROOT is not set

Set FLYWAY_ROOT in MCP env

Invalid flag: -configFiles (Windows)

Upgrade to @mhdd_24/flyway-mcp@1.0.1+

No Flyway projects found

Ensure subfolders contain flyway.toml

No Flyway database plugin

Install the Flyway plugin for that database type

Stale version after publish

Restart MCP; npx uses latest unless pinned

More detail: docs/WIKI.md


License

ISC

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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/Mhdd-24/Flyway-MCP'

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