Read-only MCP server for PostgreSQL, MySQL & SQLite. Lets AI assistants (Claude, Cursor, VS Code) explore schemas, run safe SELECT queries, read EXPLAIN plans, get index suggestions, and review migrations. Writes are blocked by design.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add db-explorer --env DATABASE_URL='<DATABASE_URL>' -- uvx db-explorer-mcp-server~/.codex/config.toml
[mcp_servers.db-explorer]
command = "uvx"
args = ["db-explorer-mcp-server"]
env = { DATABASE_URL = "<DATABASE_URL>" }
# codex mcp add db-explorer --env DATABASE_URL='<DATABASE_URL>' -- uvx db-explorer-mcp-server~/.cursor/mcp.json
{
"mcpServers": {
"db-explorer": {
"command": "uvx",
"args": [
"db-explorer-mcp-server"
],
"env": {
"DATABASE_URL": "<DATABASE_URL>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"db-explorer": {
"type": "stdio",
"command": "uvx",
"args": [
"db-explorer-mcp-server"
],
"env": {
"DATABASE_URL": "<DATABASE_URL>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"db-explorer": {
"command": "uvx",
"args": [
"db-explorer-mcp-server"
],
"env": {
"DATABASE_URL": "<DATABASE_URL>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"db-explorer": {
"command": "uvx",
"args": [
"db-explorer-mcp-server"
],
"env": {
"DATABASE_URL": "<DATABASE_URL>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"db-explorer": {
"command": "uvx",
"args": [
"db-explorer-mcp-server"
],
"env": {
"DATABASE_URL": "<DATABASE_URL>"
}
}
}
}Environment variables
DATABASE_URL
Replace the placeholders with your own credentials and keep them out of version control.