The TwinCommit MCP server exposes ten tools. Read-only tools are always available. Tools marked write require TWINCOMMIT_MCP_ALLOW_WRITES=true.
| Tool |
Access |
Purpose |
list_pipelines |
read |
Every pipeline with its source, target, state and current lag |
get_status |
read |
Checkpoint position, open transactions, broken tables and last error |
get_lag |
read |
Lag history over a time window |
start_pipeline |
write |
Start or resume from the last committed checkpoint |
stop_pipeline |
write |
Drain in-flight transactions and stop cleanly |
resnapshot_table |
write |
Re-snapshot one table while the rest keep streaming |
verify_tables |
read |
Compare source and target row counts and checksums |
explain_error |
read |
Turn an error into a cause and a concrete fix |
check_source |
read |
Run source prerequisite checks |
tail_events |
read |
Recent change events for a table (values redacted by default) |
No parameters.
{ "name": "db2-prod-databricks", "source": "db2:PRODDB", "target": "databricks:prod.replica",
"state": "streaming", "lag_seconds": 0.42, "caught_up": true, "broken_tables": 0 }
| Parameter |
Type |
Required |
pipeline |
string |
yes |
"pipeline": "db2-prod-databricks",
"checkpoint": { "position": "0000000004F3E2A1", "commit_time": "2026-11-14T14:02:11Z" },
"open_transactions": [{ "id": "991204", "rows": 2100344, "spilled": true, "age_seconds": 41 }],
"tables": { "streaming": 42, "snapshotting": 0, "broken": 0 },
| Parameter |
Type |
Required |
Default |
pipeline |
string |
yes |
|
window |
duration |
no |
1h |
step |
duration |
no |
1m |
Returns [{ "t": "...", "lag_seconds": 0.4 }, ...]. History needs TWINCOMMIT_PROMETHEUS_URL; without it, only the current value is returned.
| Parameter |
Type |
Required |
pipeline |
string |
yes |
stop_pipeline waits for the current batch to commit before stopping.
| Parameter |
Type |
Required |
pipeline |
string |
yes |
table |
string (SCHEMA.TABLE) |
yes |
recreate_target |
boolean |
no (default false) |
{ "table": "SALES.ORDERS", "state": "snapshotting", "rows_copied": 0, "started_at": "2026-11-14T14:10:00Z" }
| Parameter |
Type |
Required |
pipeline |
string |
yes |
tables |
string[] |
no (default all) |
[{ "table": "SALES.ORDERS", "source_rows": 1048211, "target_rows": 1048211, "checksum_match": true }]
| Parameter |
Type |
Required |
pipeline |
string |
one of |
error |
string |
one of |
Returns { "cause": "...", "fix": ["..."], "docs": "https://twincommit.io/docs/..." }.
| Parameter |
Type |
Required |
pipeline |
string |
yes |
Returns the same checks as twincommit check, each with ok and a fix command.
| Parameter |
Type |
Required |
Default |
pipeline |
string |
yes |
|
table |
string |
yes |
|
limit |
integer |
no |
20 |
[{ "op": "U", "commit_ts": "2026-11-14T14:02:09Z", "key": { "ORDER_ID": "«redacted»" }, "columns_changed": ["STATUS"] }]