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

Parametry oficjalnego PostgreSQL MCP (zarchiwizowany)
ParametrOpis
Klucz APIBrak — connection string PostgreSQL przekazywany jako argument
CennikDarmowy (open-source). Serwer PostgreSQL musisz mieć sam
Co umiequery — 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
OgraniczeniaTylko 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.

Parametry community PostgreSQL MCP (@henkey/postgres-mcp-server)
ParametrOpis
Pakiet@henkey/postgres-mcp-server (npm) / github.com/HenkDz/postgresql-mcp-server
Klucz APIBrak — connection string przez argument lub zmienną POSTGRES_CONNECTION_STRING
CennikDarmowy (open-source, AGPL-3.0)
Co umiePeł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.

Parametry Memory MCP
ParametrOpis
Klucz APIBrak — działa lokalnie
CennikDarmowy (open-source). Dane przechowywane lokalnie w pliku JSONL
Co umiecreate_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?