Liquibase Changelog MCP Server — convert natural language to Liquibase changesets
421
A Model Context Protocol (MCP) server that converts natural language descriptions into valid Liquibase XML changesets or Formatted SQL for database schema operations. It runs locally over STDIO transport and uses Liquibase's native Java APIs to generate accurate, validated changesets.
📦 This page covers Docker usage. For full documentation — architecture, the complete tools reference, examples, and non-Docker installation — see the Liquibase documentation site.
This server requires a valid Liquibase Pro license to operate. It validates the license on startup and exits with an error if none is found. Provide your key at runtime via the LIQUIBASE_LICENSE_KEY environment variable.
latest — the most recent stable release1.0.0, 1.0.1, … — specific pinned versionsdocker pull liquibase/liquibase-mcp-changelog-server:latest
docker pull liquibase/liquibase-mcp-changelog-server:1.0.0
docker run -i --rm \
-e LIQUIBASE_LICENSE_KEY="your-license-key-here" \
liquibase/liquibase-mcp-changelog-server:latest
The -i flag is required — the server communicates over STDIO (stdin/stdout). All logging goes to stderr; stdout is reserved for the MCP protocol.
Security note: Passing secrets via
-ecan expose them in shell history anddocker inspectoutput. For repeated use, prefer--env-file:echo "LIQUIBASE_LICENSE_KEY=your-license-key-here" > .env docker run -i --rm --env-file .env liquibase/liquibase-mcp-changelog-server:latest
Add to your claude_desktop_config.json:
{
"mcpServers": {
"liquibase-changelog": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "LIQUIBASE_LICENSE_KEY=your-license-key-here",
"liquibase/liquibase-mcp-changelog-server:latest"
]
}
}
}
Add to your .vscode/mcp.json:
{
"servers": {
"liquibase-changelog": {
"type": "stdio",
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "LIQUIBASE_LICENSE_KEY=your-license-key-here",
"liquibase/liquibase-mcp-changelog-server:latest"
]
}
}
}
Pass additional environment variables to switch output format and target dialect:
{
"mcpServers": {
"liquibase-changelog": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "LIQUIBASE_LICENSE_KEY=your-license-key-here",
"-e", "LIQUIBASE_MCP_OUTPUT_FORMAT=formatted-sql",
"-e", "LIQUIBASE_MCP_SQL_DATABASE=postgresql",
"liquibase/liquibase-mcp-changelog-server:latest"
]
}
}
}
docker mcp profile server add default \
--server docker://liquibase/liquibase-mcp-changelog-server:latest
| Variable | Values | Default | Description |
|---|---|---|---|
LIQUIBASE_LICENSE_KEY | — | (required) | Liquibase Pro license key |
LIQUIBASE_MCP_OUTPUT_FORMAT | xml, formatted-sql, sql | xml | Output format for generated changesets |
LIQUIBASE_MCP_SQL_DATABASE | Database type (see below) | postgresql | Target database for Formatted SQL generation |
LIQUIBASE_MCP_DISABLE_VALIDATION | true, false | false | Skip H2 validation for performance |
LIQUIBASE_MCP_INCLUDE_ROLLBACK | true, false | false | Generate explicit rollback blocks in the generated changeset |
Supported databases: PostgreSQL, MySQL, MariaDB, H2, Oracle, MSSQL, DB2, Sybase, SQLite, HSQLDB, Derby, Firebird (12 dialects, via Liquibase 5.0.2's database abstraction layer).
Thirty tools that generate and validate changesets for database schema operations:
Generated changesets are automatically validated against an in-memory H2 database before being returned (configurable).
For the complete tools reference, architecture, integration guides, examples, and non-Docker installation options (Maven Central, JBang, pre-built JAR), see the Liquibase documentation site.
Content type
Image
Digest
sha256:8d8a4b3d0…
Size
116.2 MB
Last updated
3 months ago
docker pull liquibase/liquibase-mcp-changelog-server