Skip to main content
Glama
lemonq3q

MySQL Ops MCP

by lemonq3q
README.md
# MySQL Ops MCP

A generic MCP server for MySQL operations.

It supports:

- Listing databases and tables.
- Describing tables.
- Showing indexes and triggers.
- Running read-only SQL: `SELECT`, `SHOW`, `DESCRIBE`, `DESC`, `EXPLAIN`.
- Running explicitly requested write SQL when `MYSQL_WRITE_ENABLED=true`.
- Logging every executed write SQL file under `mysql-ops-logs/` in the current project root.

## Configuration

Copy `.env.example` to `.env.local` and set your MySQL connection:

```env
MYSQL_HOST=127.0.0.1
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_PASSWORD=change-me
MYSQL_DEFAULT_DATABASE=insurance
MYSQL_WRITE_ENABLED=true
MYSQL_EXECUTION_LOG_DIR=mysql-ops-logs
```

`.env.local` is ignored by Git.

## Tools

- `mysql_current_config`
- `mysql_list_databases`
- `mysql_list_tables`
- `mysql_describe_table`
- `mysql_show_indexes`
- `mysql_show_triggers`
- `mysql_query_readonly`
- `mysql_explain`
- `mysql_execute_sql`
- `mysql_execute_file`
- `mysql_create_backup_sql`

High-risk SQL such as `DROP DATABASE`, `TRUNCATE TABLE`, and `UPDATE` or `DELETE` without `WHERE` requires `confirmHighRisk=true`.