The surface is deliberately small — execute_query with parameters kept apart from query, plus the calls needed to see what you are connected to and bring a dead connection back without a restart of your own. list_connections deserves a second look for its include_credentials flag: the connection inventory can be returned with stored credentials inside it, so that flag decides what ends up in the model's context. Which engines a connection can speak to is a property of the configuration this server reads, and the tool surface itself takes no position on it.
A SQL front end over pre-configured database connections, exposing query execution with bound parameters, database listing, connection status and a retry for connections that failed.
- execute_query runs a query against a named connection, keeping parameters separate from the query text and taking database to choose which one inside that connection to run against.
- list_databases returns the databases visible on a given connection_name, or across every configured connection when it is left out.
- list_connections returns each configured connection with detailed information and its status, and takes include_credentials to decide whether stored credentials come back in the response.
- retry_failed_connections re-attempts a connection that did not come up, by connection_name.
At least one database connection already configured for the server: execute_query, list_databases and retry_failed_connections each take a connection_name, and list_connections reports what is configured.
One command — npx -y @ahmetbarut/mcp-database-server
