com.dbtrail/dbtrail MCP Server
com.dbtrail/dbtrail
MySQL change tracking with instant row-level recovery and forensic attribution for compliance.
What is the com.dbtrail/dbtrail MCP server?
The DBTrail MCP server connects Claude and other AI assistants to DBTrail, an open-source analytical replica for MySQL that tracks all changes at row level and stores them as Parquet files. It enables time-travel queries, forensic analysis, and precise recovery of damaged data without touching the production database.
DBTrail keeps a complete analytical copy of your MySQL tables as Parquet in your bucket, minutes behind the source, with every version of every row preserved. You can query this copy with DuckDB without load on production, travel back in time to any past state, and generate exact SQL to undo specific changes. The MCP server lets you interact with DBTrail's capabilities through natural language via Claude Desktop or other MCP clients.
How to install com.dbtrail/dbtrail
Copy-paste configuration for popular MCP clients.
Tools & capabilities
Tools this server exposes to the agent.
Server management— Add MySQL servers, configure connection details, and manage DBTrail instancesSnapshot scheduling— Create and schedule analytical snapshots from binary logs to ParquetTime-travel queries— Query any row or table as it was at a past momentRecovery generation— Generate SQL to undo specific damaged rows and cascading deletesChange browsing— Browse and inspect all changes captured from the MySQL binary logVerification— Verify that a recovery would reproduce the correct state without touching the source
Use cases
- Query historical data and generate reports without impacting production MySQL performance
- Recover from accidental data loss or corruption by generating precise undo SQL for specific rows
- Audit and investigate data changes with complete forensic attribution of when and how rows changed
- Export Parquet snapshots to Iceberg, Spark, Trino, or Athena for advanced analytics
- Ask Claude in plain English to analyze changes, suggest recoveries, or explain data history
com.dbtrail/dbtrail MCP server FAQ
DBTrail is an open-source analytical replica for MySQL that continuously captures changes from the binary log and stores them as Parquet files. It preserves every version of every row, enabling time-travel queries and precise recovery without impacting production.
Yes, DBTrail is licensed under Apache-2.0 and free for any use, including commercial and production. A managed service is also available at dbtrail.com.
Install DBTrail, then on the MCP Server page download a DuckDB schema. Add the remote MCP endpoint (https://api.dbtrail.com/mcp) to your Claude Desktop configuration, and you can query DBTrail in plain English.
DBTrail works with MySQL 8.0+, Percona Server for MySQL, Amazon RDS for MySQL, and Amazon Aurora MySQL. It requires binlog_format=ROW and binlog_row_image=FULL. MariaDB 10.11+ is also supported as a source.
No. DBTrail connects via the standard MySQL replication protocol, so it works with managed databases like Amazon RDS and Aurora without any plugins or agents on the database host.
DBTrail snapshots are minutes behind the source, with the interval configurable from every 5 minutes to once a day. It is not a real-time replica.
README (reference)
Source of truth, from the repository.
DBTrail keeps your MySQL tables as Parquet in your bucket, minutes behind the source, and every version of every row. Query them with DuckDB. Production never sees the query.
</div>$ duckdb -init views.sql
D SELECT status, count(*) FROM state_shop_orders GROUP BY 1;
<p align="center"><em>That query reads Parquet in your bucket. The MySQL primary never saw it.</em></p>
What you get
Reports, dashboards and ad-hoc analysis compete with your application when they run on the primary: full scans push the working set out of the buffer pool, and a long read holds back purge. A reporting replica is one more MySQL to pay for and patch, answering at MySQL speed. DBTrail gives those queries a copy of their own, one that also remembers the past.
An analytical copy
- Zero ETL. One full copy of each table, then only the binary log. DBTrail folds the changes into a new Parquet snapshot on your schedule, from every 5 minutes to once a day, without reading the source again. No pipeline, no warehouse, no Kafka. See Analytics with DuckDB.
- DuckDB, ready to open. One
views.sqlgives you one view per table,state_<schema>_<table>, that follows the newest snapshot on its own. Your DuckDB runs it, on your machine: a laptop, a notebook, a BI box. - Open files, your bucket. Plain Parquet on disk or in S3, Hive-partitioned
change history, nothing proprietary. Hand a table to Spark, Trino or Athena
with
bintrail export iceberg. See Iceberg export. - Nothing inside the server. No plugin, no fork, no agent on the database host. DBTrail connects the way a replica does, so it works where you cannot load an engine: Amazon RDS and Aurora.
Time travel and recovery, from the same stream
DBTrail keeps every change on your MySQL server, before and after, and writes the SQL that undoes the ones you didn't want.
- Every version of every row. Query any row or table as it was at a
past moment, from the web interface or the
reconstructCLI; the live SQLAS OFinterface also needs ProxySQL. See Time-Travel SQL. - Undo precisely. Generate the SQL that reverses just the damaged rows,
including the child rows an
ON DELETE CASCADEremoved below the binary log. See Query & Recovery. - Prove it holds.
bintrail verifychecks offline, without touching the source, that a recovery would reproduce it.bintrail statusflags any gap in the captured stream. See Verify. - Web interface and MCP. Add servers, schedule snapshots and browse changes in the browser. Connect Claude Desktop or any MCP client to ask in plain English (5-minute guide).
Works with MySQL, Percona Server for MySQL, Amazon RDS for MySQL,
and Amazon Aurora MySQL (verified). Google Cloud SQL for MySQL should
work too; please report issues. MariaDB 10.11+ is supported as a source
(MariaDB source). DBTrail connects over the replication
protocol and never needs the binlog files on disk, which is why managed cloud
databases work. It requires MySQL 8.0+ with binlog_format=ROW and
binlog_row_image=FULL; bintrail doctor checks both and prints the exact fix.
What it is not. Not high availability: your application never points at the copy. Not a replacement for your physical backups: history starts the day you install it. Minutes behind the source, not seconds: the snapshot interval is your setting. See Analytics with DuckDB.
Try it in 30 seconds
One container, zero setup, time-travel SQL:
docker run --rm -p 6033:6033 ghcr.io/dbtrail/bintrail-demo
See the demo image.
Install
curl -fsSL https://raw.githubusercontent.com/dbtrail/dbtrail/main/install.sh | sh
This downloads the Docker Compose stack, starts it, waits until DBTrail answers, and prints the next steps. The first four are the same as the start page:
- Sign in. Open http://127.0.0.1:8090 and create a username and password.
- Connect. Click + Add server, give the server a name, and fill in the host and port of your MySQL server. The form suggests a user and password for DBTrail and shows the SQL that creates that user; run it on your MySQL with a login that can create users and grant them privileges, then press Save.
- First change. Change a row on your MySQL. It shows on the Overview within a minute, with an Undo that writes the SQL to reverse it.
- First copy. The first snapshot is the analytical copy. Today it takes a folder created first, then on the Snapshots page: type it in Backup dir, Save, and press Create backup. The start page has the command that creates the folder. Set a schedule on the same page (every 5 minutes, for example) and each run after the first updates the copy from the recorded changes instead of reading the source.
- Query it. On the MCP Server page, Download a DuckDB schema, then open it with
duckdb -init views.sql. See Analytics with DuckDB.
Prefer the command line? See the command-line quickstart.
Documentation
Privacy
bintrail runs entirely in your infrastructure. Your database data never leaves it: not your rows, schemas, table names, queries, hostnames, DSNs, or file paths.
Official release builds do report metadata-only usage statistics: which command ran, whether it succeeded, a coarse error class, and your version and platform. It is on by default and turns off in one line:
bintrail telemetry off # or: DO_NOT_TRACK=1, BINTRAIL_TELEMETRY=off
bintrail telemetry show # prints what would be sent; sends nothing
No identifier of any kind is stored or transmitted, so nothing ties those statistics to you or your machine. A binary you build yourself has no reporting address compiled in and cannot send anything. TELEMETRY.md documents every field, every control, and the CI tests that enforce both.
The privacy policy covers the Claude Desktop extension (.mcpb),
which reports nothing at all, and how data moves when an AI client queries
your deployment.
License
Apache-2.0: free for any use, including commercial and production. Contributions are welcome; see CONTRIBUTING.md (a CLA is required, prompted automatically on your first PR).
Want the index server operated for you (sized, backed up, upgraded, kept alive on-call) instead of running it yourself? That is the managed service at dbtrail.com. SUPPORT.md draws the ship-vs-operate line.
Related MCP servers
Dollar-cost-averaging backtests on real historical data for crypto, stocks and commodities.
Current retail deals by category and store, with buying guides. Affiliate links.
Draft UK vehicle sales invoices from supplied deal facts, with totals and a private review link.
MCP server for DealSurface.com sales intelligence platform.

com.debitura/mcp-server
Cross-border debt collection: submit and track cases handled by local partners in 183 countries.

DebugBundle
DebugBundle MCP: runtime error reporting, incident response, health checks, and product analytics.