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

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

−3 this week 37 Trust /100

Last scanned (6 hours ago)

Scores higher than 37% of OCI servers

Category Databases

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
  • No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
  • Known CVEs could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency health could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.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 Management80
  • Stability observed for 24 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.

What we tested

Checks we ran (11)

  • Source repository
  • Provenance
  • License
  • Maintenance
  • Schema quality
  • Stability
  • Tool coverage
  • Injection markers
  • Destructive annotations
  • Judged manipulation
  • MCP protocol

Checks we could not complete (5)

These are gaps on our side, not findings about this package. We only credit what we can confirm, so a category made up entirely of them scores 0.

  • Malware scan in Supply Chain Security (scores 0 for this)No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.
  • Known CVEs in Supply Chain Security (scores 0 for this)Known CVEs could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.
  • Install scripts in Supply Chain Security (scores 0 for this)Install-script risk not yet assessed.
  • Dependency health in Supply Chain Security (scores 0 for this)Dependency health could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.
  • Security disclosure in Provenance & TransparencySecurity-disclosure policy not yet verified: we couldn't inspect the source repository.

Does not apply to this package (2)

  • Endpoint SecurityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.
  • Transport & ReachabilityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.

The score does not measure everything. What the score does not measure →

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.

  • 6 Nov 26 −3
    • Stability: pass → 0.80 functional
  • 22 Oct 26 +1
    • Stability: 0.97 → pass security
  • 21 Oct 26 −1
    • Stability: pass → 0.97 functional
  • 17 Oct 26 +3
    • Stability: 0.80 → pass security
  • 16 Oct 26 −3
    • Stability: pass → 0.80 functional
  • 15 Oct 26 +1
    • Stability: 0.97 → pass security
  • 13 Oct 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.

  • 12 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 90. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 27 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 6 Nov 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
authorstring–Changeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestring–Catalog name (optional)
changesetIdstring–Explicit 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
contextstring–Changeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderboolean–When false, omit the document wrapper. Default: true.
labelsstring–Changeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangeboolean–When true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestring–Schema 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
authorstring–Changeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestring–Catalog name (optional)
changesetIdstring–Explicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
columnsarrayyesColumns to add
contextstring–Changeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderboolean–When 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.
labelsstring–Changeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangeboolean–When true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestring–Schema 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
authorstring–Changeset 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
baseTableCatalogNamestring–Catalog name for the base table (optional)
baseTableNamestringyesName of the base (child) table holding the foreign key column(s)
baseTableSchemaNamestring–Schema name for the base table (optional)
changesetIdstring–Explicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
constraintNamestringyesName of the foreign key constraint
contextstring–Changeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
deferrableboolean–Whether the foreign key is deferrable (optional)
includeHeaderboolean–When false, omit the document wrapper. Default: true.
initiallyDeferredboolean–Whether the foreign key is initially deferred (optional)
labelsstring–Changeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
onDeletestring–ON DELETE action: CASCADE, SET NULL, SET DEFAULT, RESTRICT, or NO ACTION (optional)
onUpdatestring–ON UPDATE action: CASCADE, SET NULL, SET DEFAULT, RESTRICT, or NO ACTION (optional)
referencedColumnNamesstringyesComma-separated column name(s) in the referenced table
referencedTableCatalogNamestring–Catalog name for the referenced table (optional)
referencedTableNamestringyesName of the referenced (parent) table
referencedTableSchemaNamestring–Schema name for the referenced table (optional)
runOnChangeboolean–When 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
authorstring–Changeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestring–Catalog name (optional)
changesetIdstring–Explicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
clusteredboolean–Whether 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")
constraintNamestring–Name for the primary key constraint (optional but strongly recommended)
contextstring–Changeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderboolean–When 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.
labelsstring–Changeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangeboolean–When true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestring–Schema name (optional)
tableNamestringyesName of the table to add the primary key to
tablespacestring–Tablespace / 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
authorstring–Changeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestring–Catalog name (optional)
changesetIdstring–Explicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
clusteredboolean–Whether the backing index is clustered (SQL Server)
columnNamesstringyesComma-separated column name(s) that form the unique constraint
constraintNamestringyesName of the unique constraint
contextstring–Changeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
deferrableboolean–Whether the unique constraint is deferrable (optional)
disabledboolean–Whether the unique constraint is created in a disabled state (optional)
includeHeaderboolean–When false, omit the document wrapper. Default: true.
initiallyDeferredboolean–Whether the unique constraint is initially deferred (optional)
labelsstring–Changeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangeboolean–When true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestring–Schema name (optional)
tableNamestringyesName of the table to add the unique constraint to
tablespacestring–Tablespace / 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
authorstring–Changeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestring–Catalog name (optional)
changesetIdstring–Explicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstring–Changeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
externalFilePathstring–Path 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.
functionBodystring–SQL body of the function (e.g. CREATE FUNCTION ...). Required unless externalFilePath is provided.
functionNamestringyesName of the function to create
includeHeaderboolean–When false, omit the document wrapper. Default: true.
labelsstring–Changeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
relativeToChangelogFileboolean–When externalFilePath is set, whether the path is relative to the changelog file (default true)
replaceIfExistsboolean–Whether to replace the function if it already exists
runOnChangeboolean–When true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestring–Schema name (optional)

