mysql-mcp
by rlembo06
README.md
# mysql-mcp
A lightweight MCP server that provides safe, read-only access to MySQL databases.
## Features
- **Multi-database** — connect to multiple MySQL instances, switch between them on the fly
- **Read-only** — write operations (`INSERT`, `UPDATE`, `DELETE`, `DROP`, etc.) are blocked
- **Lazy connections** — pools are created on first use, not at startup
- **MCP native** — built on `@modelcontextprotocol/sdk`, works with any MCP client
## Setup
1. Create a JSON config file with your database connections:
```json
{
"my-db": {
"host": "db.example.com",
"port": 3306,
"user": "readonly",
"password": "secret",
"database": "mydb",
"environment": "production",
"ssl": false
}
}
```
2. Set the `MYSQL_DATABASES_CONFIG` environment variable pointing to that file.
3. Run the server:
```bash
npx tsx index.ts
```
## Tools
| Tool | Description |
|------|-------------|
| `list_connections` | List all configured databases and the active one |
| `use_connection` | Switch the active database connection |
| `query` | Execute a read-only SQL query |
## MCP Client Configuration
```json
{
"mcpServers": {
"mysql": {
"command": "npx",
"args": ["tsx", "/path/to/mysql-mcp/index.ts"],
"env": {
"MYSQL_DATABASES_CONFIG": "/path/to/databases.json"
}
}
}
}
```
## License
MIT
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues