Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Liquibase Changelog MCP Server

OCI · GHCR.IO/LIQUIBASE/LIQUIBASE-MCP-CHANGELOG-SERVER:1.0.0 · SCANNED SEP 21

Convert natural language into validated Liquibase XML or SQL changesets. 19 tools, 12 databases.

0 this week 38 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security0
  • Malware scan not yet available for this package.Unverified
  • Known CVEs could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency health could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
Provenance & Transparency6
Schema Quality & AI Usability63
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 9648 tokens (~321/item across 30 items; 30 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management90
  • Stability observed for 27 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 11 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "drop_procedure" implies "drop" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 30 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities20
  • Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28. See how to fix → Fail

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Install

How do I install the Liquibase Changelog MCP Server server?

Liquibase Changelog MCP Server runs locally as a container image, launched with docker run --rm -i ghcr.io/liquibase/liquibase-mcp-changelog-server:1.0.0. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.

oci · ghcr.io/liquibase/liquibase-mcp-changelog-server:1.0.0

# add to Claude Code
claude mcp add liquibase-changelog-mcp-server -- docker run --rm -i ghcr.io/liquibase/liquibase-mcp-changelog-server:1.0.0
// .cursor/mcp.json
{
  "mcpServers": {
    "liquibase-changelog-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/liquibase/liquibase-mcp-changelog-server:1.0.0"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "liquibase-changelog-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/liquibase/liquibase-mcp-changelog-server:1.0.0"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add liquibase-changelog-mcp-server -- docker run --rm -i ghcr.io/liquibase/liquibase-mcp-changelog-server:1.0.0
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "liquibase-changelog-mcp-server": {
      "type": "local",
      "command": [
        "docker",
        "run",
        "--rm",
        "-i",
        "ghcr.io/liquibase/liquibase-mcp-changelog-server:1.0.0"
      ],
      "enabled": true
    }
  }
}
# ~/.hermes/config.yaml
mcp_servers:
  liquibase-changelog-mcp-server:
    command: "docker"
    args: ["run", "--rm", "-i", "ghcr.io/liquibase/liquibase-mcp-changelog-server:1.0.0"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "liquibase-changelog-mcp-server": {
      "Transport": "stdio",
      "Command": "docker",
      "Arguments": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/liquibase/liquibase-mcp-changelog-server:1.0.0"
      ]
    }
  }
}
// mcp.json
{
  "mcpServers": {
    "liquibase-changelog-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/liquibase/liquibase-mcp-changelog-server:1.0.0"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 18 Sept 26 −3
    • Stability: pass → 0.80 functional
  • 17 Sept 26 +1
    • Stability: 0.97 → pass security
  • 15 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

  • 13 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 12 Sept 26 −3
    • Stability: pass → 0.83 functional
  • 11 Sept 26 +1
    • Stability: 0.97 → pass security
  • 9 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 21 Sept 2026 · Analysed oci/ghcr.io/liquibase/liquibase-mcp-changelog-server:1.0.0

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem oci
Reason No attestation published

Background: How many MCP packages publish verified provenance →

MCP tools · 30 exposed · ~9,648 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
add_check_constraint ~298

Generate a Liquibase Pro changeset for adding a CHECK constraint (pro:addCheckConstraint)

NameTypeReqDescription
authorstringChangeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestringCatalog name (optional)
changesetIdstringExplicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
constraintBodystringyesThe check condition expression (e.g. amount > 0)
constraintNamestringyesName of the check constraint
contextstringChangeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderbooleanWhen false, omit the document wrapper. Default: true.
labelsstringChangeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangebooleanWhen true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestringSchema name (optional)
tableNamestringyesName of the table to add the check constraint to

No output schema declared.

No examples provided.

add_column ~291

Generate a Liquibase changeset for adding columns to an existing table

NameTypeReqDescription
authorstringChangeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestringCatalog name (optional)
changesetIdstringExplicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
columnsarrayyesColumns to add
contextstringChangeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderbooleanWhen false, omit the document wrapper (XML declaration + root element, or --liquibase formatted sql header). Set to false when appending to an existing changelog. Default: true.
labelsstringChangeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangebooleanWhen true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestringSchema name (optional)
tableNamestringyesName of the table

No output schema declared.

No examples provided.

add_foreign_key ~487

Generate a Liquibase changeset for adding a foreign key constraint between two tables

NameTypeReqDescription
authorstringChangeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
baseColumnNamesstringyesComma-separated column name(s) in the base table that form the foreign key
baseTableCatalogNamestringCatalog name for the base table (optional)
baseTableNamestringyesName of the base (child) table holding the foreign key column(s)
baseTableSchemaNamestringSchema name for the base table (optional)
changesetIdstringExplicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
constraintNamestringyesName of the foreign key constraint
contextstringChangeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
deferrablebooleanWhether the foreign key is deferrable (optional)
includeHeaderbooleanWhen false, omit the document wrapper. Default: true.
initiallyDeferredbooleanWhether the foreign key is initially deferred (optional)
labelsstringChangeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
onDeletestringON DELETE action: CASCADE, SET NULL, SET DEFAULT, RESTRICT, or NO ACTION (optional)
onUpdatestringON UPDATE action: CASCADE, SET NULL, SET DEFAULT, RESTRICT, or NO ACTION (optional)
referencedColumnNamesstringyesComma-separated column name(s) in the referenced table
referencedTableCatalogNamestringCatalog name for the referenced table (optional)
referencedTableNamestringyesName of the referenced (parent) table
referencedTableSchemaNamestringSchema name for the referenced table (optional)
runOnChangebooleanWhen true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.

No output schema declared.

No examples provided.

add_primary_key ~378

Generate a Liquibase changeset for adding a primary key constraint to an existing table

NameTypeReqDescription
authorstringChangeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestringCatalog name (optional)
changesetIdstringExplicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
clusteredbooleanWhether the primary key index is clustered (SQL Server)
columnNamesstringyesComma-separated column name(s) that form the primary key (e.g. "id" or "tenant_id, id")
constraintNamestringName for the primary key constraint (optional but strongly recommended)
contextstringChangeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderbooleanWhen false, omit the document wrapper (XML declaration + root element, or --liquibase formatted sql header). Set to false when appending to an existing changelog. Default: true.
labelsstringChangeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangebooleanWhen true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestringSchema name (optional)
tableNamestringyesName of the table to add the primary key to
tablespacestringTablespace / file group (optional; MSSQL)

No output schema declared.

No examples provided.

add_unique_constraint ~386

Generate a Liquibase changeset for adding a unique constraint on one or more columns

NameTypeReqDescription
authorstringChangeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestringCatalog name (optional)
changesetIdstringExplicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
clusteredbooleanWhether the backing index is clustered (SQL Server)
columnNamesstringyesComma-separated column name(s) that form the unique constraint
constraintNamestringyesName of the unique constraint
contextstringChangeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
deferrablebooleanWhether the unique constraint is deferrable (optional)
disabledbooleanWhether the unique constraint is created in a disabled state (optional)
includeHeaderbooleanWhen false, omit the document wrapper. Default: true.
initiallyDeferredbooleanWhether the unique constraint is initially deferred (optional)
labelsstringChangeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangebooleanWhen true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestringSchema name (optional)
tableNamestringyesName of the table to add the unique constraint to
tablespacestringTablespace / file group (optional; MSSQL)

No output schema declared.

No examples provided.

create_function ~382

Generate a Liquibase Pro changeset for creating a stored function (pro:createFunction)

NameTypeReqDescription
authorstringChangeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestringCatalog name (optional)
changesetIdstringExplicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstringChangeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
externalFilePathstringPath to an external .sql file containing the function body (XML mode only). When provided, generates path= attribute instead of inline SQL. Either functionBody or externalFilePath is required.
functionBodystringSQL body of the function (e.g. CREATE FUNCTION ...). Required unless externalFilePath is provided.
functionNamestringyesName of the function to create
includeHeaderbooleanWhen false, omit the document wrapper. Default: true.
labelsstringChangeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
relativeToChangelogFilebooleanWhen externalFilePath is set, whether the path is relative to the changelog file (default true)
replaceIfExistsbooleanWhether to replace the function if it already exists
runOnChangebooleanWhen true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestringSchema name (optional)

No output schema declared.

No examples provided.

create_index ~342

Generate a Liquibase changeset for creating an index

NameTypeReqDescription
authorstringChangeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestringCatalog name (optional)
changesetIdstringExplicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
clusteredbooleanWhether the index is clustered (SQL Server). When true, generates clustered="true" on the XML element.
columnsarrayyesColumn names to include in index
contextstringChangeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderbooleanWhen false, omit the document wrapper (XML declaration + root element, or --liquibase formatted sql header). Set to false when appending to an existing changelog. Default: true.
indexNamestringyesName of the index
labelsstringChangeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangebooleanWhen true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestringSchema name (optional)
tableNamestringyesName of the table
uniquebooleanWhether index is unique

No output schema declared.

No examples provided.

create_procedure ~404

Generate a Liquibase changeset for creating a stored procedure

NameTypeReqDescription
authorstringChangeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestringCatalog name (optional)
changesetIdstringExplicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstringChangeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
externalFilePathstringPath to an external .sql file containing the procedure body (XML mode only). When provided, generates path= attribute instead of inline SQL. Either procedureText or externalFilePath is required.
includeHeaderbooleanWhen false, omit the document wrapper (XML declaration + root element, or --liquibase formatted sql header). Set to false when appending to an existing changelog. Default: true.
labelsstringChangeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
procedureNamestringName of the procedure (optional, can be extracted from SQL)
procedureTextstringSQL text of the procedure to create. Required unless externalFilePath is provided.
relativeToChangelogFilebooleanWhen externalFilePath is set, whether the path is relative to the changelog file (default true)
replaceIfExistsbooleanWhether to replace procedure if it exists
runOnChangebooleanWhen true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestringSchema name (optional)

No output schema declared.

No examples provided.

create_sequence ~419

Generate Liquibase XML changeset for creating a database sequence

NameTypeReqDescription
authorstringChangeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
cacheSizeintegerNumber of sequence values to cache (optional)
catalogNamestringCatalog name containing the sequence (optional)
changesetIdstringExplicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstringChangeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
cyclebooleanWhether the sequence should cycle when it reaches max/min value
dataTypestringData type for the sequence (optional, e.g., BIGINT)
includeHeaderbooleanWhen false, omit the document wrapper (XML declaration + root element, or --liquibase formatted sql header). Set to false when appending to an existing changelog. Default: true.
incrementByintegerIncrement value for the sequence (optional, default 1)
labelsstringChangeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
maxValueintegerMaximum value for the sequence (optional)
minValueintegerMinimum value for the sequence (optional)
orderedbooleanWhether sequence values should be ordered
runOnChangebooleanWhen true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestringSchema name containing the sequence (optional)
sequenceNamestringyesName of the sequence to create
startValueintegerStarting value for the sequence (optional)

No output schema declared.

No examples provided.

create_table ~317

Generate a Liquibase changeset for creating a new table

NameTypeReqDescription
authorstringChangeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestringCatalog name (optional)
changesetIdstringExplicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
columnsarrayyesArray of column definitions
contextstringChangeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderbooleanWhen false, omit the document wrapper (XML declaration + root element, or --liquibase formatted sql header). Set to false when appending to an existing changelog. Default: true.
labelsstringChangeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
remarksstringTable remarks/comments (optional)
runOnChangebooleanWhen true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestringSchema name (optional)
tableNamestringyesName of the table to create
tablespacestringTablespace name (optional)

No output schema declared.

No examples provided.

create_trigger ~370

Generate a Liquibase Pro changeset for creating a database trigger (pro:createTrigger)

NameTypeReqDescription
authorstringChangeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestringCatalog name (optional)
changesetIdstringExplicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstringChangeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
externalFilePathstringPath to an external .sql file containing the trigger body (XML mode only). Either triggerBody or externalFilePath is required.
includeHeaderbooleanWhen false, omit the document wrapper. Default: true.
labelsstringChangeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
relativeToChangelogFilebooleanWhen externalFilePath is set, whether the path is relative to the changelog file (default true)
runOnChangebooleanWhen true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestringSchema name (optional)
tableNamestringyesName of the table the trigger is associated with
triggerBodystringSQL body of the trigger (e.g. CREATE TRIGGER ...). Required unless externalFilePath is provided.
triggerNamestringyesName of the trigger to create

No output schema declared.

No examples provided.

create_view ~419

Generate Liquibase XML changeset for creating a database view

NameTypeReqDescription
authorstringChangeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestringCatalog name containing the view (optional)
changesetIdstringExplicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstringChangeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
externalFilePathstringPath to an external .sql file containing the view SELECT query (XML mode only). When provided, generates path= attribute instead of inline SQL. Either selectQuery or externalFilePath is required.
includeHeaderbooleanWhen false, omit the document wrapper (XML declaration + root element, or --liquibase formatted sql header). Set to false when appending to an existing changelog. Default: true.
labelsstringChangeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
relativeToChangelogFilebooleanWhen externalFilePath is set, whether the path is relative to the changelog file (default true)
remarksstringComments about the view (optional)
replaceIfExistsbooleanWhether to replace the view if it already exists
runOnChangebooleanWhen true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestringSchema name containing the view (optional)
selectQuerystringSQL SELECT query that defines the view. Required unless externalFilePath is provided.
viewNamestringyesName of the view to create

No output schema declared.

No examples provided.

drop_column ~291

Generate a Liquibase changeset for dropping columns from an existing table

NameTypeReqDescription
authorstringChangeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestringCatalog name (optional)
changesetIdstringExplicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
columnsarrayyesColumns to drop
contextstringChangeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderbooleanWhen false, omit the document wrapper (XML declaration + root element, or --liquibase formatted sql header). Set to false when appending to an existing changelog. Default: true.
labelsstringChangeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangebooleanWhen true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestringSchema name (optional)
tableNamestringyesName of the table

No output schema declared.

No examples provided.

drop_foreign_key ~293

Generate a Liquibase changeset for dropping a foreign key constraint

NameTypeReqDescription
authorstringChangeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
baseTableCatalogNamestringCatalog name for the base table (optional)
baseTableNamestringyesName of the base (child) table the constraint was added to
baseTableSchemaNamestringSchema name for the base table (optional)
changesetIdstringExplicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
constraintNamestringyesName of the foreign key constraint to drop
contextstringChangeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderbooleanWhen false, omit the document wrapper. Default: true.
labelsstringChangeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangebooleanWhen true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.

No output schema declared.

No examples provided.

drop_function ~260

Generate a Liquibase Pro changeset for dropping a stored function (pro:dropFunction)

NameTypeReqDescription
authorstringChangeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestringCatalog name (optional)
changesetIdstringExplicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstringChangeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
functionNamestringyesName of the function to drop
includeHeaderbooleanWhen false, omit the document wrapper. Default: true.
labelsstringChangeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangebooleanWhen true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestringSchema name (optional)

No output schema declared.

No examples provided.

drop_index ~292

Generate a Liquibase changeset for dropping an index

NameTypeReqDescription
authorstringChangeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestringCatalog name (optional)
changesetIdstringExplicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstringChangeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderbooleanWhen false, omit the document wrapper (XML declaration + root element, or --liquibase formatted sql header). Set to false when appending to an existing changelog. Default: true.
indexNamestringyesName of the index to drop
labelsstringChangeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangebooleanWhen true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestringSchema name (optional)
tableNamestringyesName of the table

No output schema declared.

No examples provided.

drop_primary_key ~308

Generate a Liquibase changeset for dropping a primary key constraint from an existing table

NameTypeReqDescription
authorstringChangeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestringCatalog name (optional)
changesetIdstringExplicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
constraintNamestringName of the primary key constraint to drop (optional on some databases, required on others)
contextstringChangeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
dropIndexbooleanWhether to drop the index backing the primary key (optional)
includeHeaderbooleanWhen false, omit the document wrapper. Default: true.
labelsstringChangeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangebooleanWhen true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestringSchema name (optional)
tableNamestringyesName of the table to drop the primary key from

No output schema declared.

No examples provided.

drop_procedure ~282

Generate a Liquibase changeset for dropping a stored procedure

NameTypeReqDescription
authorstringChangeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestringCatalog name (optional)
changesetIdstringExplicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstringChangeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderbooleanWhen false, omit the document wrapper (XML declaration + root element, or --liquibase formatted sql header). Set to false when appending to an existing changelog. Default: true.
labelsstringChangeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
procedureNamestringyesName of the procedure to drop
runOnChangebooleanWhen true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestringSchema name (optional)

No output schema declared.

No examples provided.

drop_sequence ~287

Generate Liquibase XML changeset for dropping a database sequence

NameTypeReqDescription
authorstringChangeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestringCatalog name containing the sequence (optional)
changesetIdstringExplicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstringChangeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderbooleanWhen false, omit the document wrapper (XML declaration + root element, or --liquibase formatted sql header). Set to false when appending to an existing changelog. Default: true.
labelsstringChangeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangebooleanWhen true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestringSchema name containing the sequence (optional)
sequenceNamestringyesName of the sequence to drop

No output schema declared.

No examples provided.

drop_table ~280

Generate a Liquibase changeset for dropping a table

NameTypeReqDescription
authorstringChangeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestringCatalog name (optional)
changesetIdstringExplicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstringChangeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderbooleanWhen false, omit the document wrapper (XML declaration + root element, or --liquibase formatted sql header). Set to false when appending to an existing changelog. Default: true.
labelsstringChangeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangebooleanWhen true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestringSchema name (optional)
tableNamestringyesName of the table to drop

No output schema declared.

No examples provided.

drop_trigger ~277

Generate a Liquibase Pro changeset for dropping a database trigger (pro:dropTrigger)

NameTypeReqDescription
authorstringChangeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestringCatalog name (optional)
changesetIdstringExplicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstringChangeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderbooleanWhen false, omit the document wrapper. Default: true.
labelsstringChangeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangebooleanWhen true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestringSchema name (optional)
tableNamestringyesName of the table the trigger is associated with
triggerNamestringyesName of the trigger to drop

No output schema declared.

No examples provided.

drop_unique_constraint ~304

Generate a Liquibase changeset for dropping a unique constraint

NameTypeReqDescription
authorstringChangeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestringCatalog name (optional)
changesetIdstringExplicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
constraintNamestringyesName of the unique constraint to drop
contextstringChangeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderbooleanWhen false, omit the document wrapper. Default: true.
labelsstringChangeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangebooleanWhen true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestringSchema name (optional)
tableNamestringyesName of the table the unique constraint was added to
uniqueColumnsstringComma-separated column name(s) (optional; used by databases that identify uniques by columns rather than constraint name)

No output schema declared.

No examples provided.

drop_view ~332

Generate Liquibase XML changeset for dropping a database view

NameTypeReqDescription
authorstringChangeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestringCatalog name containing the view (optional)
changesetIdstringExplicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstringChangeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
ifExistsbooleanWhen true, generate DROP VIEW IF EXISTS so deploy is a no-op if the view is already gone. Supported on PostgreSQL, H2, MariaDB (not Oracle/Firebird).
includeHeaderbooleanWhen false, omit the document wrapper (XML declaration + root element, or --liquibase formatted sql header). Set to false when appending to an existing changelog. Default: true.
labelsstringChangeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangebooleanWhen true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestringSchema name containing the view (optional)
viewNamestringyesName of the view to drop

No output schema declared.

No examples provided.

modify_column ~297

Generate a Liquibase changeset for modifying column data type

NameTypeReqDescription
authorstringChangeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestringCatalog name (optional)
changesetIdstringExplicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
columnsarrayyesColumns to modify (only one column supported per changeset)
contextstringChangeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderbooleanWhen false, omit the document wrapper (XML declaration + root element, or --liquibase formatted sql header). Set to false when appending to an existing changelog. Default: true.
labelsstringChangeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangebooleanWhen true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestringSchema name (optional)
tableNamestringyesName of the table

No output schema declared.

No examples provided.

rename_column ~342

Generate a Liquibase changeset for renaming a column

NameTypeReqDescription
authorstringChangeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestringCatalog name (optional)
changesetIdstringExplicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
columnDataTypestringColumn data type (optional, for type safety)
contextstringChangeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderbooleanWhen false, omit the document wrapper (XML declaration + root element, or --liquibase formatted sql header). Set to false when appending to an existing changelog. Default: true.
labelsstringChangeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
newColumnNamestringyesNew name for the column
oldColumnNamestringyesCurrent name of the column to rename
remarksstringColumn remarks/comments (optional)
runOnChangebooleanWhen true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestringSchema name (optional)
tableNamestringyesName of the table containing the column

No output schema declared.

No examples provided.

rename_sequence ~304

Generate Liquibase XML changeset for renaming a database sequence

NameTypeReqDescription
authorstringChangeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestringCatalog name containing the sequence (optional)
changesetIdstringExplicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstringChangeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderbooleanWhen false, omit the document wrapper (XML declaration + root element, or --liquibase formatted sql header). Set to false when appending to an existing changelog. Default: true.
labelsstringChangeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
newSequenceNamestringyesNew name for the sequence
oldSequenceNamestringyesCurrent name of the sequence to rename
runOnChangebooleanWhen true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestringSchema name containing the sequence (optional)

No output schema declared.

No examples provided.

rename_table ~297

Generate a Liquibase changeset for renaming a table

NameTypeReqDescription
authorstringChangeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestringCatalog name (optional)
changesetIdstringExplicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstringChangeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderbooleanWhen false, omit the document wrapper (XML declaration + root element, or --liquibase formatted sql header). Set to false when appending to an existing changelog. Default: true.
labelsstringChangeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
newTableNamestringyesNew name for the table
oldTableNamestringyesCurrent name of the table to rename
runOnChangebooleanWhen true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestringSchema name (optional)

No output schema declared.

No examples provided.

sql ~313

Generate Liquibase XML changeset for executing raw SQL statements

NameTypeReqDescription
authorstringChangeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
changesetIdstringExplicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstringChangeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
dbmsstringDatabase-specific execution
endDelimiterstringCustom statement delimiter (default ;)
includeHeaderbooleanWhen false, omit the document wrapper (XML declaration + root element, or --liquibase formatted sql header). Set to false when appending to an existing changelog. Default: true.
labelsstringChangeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangebooleanWhen true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
splitStatementsbooleanWhether to split on delimiters (default true)
sqlstringyesThe SQL statement(s) to execute
stripCommentsbooleanWhether to strip SQL comments (default true)

No output schema declared.

No examples provided.

sql_file ~346

Generate Liquibase XML changeset for executing SQL from external files

NameTypeReqDescription
authorstringChangeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
changesetIdstringExplicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstringChangeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
dbmsstringDatabase-specific execution
encodingstringFile encoding (default UTF-8)
endDelimiterstringCustom statement delimiter (default ;)
includeHeaderbooleanWhen false, omit the document wrapper (XML declaration + root element, or --liquibase formatted sql header). Set to false when appending to an existing changelog. Default: true.
labelsstringChangeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
pathstringyesPath to the SQL file
relativeToChangelogFilebooleanPath relative to changelog (default false)
runOnChangebooleanWhen true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
splitStatementsbooleanWhether to split on delimiters (default true)
stripCommentsbooleanWhether to strip SQL comments (default true)

No output schema declared.

No examples provided.

validate ~50

Validate a Liquibase changeset (XML or Formatted SQL) against an in-memory H2 database

NameTypeReqDescription
changesetXmlstringyesLiquibase changeset (XML or Formatted SQL) to validate

No output schema declared.

No examples provided.

Common questions

What is the Liquibase Changelog MCP Server server?

Liquibase Changelog MCP Server is listed in the public MCP registry as io.github.liquibase/changelog-mcp-server. Convert natural language into validated Liquibase XML or SQL changesets. 19 tools, 12 databases. This page covers its container image (ghcr.io/liquibase/liquibase-mcp-changelog-server:1.0.0).

Is the Liquibase Changelog MCP Server server safe to use?

Liquibase Changelog MCP Server scores 38 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Liquibase Changelog MCP Server server expose?

Liquibase Changelog MCP Server exposes 30 tools: add_foreign_key, add_column, rename_column, drop_procedure, drop_table, and 25 more. Their descriptions and schemas cost roughly 9,648 tokens of context every time the server is loaded.

Is the Liquibase Changelog MCP Server server still maintained?

Liquibase Changelog MCP Server is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.