sqlmate-mcp
sqlmate-mcp is a zero-config MCP server that connects AI assistants like Claude to SQL databases (MySQL, MariaDB, SQLite, MSSQL, PostgreSQL), with a live browser GUI for visual interaction.
Connection Management
Automatically reads
DB_*env vars orDATABASE_URLfrom.env/.sqlmatercfileslist_connections— retrieve all configured connections for a projectadd_connection— dynamically add connections via URL, config file, or individual parameters (host, port, user, password, etc.)
Schema Introspection
list_tables— list all tables in a connectiondescribe_table— get column names, types, nullability, and primary key infoget_schema— retrieve a full schema graph including foreign keys and indexes
Query Execution
run_query— safely execute read-only statements (SELECT, EXPLAIN, SHOW, PRAGMA)run_write— execute INSERT, UPDATE, DELETE, DDL operations with a built-in two-step safety confirmation for risky actions (no WHERE clause, DROP, TRUNCATE)explain_query— get execution plans with an optionalanalyzeflag for real timing
Browser GUI (auto-opens at http://localhost:4737)
Paginated table browser with inline cell editing and row deletion
SQL editor with EXPLAIN and per-query timing
Interactive ERD visualizer with foreign-key edges
Live feed of all MCP tool calls made by the AI agent
Multi-Project Support — Multiple projects share a single GUI dashboard, with connections grouped by project and automatic host failover.
Provides tools to connect to and interact with MariaDB databases: list tables, describe schema, run read queries, and execute write operations with risk assessment for destructive commands.
Provides tools to connect to and interact with MySQL databases: list tables, describe schema, run read queries, and execute write operations with risk assessment for destructive commands.
Provides tools to connect to and interact with SQLite databases: list tables, describe schema, run read queries, and execute write operations with risk assessment for destructive commands.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@sqlmate-mcpshow me the tables in my database"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🗄️ sqlmate-mcp
Give Claude a database. Give yourself a GUI.
Zero-config SQL database MCP server with a live browser GUI — for Claude Code, Zed, and any MCP client.
Point it at your project, and Claude can explore your MySQL · MariaDB · SQLite · MSSQL · PostgreSQL databases while you browse, edit, and query them in a beautiful browser dashboard that updates in real time.
npm install -g sqlmate-mcp
claude mcp add --transport stdio sqlmate-mcp sqlmate-mcpThat's the whole setup. It reads your existing .env — no config files to write.
✨ Why sqlmate-mcp?
Most database MCP servers give the AI tools and leave you in the dark. sqlmate-mcp does both halves:
🤖 For Claude — 8 focused tools to inspect schemas, run queries, and make guarded writes.
👀 For you — a browser GUI that opens automatically, so you can watch what the agent touches, edit data by hand, and run your own SQL side by side.
No API keys. No cloud. No node-gyp. It reads the config you already have.
Related MCP server: Database Tools for Claude AI
🚀 Features
⚡ Zero config | Reads |
🔌 5 databases | MySQL, MariaDB, SQLite, MSSQL, and PostgreSQL from one server |
🧠 Schema intelligence |
|
📊 Query plans |
|
🛡️ Write safety | DELETE/UPDATE without |
🖥️ Browser GUI | Paginated grid, inline cell editing, row delete, schema view, and a SQL editor with EXPLAIN + timing |
🕸️ ERD visualizer | Interactive entity-relationship diagram per connection, with foreign-key edges and click-to-open tables |
🗂️ Unified dashboard | Open several projects at once and see them all in one GUI, grouped by project |
📡 Live agent feed | Watch every MCP tool call stream into the browser in real time |
🪶 No native builds | SQLite uses Node's built-in |
📦 Setup
1. Install
npm install -g sqlmate-mcp2. Register with your editor
claude mcp add --transport stdio sqlmate-mcp sqlmate-mcpOpen your Zed settings.json (Cmd/Ctrl + ,) and add:
{
"context_servers": {
"sqlmate-mcp": {
"command": "sqlmate-mcp",
"args": [],
"env": {}
}
}
}To pin a specific project's database, set SQLMATE_PROJECT_ROOT in the env block:
{
"context_servers": {
"sqlmate-mcp": {
"command": "sqlmate-mcp",
"args": [],
"env": { "SQLMATE_PROJECT_ROOT": "/absolute/path/to/your/project" }
}
}
}The sqlmate-mcp tools then appear in the Zed Agent Panel.
3. That's it
sqlmate-mcp reads connections from the root of whichever project you open (the directory you launch your editor from). Each project uses its own .env or .sqlmaterc — no global config. See Connection Setup.
🔧 Connection Setup
sqlmate-mcp reads connections from your project root at startup (defaults to cwd, override with SQLMATE_PROJECT_ROOT).
Option 1 — .env
Laravel-style variables:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=myapp
DB_USERNAME=root
DB_PASSWORD=secretOr a connection URL:
DATABASE_URL=mysql://root:secret@127.0.0.1:3306/myapp
DATABASE_URL=sqlite:///relative/path/app.db
DATABASE_URL=sqlserver://sa:pass@localhost:1433/master
DATABASE_URL=postgres://postgres:secret@127.0.0.1:5432/myappSupported schemes: mysql, mariadb, sqlite, sqlserver / mssql, pgsql / postgres / postgresql.
Option 2 — .sqlmaterc
A JSON array of connection objects in your project root:
[
{ "name": "Local MySQL", "type": "mysql", "host": "127.0.0.1", "port": 3306, "username": "root", "password": "", "database": "myapp" },
{ "name": "App SQLite", "type": "sqlite", "path": "./database/app.db" },
{ "name": "Local Postgres", "type": "postgres", "host": "127.0.0.1", "port": 5432, "username": "postgres", "password": "", "database": "myapp" }
]A copy-paste starting point lives in docs/sqlmaterc-example.json.
🛠️ MCP Tools
Tool | Description |
| List all detected connections (id, name, type, source) |
| Add a connection for the session via URL, config file, or params |
| List table names for a connection |
| Column names, types, nullability, and primary key info |
| Full schema graph — columns, PKs, foreign keys, and indexes |
| Run a read-only query (SELECT, EXPLAIN, SHOW, PRAGMA) |
| Return the execution plan; |
| Run an INSERT, UPDATE, DELETE, or DDL statement |
run_writeruns a risk assessment first. Operations affecting all rows (noWHERE),DROP,TRUNCATE, orALTER…DROP COLUMNpause and ask Claude to confirm withconfirm: truebefore proceeding.
🖥️ Browser GUI
Opens automatically at http://localhost:4737 on startup.
📄 Browse any table with a paginated data grid
✏️ Click a cell to edit it inline; delete rows with the trash icon
🔀 Toggle between data view and column schema view
💬 Run arbitrary SQL in the built-in editor, with Explain for the plan and per-query timing
🕸️ Visualize a database as an interactive ERD — PK/FK badges, relationship edges, click-to-open
🔄 Reconnect a database without restarting the server
📡 Watch a live feed of every MCP tool call Claude makes
🗂️ Multiple Projects, One Dashboard
Open your editor in more than one project at a time and each runs its own sqlmate-mcp process — but you only ever see one browser GUI, showing all projects at once.
The first process to start binds the GUI port (
SQLMATE_PORT, default4737), becomes the host, and opens the browser.Every other process detects the port is taken, confirms it's a compatible sqlmate-mcp host, and attaches — no second tab, no error.
The sidebar groups connections by project (each labeled with its host/database); open tables, run SQL, and view ERDs across projects side by side. The live feed spans every project, labeled by project.
If the host exits, a remaining attached process automatically takes over — the GUI keeps working.
Fully automatic, zero configuration.
⚙️ Environment Variables
Variable | Default | Description |
|
| Directory to search for |
|
| Port for the browser GUI |
| — | Set to |
🧑💻 Development
git clone https://github.com/adamrpostjr/sqlmate-mcp.git
cd sqlmate-mcp
npm install
npm run build # builds the Svelte GUI into /public
node src/index.js # start the backend (serves the GUI at :4737)
cd frontend && npm run dev # frontend hot-reload (proxies /api to :4737)The frontend is Svelte 5 + Vite + Tailwind. Production build output goes to /public, served statically by Express. Backend is pure Node.js ES modules — no TypeScript, no build step.
📋 Requirements
Node.js ≥ 22.5 (for the native
node:sqlitemodule)
📄 License
If sqlmate-mcp saves you a trip to a database client, consider giving it a ⭐
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/adamrpostjr/sqlmate-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server