Monthly Archives: April 2026

MySQL MCP Server v1.7.0 is out

April 19, 2026

It took three release candidates and more CI tweaks than I’d like to admit, but v1.7.0 is finally tagged GA. Here’s what actually changed and why it matters.


The thing I kept getting asked about: add_connection

Almost every multi-database user hits the same wall: you configure your connections at startup, and that’s it. Want to point Claude at a different instance mid-session? Restart the server. Not great.

add_connection fixes that. Enable it with MYSQL_MCP_EXTENDED=1 and MYSQL_MCP_ENABLE_ADD_CONNECTION=1, and Claude can register a new named connection on the fly — DSN validation, duplicate-name rejection, and a hard block on the root MySQL user all happen before the connection is accepted. Once it’s in, use_connection it works as usual.

It’s intentionally opt-in behind two flags. Allowing an AI client to register arbitrary database connections at runtime warrants an explicit “yes, I want this” from the operator.


Finding stuff across a big schema: search_schema and schema_diff

Two tools I personally felt the absence of every time I was debugging a large schema.

search_schema does what it sounds like — pattern-match against table and column names across all accessible databases. Before this, you’d either write the query yourself or ask Claude to guess where a column lived. Now you just ask.

schema_diff is the one I’m more excited about. Point it at two databases, and it tells you what’s structurally different. Columns that exist in staging but not prod, type mismatches, missing indexes — all surface immediately. We’ve already caught more than a few “oh, that migration never ran” moments with it.


Pagination, retries, and the unglamorous stuff

run_query now supports an offset parameter for SELECT and UNION queries, returning has_more and next_offset in the response. Big result sets no longer mean hitting row caps and wondering what you missed.

Retries got a proper implementation too. Transient errors — bad pooled connections, deadlocks, lock wait timeouts — now trigger exponential backoff instead of just failing. After a driver.ErrBadConn the pool is re-pinged, which cuts recovery time noticeably after a MySQL restart.

Neither of these is flashy, but they’re the kind of thing that makes the tool feel solid rather than fragile.


Column masking

Set MYSQL_MCP_MASK_COLUMNS=email,password,ssn and those columns are redacted in every run_query response. Nothing leaves the server. No query rewrites, no application changes. It’s a small feature that a few teams have been asking for since before v1.6.


One breaking change worth knowing about: SSH host key verification

This one could bite you on upgrade if you’re using SSH tunnels. Host key verification is now on by default. The tunnel checks ~/.ssh/known_hosts (or MYSQL_SSH_KNOWN_HOSTS, or a pinned MYSQL_SSH_HOST_KEY_FINGERPRINT) before allowing the connection.

If you were running without strict host key checking, your tunnel will fail after upgrading until you either add the host key to known_hosts or explicitly opt out with MYSQL_SSH_STRICT_HOST_KEY_CHECKING=false. The opt-out exists, but it’s a MITM risk — the default is the right behavior.


Upgrading

# Homebrew
brew update && brew upgrade mysql-mcp-server
# Docker
docker pull ghcr.io/askdba/mysql-mcp-server:latest

Full changelog: github.com/askdba/mysql-mcp-server/releases/tag/v1.7.0

Questions and issues are welcome on GitHub.

Navigating Business Challenges: Insights from Sailing

Some experiences can be simulated.

Sailing cannot, and it ever changes.

At first glance, a sailboat feels like leisure, wind, sea, and escape from reality. But the moment you take responsibility on board, that illusion disappears.

A sailboat is not an escape from life. It is a lifestyle full of responsibilities.

As we enter the sailing season, I wanted to take a few notes on how sailing aligns with the business life we live every day.

A Boat Is an Organization

A sailboat is, in essence, a fully functioning micro-organization.

  • The wind represents external market forces, unpredictable, uncontrollable, yet decisive.
  • The route is your strategy, chosen deliberately, but constantly under pressure to adapt.
  • The crew is your organization, each role critical, each mistake amplified.
  • The captain embodies leadership, not authority, but responsibility.

Unlike corporate environments, where feedback loops are often delayed or diluted, sailing delivers immediate and unambiguous consequences. A poor decision is not debated; it is felt. Instantly, no regrets, only lessons learned.

Reality Has No Buffer

At sea, there is no delay.
In most environments, reality is delayed through reports, meetings, and layers of interpretation. At sea, there is no such delay. If you are wrong, the boat tells you immediately. If communication fails, the system breaks immediately. There are no explanations, only outcomes.

If you’re wrong, the boat tells you immediately. If communication fails, the system breaks immediately.

No explanations. Just outcomes.

Leadership Is Behavior

On land, leadership can hide behind structure. At sea, it can’t. I sometimes say me, myself, and I, even though I have a crew with me.

I often just smile and don’t say anything.

There are no layers, no escalation paths, no time to reframe the narrative. Sometimes, the best and life-saving advice is to gear up with your life jacket if you haven’t already.

Only:

  • What you see and its relevance to your experience.
  • What you decide. There’s no right or wrong at sea. What you decide is what you’ll have to face.
  • What you communicate. There are a lot of assumptions; avoid them. Be clear and concise.

Teamwork Is Binary

Collaboration is not a “nice to have”; it either works or it doesn’t.

A maneuver with:

  • Slight hesitation
  • Unclear communication
  • Assumptions instead of alignment

will have consequences.

Nothing else can be more harmful than a precise decision.

Adapt or Stall

Plans don’t survive contact with reality. Wind shifts. Conditions change severely. You don’t debate it.

You adapt conditions continuously.

The Hidden Lesson

After a few hours, something shifts in people.

Less talking.

More observing.

Clearer communication.

Because reality leaves no room for ego.

Why It Matters

Sailing compresses how real systems behave:

  • Immediate feedback
  • Clear cause and effect
  • Shared exposure

It teaches what most environments dilute:

  • Decision-making
  • Communication
  • Accountability
  • Adaptation

But more than anything, it gives you something rare:

Final Thought

A sailboat is one of the few environments where there is no AI involved.

Only human, trained coordination.

That is exactly why it works.

Not as an escape, but as a mirror of how we actually operate under pressure.

Follow the adventure at @svrubato