Dostęp do bazy danych: SQL i NoSQL
Twoje AI pisze interfejs User z pamięci i jest błędny: zgaduje, że email jest non-null, pomija kolumnę miękkiego usuwania deleted_at i typuje created_at jako string, podczas gdy to timestamptz. Dziesięć minut później debugujesz zablokowane zamówienia, a AI radośnie proponuje zapytanie do tabeli payment, która tak naprawdę nazywa się payments. Obie wpadki mają tę samą przyczynę — AI zgaduje Twoje dane, zamiast je czytać.
Serwer MCP bazy danych zamyka tę lukę. Gdy AI potrafi już zinspekcjonować schemat i uruchamiać zapytania read-only, dwa codzienne przepływy pracy przestają boleć: zamienianie prawdziwej tabeli w poprawny kod aplikacji oraz ściganie błędu w danych za pomocą żywych zapytań zamiast ręcznie pisanego SQL-a. Ta strona dotyczy właśnie tych dwóch przepływów. Pełne menu serwerów MCP dla baz danych oraz instrukcje instalacji każdego z nich znajdziesz w Serwery MCP dla baz danych SQL i NoSQL.
Co z tego wyniesiesz
Dział zatytułowany „Co z tego wyniesiesz”- Powtarzalny przebieg generowania dokładnego modelu danych z żywej tabeli, w Cursorze, Claude Code i Codeksie
- Pętlę debugowania na żywych danych, która znajduje winne wiersze w kilka minut
- Prompty do skopiowania dla obu przepływów pracy
- Postawę bezpieczeństwa „tylko do odczytu”, która sprawia, że te przepływy można bezpiecznie uruchamiać na stagingu
Szybka konfiguracja
Dział zatytułowany „Szybka konfiguracja”Te przepływy zakładają, że podłączony jest jeden serwer MCP bazy danych. Minimalna konfiguracja Postgres przez Prisma jest poniżej; podmień ją na MongoDB, SQLite lub Supabase z referencji serwerów MCP dla baz danych. Cursor i Claude Code dzielą ten sam JSON mcpServers; Codex używa TOML [mcp_servers.<id>], gdzie stdio jest implikowane przez command.
{ "mcpServers": { "prisma": { "command": "npx", "args": ["-y", "prisma", "mcp"] } }}claude mcp add prisma -- npx -y prisma mcp[mcp_servers.prisma]command = "npx"args = ["-y", "prisma", "mcp"]Przepływ 1: Wygeneruj model danych z żywej tabeli
Dział zatytułowany „Przepływ 1: Wygeneruj model danych z żywej tabeli”Potrzebujesz modelu User, który dokładnie odpowiada tabeli users — a nie najlepszemu zgadywaniu AI.
-
Każ AI odczytać prawdziwy schemat. Inspekcja w pierwszej kolejności oznacza, że wygenerowany kod jest oparty na rzeczywistych kolumnach, typach i nullowalności.
-
Wygeneruj model z tego kontekstu. Teraz AI ma prawdę w kontekście, więc typy się zgadzają.
Wynik pasuje do Twojej tabeli, bo został wygenerowany z Twojej tabeli — kolumny nullowalne są opcjonalne, znacznik czasu jest typu
Date, adeleted_atjest udokumentowany, a nie pominięty.
Przepływ 2: Debuguj na żywych danych
Dział zatytułowany „Przepływ 2: Debuguj na żywych danych”Część zamówień się zablokowała i podejrzewasz dane, a nie kod. Zamiast ręcznie pisać join, opisz objaw i pozwól AI zbudować oraz uruchomić zapytanie.
-
Opisz zły stan zwykłym językiem. AI przekłada go na SQL, uruchamia przez serwer MCP (tylko do odczytu) i pokazuje Ci winne wiersze.
Poproszenie go o wydrukowanie uruchomionego SQL-a to różnica między czarną skrzynką a narzędziem, któremu można ufać — sam weryfikujesz logikę joina, zanim uwierzysz w wynik.
-
Odbij się od dowodów. Mając w ręku konkretne ID zamówień, możesz zawęzić dalej bez przepisywania czegokolwiek ręcznie.
Zdiagnozowałeś główną przyczynę na żywych danych, bez wychodzenia z edytora i ręcznego pisania wielotabelowego joina — a ponieważ użytkownik jest tylko do odczytu, nic z tego nie mogło niczego zmutować.
Gdy coś się zepsuje
Dział zatytułowany „Gdy coś się zepsuje”AI odpytuje tabelę lub kolumnę, która nie istnieje. Wciąż zgaduje zamiast inspekcjonować. Wymuś krok 1: każ mu odczytać schemat, zanim napisze jakiekolwiek zapytanie, i potwierdź, że serwer MCP jest faktycznie podłączony (klient powinien wylistować jego narzędzia).
Uruchamia UPDATE lub DELETE, gdy chciałeś tylko SELECT. Użytkownik bazy danych ma zbyt wiele uprawnień. Utwórz dedykowaną rolę tylko do odczytu dla dostępu MCP — to najważniejsze zabezpieczenie dla obu przepływów.
Inspekcja schematu zwraca nieaktualne wyniki po migracji. Niektóre serwery MCP cache’ują metadane schematu. Zrestartuj serwer, by odświeżyć cache, a potem ponów prompt inspekcyjny.
Zapytanie przekracza timeout na dużej tabeli. Skany analityczne mogą przekroczyć timeout narzędzia serwera. Dodaj indeks, dodaj ciaśniejszą klauzulę WHERE lub poproś AI o LIMIT i paginację.