Tools
Database Queries
SQL database queries and schema information with support for multiple database types
The Database MCP server enables secure SQL queries on various database types with read-only access.
Main Features
Database Queries
query_database
: Executes read-only SQL queries- Supports SELECT, WITH, SHOW, DESCRIBE, EXPLAIN
- Automatically blocks modifying commands (INSERT, UPDATE, DELETE, etc.)
- Asynchronous execution for optimal performance
Schema Information
get_database_schema
: Retrieves database schema information- Lists all tables and views
- Shows columns with data types
- Helpful for exploring unknown databases
Configuration
The database URL is provided via the X-Database-URL header. The server supports connection pooling for better performance with multiple requests.
Supported Databases
The database tool supports the following database types:
# PostgreSQL
postgresql://user:password@localhost:5432/mydatabase
# MySQL
mysql://user:password@localhost:3306/mydatabase
# MariaDB (uses MySQL driver)
mysql://user:password@localhost:3306/mydatabase
# Microsoft SQL Server
mssql://user:password@localhost:1433/mydatabase
Security Recommendations
For production use, we strongly recommend:
-
Create read-only database users:
- PostgreSQL:
CREATE USER readonly WITH PASSWORD 'password'; GRANT CONNECT ON DATABASE databasename TO readonly; GRANT USAGE ON SCHEMA public TO readonly; GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly;
- MySQL/MariaDB:
CREATE USER 'readonly'@'%' IDENTIFIED BY 'password'; GRANT SELECT ON databasename.* TO 'readonly'@'%';
- SQL Server:
CREATE LOGIN readonly WITH PASSWORD='password'; USE databasename; CREATE USER readonly FOR LOGIN readonly; EXEC sp_addrolemember 'db_datareader', 'readonly';
- PostgreSQL:
-
Restrict network access to database servers using firewalls or VPNs to the following IP: 148.251.245.94
- This is the IP address of the MCP server that accesses the database.
-
Use connection pooling for improved performance with multiple users
-
Set appropriate timeouts to prevent long-running queries