No output schema declared.

No examples provided.

create_index ~342

Generate a Liquibase changeset for creating an index

NameTypeReqDescription
authorstring–Changeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestring–Catalog name (optional)
changesetIdstring–Explicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
clusteredboolean–Whether the index is clustered (SQL Server). When true, generates clustered="true" on the XML element.
columnsarrayyesColumn names to include in index
contextstring–Changeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderboolean–When 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
labelsstring–Changeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangeboolean–When true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestring–Schema name (optional)
tableNamestringyesName of the table
uniqueboolean–Whether index is unique

No output schema declared.

No examples provided.

create_procedure ~404

Generate a Liquibase changeset for creating a stored procedure

NameTypeReqDescription
authorstring–Changeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestring–Catalog name (optional)
changesetIdstring–Explicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstring–Changeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
externalFilePathstring–Path 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.
includeHeaderboolean–When 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.
labelsstring–Changeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
procedureNamestring–Name of the procedure (optional, can be extracted from SQL)
procedureTextstring–SQL text of the procedure to create. Required unless externalFilePath is provided.
relativeToChangelogFileboolean–When externalFilePath is set, whether the path is relative to the changelog file (default true)
replaceIfExistsboolean–Whether to replace procedure if it exists
runOnChangeboolean–When true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestring–Schema name (optional)

No output schema declared.

No examples provided.

create_sequence ~419

Generate Liquibase XML changeset for creating a database sequence

NameTypeReqDescription
authorstring–Changeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
cacheSizeinteger–Number of sequence values to cache (optional)
catalogNamestring–Catalog name containing the sequence (optional)
changesetIdstring–Explicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstring–Changeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
cycleboolean–Whether the sequence should cycle when it reaches max/min value
dataTypestring–Data type for the sequence (optional, e.g., BIGINT)
includeHeaderboolean–When 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.
incrementByinteger–Increment value for the sequence (optional, default 1)
labelsstring–Changeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
maxValueinteger–Maximum value for the sequence (optional)
minValueinteger–Minimum value for the sequence (optional)
orderedboolean–Whether sequence values should be ordered
runOnChangeboolean–When true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestring–Schema name containing the sequence (optional)
sequenceNamestringyesName of the sequence to create
startValueinteger–Starting 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
authorstring–Changeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestring–Catalog name (optional)
changesetIdstring–Explicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
columnsarrayyesArray of column definitions
contextstring–Changeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderboolean–When 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.
labelsstring–Changeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
remarksstring–Table remarks/comments (optional)
runOnChangeboolean–When true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestring–Schema name (optional)
tableNamestringyesName of the table to create
tablespacestring–Tablespace 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
authorstring–Changeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestring–Catalog name (optional)
changesetIdstring–Explicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstring–Changeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
externalFilePathstring–Path to an external .sql file containing the trigger body (XML mode only). Either triggerBody or externalFilePath is required.
includeHeaderboolean–When false, omit the document wrapper. Default: true.
labelsstring–Changeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
relativeToChangelogFileboolean–When externalFilePath is set, whether the path is relative to the changelog file (default true)
runOnChangeboolean–When true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestring–Schema name (optional)
tableNamestringyesName of the table the trigger is associated with
triggerBodystring–SQL 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
authorstring–Changeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestring–Catalog name containing the view (optional)
changesetIdstring–Explicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstring–Changeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
externalFilePathstring–Path 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.
includeHeaderboolean–When 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.
labelsstring–Changeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
relativeToChangelogFileboolean–When externalFilePath is set, whether the path is relative to the changelog file (default true)
remarksstring–Comments about the view (optional)
replaceIfExistsboolean–Whether to replace the view if it already exists
runOnChangeboolean–When true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestring–Schema name containing the view (optional)
selectQuerystring–SQL 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
authorstring–Changeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestring–Catalog name (optional)
changesetIdstring–Explicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
columnsarrayyesColumns to drop
contextstring–Changeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderboolean–When 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.
labelsstring–Changeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangeboolean–When true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestring–Schema 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
authorstring–Changeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
baseTableCatalogNamestring–Catalog name for the base table (optional)
baseTableNamestringyesName of the base (child) table the constraint was added to
baseTableSchemaNamestring–Schema name for the base table (optional)
changesetIdstring–Explicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
constraintNamestringyesName of the foreign key constraint to drop
contextstring–Changeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderboolean–When false, omit the document wrapper. Default: true.
labelsstring–Changeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangeboolean–When 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
authorstring–Changeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestring–Catalog name (optional)
changesetIdstring–Explicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstring–Changeset 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
includeHeaderboolean–When false, omit the document wrapper. Default: true.
labelsstring–Changeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangeboolean–When true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestring–Schema name (optional)

