PostgreSQL MCP
Serwer MCP dający Claude bezpośredni dostęp do bazy danych PostgreSQL. Claude może odpytywać tabele, analizować dane, sprawdzać schemat i pisać zapytania SQL — pracując na prawdziwych danych zamiast zgadywać strukturę.
Oficjalny pakiet @modelcontextprotocol/server-postgres jest zarchiwizowany — Anthropic przeniosło go do repozytorium servers-archived i nie dostarcza do niego aktualizacji bezpieczeństwa ani poprawek błędów. Pakiet działa, ale nie nadaje się do użytku produkcyjnego. Poniżej opisuję go jako punkt wyjścia, a następnie pokazuję aktywnie utrzymywaną alternatywę.
Oficjalny (zarchiwizowany): @modelcontextprotocol/server-postgres
| Parametr | Opis |
|---|---|
| Klucz API | Brak — connection string PostgreSQL przekazywany jako argument |
| Cennik | Darmowy (open-source). Serwer PostgreSQL musisz mieć sam |
| Co umie | query — wykonanie zapytania SQL w trybie read-only (transakcja READ ONLY). Schemat tabel dostępny przez MCP Resources (postgres://<host>/<table>/schema), nie przez osobne narzędzia |
| Ograniczenia | Tylko odczyt (brak INSERT/UPDATE/DELETE), brak limitu wierszy, brak timeoutu zapytań, schemat tylko dla schematu public |
| Kiedy wybrać | Wyłącznie do prototypów i eksperymentów na lokalnej bazie dev |
{
"mcpServers": {
"postgres": {
"command": "npx.cmd",
"args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://user:password@localhost:5432/mydb"]
}
}
}
Alternatywa: @henkey/postgres-mcp-server
Aktywnie utrzymywany community serwer z pełnym CRUD, 14 narzędziami i obsługą wielu operacji na schemacie bazy. Licencja AGPL-3.0.
| Parametr | Opis |
|---|---|
| Pakiet | @henkey/postgres-mcp-server (npm) / github.com/HenkDz/postgresql-mcp-server |
| Klucz API | Brak — connection string przez argument lub zmienną POSTGRES_CONNECTION_STRING |
| Cennik | Darmowy (open-source, AGPL-3.0) |
| Co umie | Pełny CRUD (SELECT, INSERT, UPDATE, DELETE, UPSERT), zarządzanie schematem (tabele, kolumny, klucze, indeksy, triggery, RLS, funkcje), analiza wydajności zapytań, monitoring, eksport/import danych |
| Kiedy wybrać | Gdy potrzebujesz więcej niż read-only — analiza danych, debugging bazy, generowanie raportów, eksploracja schematu |
{
"mcpServers": {
"postgres": {
"command": "npx.cmd",
"args": ["-y", "@henkey/postgres-mcp-server", "--connection-string", "postgresql://user:password@localhost:5432/mydb"]
}
}
}
Przykład promptu:
Sprawdź schemat tabeli orders i order_items. Napisz zapytanie
SQL, które pokaże top 10 produktów z najwyższym revenue
w ostatnim miesiącu, z rozbiciem na kategorie. Uruchom je
i pokaż wyniki.
Memory MCP
Claude Code ma wbudowany system pamięci — pliki Markdown w ~/.claude/projects/<projekt>/memory/ plus indeks MEMORY.md. Claude zapisuje informacje na polecenie użytkownika lub gdy uzna to za przydatne, a pliki można ręcznie edytować. Dla większości użytkowników Claude Code to w zupełności wystarcza.
Memory MCP to inne podejście: zamiast plików Markdown, dane są przechowywane jako graf wiedzy (knowledge graph) w pliku JSONL. Claude jawnie tworzy encje (np. "Projekt X", "Użytkownik Y"), przypisuje im obserwacje (fakty) i definiuje relacje między nimi. Graf można przeszukiwać i filtrować strukturalnie — to nie jest notatnik, ale baza wiedzy z typami i powiązaniami.
Kiedy Memory MCP ma sens ponad wbudowaną pamięć:
- Claude Desktop — nie ma tam wbudowanego systemu pamięci; Memory MCP jest jedyną opcją trwałego kontekstu między sesjami.
- Współdzielona pamięć między narzędziami — jeśli chcesz, żeby ten sam graf encji był dostępny z Claude Desktop, Claude Code i innych agentów jednocześnie.
- Duże, strukturowane bazy wiedzy — gdy masz setki encji z relacjami i potrzebujesz zapytań w stylu "znajdź wszystkie projekty powiązane z klientem X", a nie prostego przeszukiwania plików tekstowych.
Jeśli pracujesz wyłącznie w Claude Code — zostań przy wbudowanej pamięci.
| Parametr | Opis |
|---|---|
| Klucz API | Brak — działa lokalnie |
| Cennik | Darmowy (open-source). Dane przechowywane lokalnie w pliku JSONL |
| Co umie | create_entities (encje z obserwacjami), add_observations (nowe fakty), create_relations (relacje między encjami), search_nodes (wyszukiwanie), open_nodes (odczyt po nazwie), usuwanie encji/obserwacji/relacji |
| Kiedy wybrać | Claude Desktop (brak wbudowanej pamięci), współdzielona pamięć między narzędziami, strukturalne bazy wiedzy z relacjami między encjami |
Instalacja (Windows):
{
"mcpServers": {
"memory": {
"command": "npx.cmd",
"args": ["-y", "@modelcontextprotocol/server-memory"],
"env": {
"MEMORY_FILE_PATH": "C:\\Users\\TwójLogin\\.claude\\memory.jsonl"
}
}
}
}
Claude Code ma wbudowany system pamięci (pliki w ~/.claude/projects/<projekt>/memory/ + MEMORY.md), który działa bez dodatkowego MCP. Memory MCP ma sens głównie w Claude Desktop lub gdy chcesz współdzielić pamięć między różnymi narzędziami/agentami.
Przykład promptu:
Zapamiętaj w Memory: projekt "invoice-api" używa FastAPI 0.115,
PostgreSQL 16, jest deployowany na Railway, maintainerem jest
Kasia (@kasia). Schemat bazy jest w pliku db/schema.sql.
W kolejnej sesji:
Co wiesz o projekcie invoice-api? Kto jest maintainerem
i jaki stack jest używany?