30 lines
1015 B
Markdown
30 lines
1015 B
Markdown
# MySQL MCP Server Setup
|
|
|
|
Deployed Jul 7, 2026 on Core. Connects Hermes to MariaDB on wphost02.
|
|
|
|
## Architecture
|
|
|
|
```
|
|
Hermes → MCP mysql_query → Python stdio MCP server → autossh tunnel → wphost02:3306
|
|
```
|
|
|
|
## Components
|
|
|
|
### 1. Persistent SSH Tunnel (autossh)
|
|
|
|
`/etc/systemd/system/mysql-tunnel.service` — connects 127.0.0.1:33060 → wphost02:3306
|
|
|
|
### 2. MCP Server
|
|
|
|
`/root/.hermes/scripts/mcp-mysql.py` — reads env vars, speaks JSON-RPC 2.0 over stdio. Single tool: `mysql_query(sql)` which returns JSON.
|
|
|
|
### 3. Database Connection Issues (MariaDB 11.1)
|
|
|
|
- **SSL disabled:** MariaDB doesn't support SSL. Use `--skip-ssl` or `ssl_disabled=True`
|
|
- **Collation:** Must set `charset="utf8mb4"` and `collation="utf8mb4_general_ci"` — MariaDB doesn't support `utf8mb4_0900_ai_ci`
|
|
- **Initial attempt:** npm MCP servers fail with MySQL/MariaDB due to protocol/handshake quirks. Custom Python server was necessary.
|
|
|
|
### 4. Config
|
|
|
|
Stored in `~/.hermes/config.yaml` under `mcp.mysql`. Enabled by default.
|