No output schema declared.

No examples provided.

drop_index ~292

Generate a Liquibase changeset for dropping an index

NameTypeReqDescription
authorstring–Changeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestring–Catalog name (optional)
changesetIdstring–Explicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstring–Changeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderboolean–When 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
labelsstring–Changeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangeboolean–When true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestring–Schema 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
authorstring–Changeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestring–Catalog name (optional)
changesetIdstring–Explicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
constraintNamestring–Name of the primary key constraint to drop (optional on some databases, required on others)
contextstring–Changeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
dropIndexboolean–Whether to drop the index backing the primary key (optional)
includeHeaderboolean–When false, omit the document wrapper. Default: true.
labelsstring–Changeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangeboolean–When true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestring–Schema 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
authorstring–Changeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestring–Catalog name (optional)
changesetIdstring–Explicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstring–Changeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderboolean–When 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.
labelsstring–Changeset 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
runOnChangeboolean–When true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestring–Schema name (optional)

No output schema declared.

No examples provided.

drop_sequence ~287

Generate Liquibase XML changeset for dropping a database sequence

NameTypeReqDescription
authorstring–Changeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestring–Catalog name containing the sequence (optional)
changesetIdstring–Explicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstring–Changeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderboolean–When 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.
labelsstring–Changeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangeboolean–When true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestring–Schema 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
authorstring–Changeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestring–Catalog name (optional)
changesetIdstring–Explicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstring–Changeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderboolean–When 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.
labelsstring–Changeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangeboolean–When true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestring–Schema 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
authorstring–Changeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestring–Catalog name (optional)
changesetIdstring–Explicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstring–Changeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderboolean–When false, omit the document wrapper. Default: true.
labelsstring–Changeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangeboolean–When true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestring–Schema 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
authorstring–Changeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestring–Catalog name (optional)
changesetIdstring–Explicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
constraintNamestringyesName of the unique constraint to drop
contextstring–Changeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderboolean–When false, omit the document wrapper. Default: true.
labelsstring–Changeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangeboolean–When true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestring–Schema name (optional)
tableNamestringyesName of the table the unique constraint was added to
uniqueColumnsstring–Comma-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
authorstring–Changeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestring–Catalog name containing the view (optional)
changesetIdstring–Explicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstring–Changeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
ifExistsboolean–When 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).
includeHeaderboolean–When 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.
labelsstring–Changeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangeboolean–When true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestring–Schema 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
authorstring–Changeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestring–Catalog name (optional)
changesetIdstring–Explicit 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)
contextstring–Changeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderboolean–When 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.
labelsstring–Changeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangeboolean–When true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestring–Schema 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
authorstring–Changeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestring–Catalog name (optional)
changesetIdstring–Explicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
columnDataTypestring–Column data type (optional, for type safety)
contextstring–Changeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderboolean–When 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.
labelsstring–Changeset 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
remarksstring–Column remarks/comments (optional)
runOnChangeboolean–When true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestring–Schema 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
authorstring–Changeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestring–Catalog name containing the sequence (optional)
changesetIdstring–Explicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstring–Changeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderboolean–When 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.
labelsstring–Changeset 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
runOnChangeboolean–When true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestring–Schema name containing the sequence (optional)

