Skip to main content
MCP Tools enable executable operations on the database. DBHub provides SQL execution capabilities with support for transactions and multiple statements.

Supported Tools

ToolCommand NameDescriptionPostgreSQLMySQLMariaDBSQL ServerSQLite
Execute SQLexecute_sqlExecute single or multiple SQL statements (separated by semicolons)

Execute SQL

Execute SQL queries and statements on your database.

Features

  • Single statements: Execute a single SQL query or command
  • Multiple statements: Separate multiple statements with semicolons (;)
  • Transactions: Wrap operations in BEGIN/COMMIT blocks for atomic execution
  • Read-only mode: When enabled with --readonly flag, only SELECT and read-only operations are allowed
  • Row limiting: Configure --max-rows to limit SELECT query results

Single Query

Execute a single SELECT, INSERT, UPDATE, or DELETE statement.
SELECT * FROM users WHERE status = 'active' LIMIT 10;

Multiple Statements

Execute multiple SQL statements in sequence by separating them with semicolons.
INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');
INSERT INTO users (name, email) VALUES ('Bob', 'bob@example.com');
INSERT INTO users (name, email) VALUES ('Charlie', 'charlie@example.com');
Each statement is executed sequentially. If one statement fails, subsequent statements may not be executed depending on the database error handling.

Transactions

Wrap multiple operations in a transaction to ensure atomicity. Use BEGIN/COMMIT for successful transactions or ROLLBACK to undo changes.
BEGIN;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;

DDL Operations

Create, alter, or drop database objects.
CREATE TABLE products (
  id SERIAL PRIMARY KEY,
  name VARCHAR(255) NOT NULL,
  price DECIMAL(10, 2) NOT NULL,
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
DDL operations are not allowed in read-only mode. Use read-only mode when connecting to production databases to prevent accidental schema changes.

Read-Only Mode

Enable read-only mode to restrict SQL execution to safe, read-only operations:
npx @bytebase/dbhub --readonly --dsn "postgres://user:pass@localhost:5432/mydb"
In read-only mode, only allowed SQL keywords are permitted, including:
  • SELECT queries
  • SHOW commands
  • DESCRIBE commands
  • EXPLAIN queries
  • Other read-only operations
Use read-only mode when connecting to production databases to prevent accidental data modifications or schema changes.

Row Limiting

Limit the number of rows returned from SELECT queries to prevent accidentally retrieving too much data:
npx @bytebase/dbhub --max-rows 1000 --dsn "..."
  • Only applied to SELECT statements, not INSERT/UPDATE/DELETE
  • If your query already has a LIMIT or TOP clause, DBHub uses the smaller value
  • Can be configured per-database in multi-database TOML configuration