Having describe and list alongside query is what makes the SQL the model composes reliable: it can check the columns before it writes the statement. The execute tool runs INSERT, UPDATE and DELETE, so the boundary you set is the database user, not the server — connect with an account scoped to exactly what you are willing to have changed.
An MCP server for MySQL that connects with credentials you supply and exposes both query and mutation paths, plus schema inspection.
- `connect_db` — establish the connection with host, user, password and database
- `query` — run SELECT statements, with optional prepared-statement `params`
- `execute` — run INSERT, UPDATE or DELETE, also with prepared-statement `params`
- `list_tables` — every table in the connected database
- `describe_table` — the structure of one table, so the model knows the columns before it writes SQL
The README's client entry names `@aqaranewbiz/mysql-aqaranewbiz`, which npm does not have; Smithery lists an install for Claude Desktop. Connection details go in the client env as `MYSQL_HOST`, `MYSQL_USER`, `MYSQL_PASSWORD` and `MYSQL_DATABASE`.