No output schema declared.

No examples provided.

rename_table ~297

Generate a Liquibase changeset for renaming a table

NameTypeReqDescription
authorstring–Changeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
catalogNamestring–Catalog name (optional)
changesetIdstring–Explicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstring–Changeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
includeHeaderboolean–When 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.
labelsstring–Changeset 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
runOnChangeboolean–When true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
schemaNamestring–Schema name (optional)

No output schema declared.

No examples provided.

sql ~313

Generate Liquibase XML changeset for executing raw SQL statements

NameTypeReqDescription
authorstring–Changeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
changesetIdstring–Explicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstring–Changeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
dbmsstring–Database-specific execution
endDelimiterstring–Custom statement delimiter (default ;)
includeHeaderboolean–When 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.
labelsstring–Changeset labels for release management (e.g. 'v2.0', 'release-1.0'). Used to select changesets to run via --label-filter.
runOnChangeboolean–When true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
splitStatementsboolean–Whether to split on delimiters (default true)
sqlstringyesThe SQL statement(s) to execute
stripCommentsboolean–Whether 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
authorstring–Changeset author (optional, defaults to 'liquibase-mcp'). Overrides the default author in the generated changeset.
changesetIdstring–Explicit changeset ID (optional, defaults to a timestamp-based generated ID). Must be unique within the changelog.
contextstring–Changeset context expression for environment targeting (e.g. 'production', 'dev,test'). Liquibase will only execute this changeset when the specified context is active.
dbmsstring–Database-specific execution
encodingstring–File encoding (default UTF-8)
endDelimiterstring–Custom statement delimiter (default ;)
includeHeaderboolean–When 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.
labelsstring–Changeset 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
relativeToChangelogFileboolean–Path relative to changelog (default false)
runOnChangeboolean–When true, Liquibase re-executes this changeset whenever its content changes (default false). Useful for views and stored procedures.
splitStatementsboolean–Whether to split on delimiters (default true)
stripCommentsboolean–Whether 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.

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 -e LIQUIBASE_LICENSE_KEY -e LIQUIBASE_MCP_OUTPUT_FORMAT -e LIQUIBASE_MCP_SQL_DATABASE -e LIQUIBASE_MCP_DISABLE_VALIDATION -e LIQUIBASE_MCP_INCLUDE_ROLLBACK 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 -e LIQUIBASE_LICENSE_KEY -e LIQUIBASE_MCP_OUTPUT_FORMAT -e LIQUIBASE_MCP_SQL_DATABASE -e LIQUIBASE_MCP_DISABLE_VALIDATION -e LIQUIBASE_MCP_INCLUDE_ROLLBACK ghcr.io/liquibase/liquibase-mcp-changelog-server:1.0.0

This image reads LIQUIBASE_LICENSE_KEY, LIQUIBASE_MCP_OUTPUT_FORMAT, LIQUIBASE_MCP_SQL_DATABASE, LIQUIBASE_MCP_DISABLE_VALIDATION and LIQUIBASE_MCP_INCLUDE_ROLLBACK. Set them in your client's env block for this server; docker run -e passes each one through to the container.

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 37 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 6 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What did VerifyMCP test on the Liquibase Changelog MCP Server server?

VerifyMCP ran 11 checks on Liquibase Changelog MCP Server, covering Source repository, Provenance, License, Maintenance and 7 more. 5 items could not be completed, a gap on our side rather than a finding about Liquibase Changelog MCP Server: Malware scan, Known CVEs, Install scripts, Dependency health and 1 more. One category scores 0 for that reason, because we only credit what we can confirm. Endpoint Security and Transport & Reachability do not apply to a container image, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.