Akademia · MySQL MCP Server

MySQL MCP Server: agent na bazie MySQL i MariaDB.

MCP-Server-MySQL daje Claude Code bezpośredni dostęp do baz MySQL i MariaDB: zapytania SQL, podgląd struktury, tworzenie tabel i zarządzanie danymi. Operacje zapisu są domyślnie wyłączone. Włączasz je świadomie, flaga po fladze.

Ostatnia aktualizacja:

Monitor ze schematem bazy danych i połączonymi tabelami, obok wydrukowany diagram ER
MySQL i MariaDBdostęp do bazy prosto z promptu
Zapis domyślnie offINSERT/UPDATE/DELETE trzeba włączyć
Konfiguracja przez .envjasne ustawienia uprawnień

Bezpośredni dostęp do bazy MySQL z Claude Code.

MCP-Server-MySQL to serwer Model Context Protocol, który umożliwia Claude Code dostęp do baz MySQL i MariaDB. Pozwala wykonywać zapytania SQL, podglądać i tworzyć tabele oraz zarządzać danymi, z poziomu naturalnego języka.

Wymagania

  • Node.js w wersji 20 lub nowszej.
  • Serwer MySQL 5.7 lub nowszy (autor zaleca 8.0+).
  • Dane dostępowe do bazy: host, port, użytkownik, hasło, nazwa bazy.
# weryfikacja wersji Node.js
node --version

Instalacja: jedno polecenie

Serwera nie trzeba instalować osobno. Główna ścieżka to claude mcp add. Rejestruje serwer w Claude Code, a npx pobiera i uruchamia go przy każdym starcie, bez dbania o ścieżki:

claude mcp add mcp_server_mysql -e MYSQL_HOST=127.0.0.1 -e MYSQL_PORT=3306 -e MYSQL_USER=root -e MYSQL_PASS=... -e MYSQL_DB=... -- npx @benborla29/mcp-server-mysql

Po dodaniu sprawdź połączenie prosto w rozmowie z agentem:

Pokaz mi wszystkie tabele MySQL z localhost za pomoca MCP

Zwróć uwagę: w poleceniu nie ma żadnej flagi uprawnień. To celowe. Bez nich serwer działa w trybie tylko do odczytu: zapytania odczytają dane, ale niczego nie zmienią. Które flagi odblokowują zapis, kiedy warto je włączyć i jak wygląda pełna konfiguracja — w dalszej części szkolenia.

Operacje na bazie, pułapki wersji i pełna konfiguracja.

Przykłady użycia

  • „Załóż tabelę użytkowników z polami: id, email, created_at".
  • „Pokaż strukturę tabeli products".
  • „Znajdź wszystkich użytkowników z domeny gmail.com".
  • „Zoptymalizuj wydajność zapytań na tabeli logs".
  • „Przeanalizuj rozmiar bazy i zaproponuj archiwizację".

Pro tip: w pliku CLAUDE.md możesz zapisać instrukcję, by agent korzystał z MCP MySQL dla wszystkich operacji na bazie, np. „Używaj MCP MySQL dla wszystkich operacji na bazie danych".

Pułapki wersji

Najnowsze wydanie to v2.0.9 (czerwiec 2026). Zamiast pinować konkretną podwersję czy instalować globalnie przez npm install -g, uruchamiaj serwer przez npx. Zawsze sięgnie po aktualne wydanie z npm i nie zostawi w systemie przestarzałej kopii. Unikaj też kruchych ścieżek absolutnych do node i dist/index.js w konfiguracji.

Konfiguracja środowiska (.env)

Gdy uruchamiasz serwer poza Claude Code albo wolisz trzymać ustawienia w pliku, utwórz .env z danymi połączenia i uprawnieniami. Bezpieczny domyślny wariant (tylko odczyt):

# Polaczenie
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_USER=twoj_uzytkownik
MYSQL_PASS=twoje_haslo
MYSQL_DB=nazwa_bazy

# Uprawnienia — bezpieczny default: tylko odczyt
ALLOW_INSERT_OPERATION=false
ALLOW_UPDATE_OPERATION=false
ALLOW_DELETE_OPERATION=false
ALLOW_DDL_OPERATION=false

Kiedy włączyć zapis: trzy flagi zapisu (INSERT, UPDATE, DELETE) przestaw na true dopiero wtedy, gdy agent ma faktycznie modyfikować dane, najlepiej na bazie deweloperskiej, nie produkcyjnej. Operacje DDL (CREATE, ALTER, DROP) to osobna, czwarta flaga. Serwer blokuje je niezależnie od uprawnień użytkownika po stronie bazy, dopóki sam jej nie włączysz.

Aktualizacja: wydanie 2.0.9 pozwala ustawić uprawnienia osobno dla każdej bazy. Zmienne SCHEMA_INSERT_PERMISSIONS, SCHEMA_UPDATE_PERMISSIONS, SCHEMA_DELETE_PERMISSIONS i SCHEMA_DDL_PERMISSIONS przyjmują listę w rodzaju development:true,production:false i nadpisują flagi globalne. Produkcja zostaje tylko do odczytu, a agent zapisuje na bazie deweloperskiej. Gdy w wynikach mogą się pojawić dane osobowe, dodaj ENABLE_PII_REDACTION=true: serwer zamaskuje adresy e-mail, numery telefonów czy kart, zanim wynik zapytania trafi do modelu.

Ścieżka alternatywna: Claude Desktop

Jeśli pracujesz też w Claude Desktop, dodaj wpis serwera do jego pliku konfiguracyjnego (klamry zakodowane encjami, w realnym pliku JSON użyj zwykłych nawiasów):

{
  "mcpServers": {
    "mcp_server_mysql": {
      "command": "npx",
      "args": [
        "-y",
        "@benborla29/mcp-server-mysql"
      ],
      "env": {
        "MYSQL_HOST": "localhost",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "twoj_uzytkownik",
        "MYSQL_PASS": "twoje_haslo",
        "MYSQL_DB": "nazwa_bazy",
        "ALLOW_INSERT_OPERATION": "false",
        "ALLOW_UPDATE_OPERATION": "false",
        "ALLOW_DELETE_OPERATION": "false",
        "ALLOW_DDL_OPERATION": "false"
      }
    }
  }
}

Zrestartuj Claude Desktop, sprawdź połączenie tym samym promptem testowym co po instalacji, a potem zaimportuj gotowy wpis do Claude Code:

claude mcp add-from-claude-desktop

Chcecie, żeby tak pracował cały Wasz zespół?

Akademia to materiały. Wdrożenie to dwa kwartały na Waszym kodzie, z pomiarem efektu w DEVLens. Audyt 90 minut wystarczy, żeby sprawdzić, czy ma to u Was sens.