חיבור PostgreSQL לـ Claude Code דרך MCP, הגדרת חשבון לקריאה בלבד עם בקרת הרשאות — Claude קורא סכמות, כותב שאילתות ומנתח נתונים ישירות.
אחרי חיבור בסיס הנתונים, Claude Code עובד אחרת. אין צורך להעתיק מבני טבלאות לפרומפט או להסביר שמות שדות — Claude מתחבר ישירות, קורא את הסכמה בעצמו, כותב שאילתות ומנתח תוצאות.
המאמר משתמש ב-PostgreSQL כדוגמה ועובר על כל התהליך מהגדרה ועד שימוש ממשי.
@modelcontextprotocol/server-postgres הרשמי תומך ב:
קריאה בלבד. Server זה מיועד לשאילתות בלבד — לא מבצע INSERT, UPDATE או DELETE.
npm install -g @modelcontextprotocol/server-postgres
ערכו את .claude/settings.json (ברמת הפרויקט):
{
"mcpServers": {
"db": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres",
"postgresql://readonly_user:password@localhost:5432/myapp_production"]
}
}
}
אם לא רוצים לשמור סיסמה בקובץ הגדרות, השתמשו בשדה env עם משתנה סביבה. הגדרות רגישות שמרו ב-.claude/settings.local.json והוסיפו ל-.gitignore.
CREATE USER claude_readonly WITH PASSWORD 'your_password';
GRANT CONNECT ON DATABASE myapp_production TO claude_readonly;
GRANT USAGE ON SCHEMA public TO claude_readonly;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO claude_readonly;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO claude_readonly;
הפעילו מחדש את Claude Code ושאלו: "רשום את כל הטבלאות בבסיס הנתונים". אם Claude מחזיר רשימה — MCP עובד.
הבנת מבנה הנתונים: "מה הקשר בין טבלאות users ו-orders? יש אילוצי מפתח זר?"
ניתוח נתונים: "ממשתמשים שנרשמו ב-30 הימים האחרונים, כמה אחוז ביצעו לפחות הזמנה אחת? לפי ערוץ הרשמה."
איתור באגים: "מצא הזמנות עם status = 'pending' שנוצרו לפני יותר מ-7 ימים. כמה יש ומתי נוצרה האחרונה?"
תמיכה בפיתוח: "רוצה להוסיף עמודת last_login_at לטבלת users. כתוב SQL לmigration ובדוק אם האינדקסים הקיימים מספיקים."
-- לפי טבלאות
GRANT SELECT ON TABLE users, orders, products TO claude_readonly;
-- view לסינון שדות רגישים
CREATE VIEW users_safe AS SELECT id, email, created_at, plan, status FROM users;
GRANT SELECT ON users_safe TO claude_readonly;
ssh -L 5433:localhost:5432 [email protected] -N
השינוי הבולט ביותר: שיחות על נתונים לא דורשות הכנה מראש. אין צורך להסביר סכמה — אומרים מה צריך ו-Claude מחפש בעצמו. שימושי במיוחד לאיתור באגים: במקום לבצע שאילתה, להעתיק ולהדביק תוצאות, מתארים את הבעיה — Claude שואל ישירות ומחזיר מסקנות.