MySQL MCP server for cursor
MySQL MCP server exists for a simple reason — assistants are far more useful when they can act on MySQL directly instead of describing what you should do. MySQL MCP server for cursor.
This project implements an MCP (Model Context Protocol) server for working with MySQL database.
Once MySQL is connected, these are the calls the assistant has available:
query — execute SQL queries (only SELECT, SHOW, EXPLAIN, DESCRIBE)table-schema — get table structurelist-tables — get list of all tables in the databaseSetup follows the usual MCP pattern — install or clone the server, register it in your client's configuration file, restart the client. The configuration blocks on this page cover the common clients.
You will need 5 environment variables: MYSQL_HOST, MYSQL_PORT, MYSQL_USER, MYSQL_PASS, MYSQL_DB. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.
Plenty of database access servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. MySQL's toolset — query, table-schema, list-tables — is a fair guide to whether it matches your workflow. It is maintained by vitalyDV; worth a glance at recent repository activity before you build anything load-bearing on it.
We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.
| Tool | What it does |
|---|---|
| query | execute SQL queries (only SELECT, SHOW, EXPLAIN, DESCRIBE) |
| table-schema | get table structure |
| list-tables | get list of all tables in the database |
## add config to mcp.json
```json
{
"mcpServers": {
"mysql_mcp_readonly": {
"command": "node",
"args": [
"./mysql-mcp/index.js"
],
"env": {
"MYSQL_HOST": "127.0.0.1",
"MYSQL_PORT": "3306",
"MYSQL_USER": "root",
"MYSQL_PASS": "",
"MYSQL_DB": "db",
}
}
}
}Configuration as documented by the project. Restart the client after saving.
| Variable | Description | Required |
|---|---|---|
| MYSQL_HOST | Endpoint or connection string the server talks to. | Optional |
| MYSQL_PORT | Configuration value read at startup. | Optional |
| MYSQL_USER | Configuration value read at startup. | Optional |
| MYSQL_PASS | Configuration value read at startup. | Optional |
| MYSQL_DB | Configuration value read at startup. | Optional |
Read-only SQL access to Postgres — let your assistant inspect schemas and answer questions from real data.
Manage your whole Supabase project in conversation — database, auth, storage, Edge Functions and branches.
Query, modify and analyse local SQLite databases in conversation — the fastest way to chat with a data file.
Metabase ships its own MCP endpoint — search your BI content, build and run queries, and save questions and dashboards without leaving the chat.
Official MongoDB server covering data, schemas and Atlas management — from find queries to spinning up clusters.
Serverless Postgres with database branching — point your assistant at Neon and let it work on disposable copies.