/ الدليل / الملعب / Postgres
● رسمي modelcontextprotocol 🔑 يتطلب مفتاحك

Postgres

بواسطة modelcontextprotocol · modelcontextprotocol/servers

اسمح لـ Claude بالاستعلام عن قاعدة بيانات Postgres الخاصة بك بأمان للقراءة فقط، مع فحص كامل للمخطط الشامل وخطط EXPLAIN — دون أن تمنحه صلاحيات الكتابة أبداً.

خادم Postgres MCP المرجعي. يتصل بعنوان URL قياسي postgres://، ويوفر استعراض المخطط وتنفيذ الاستعلامات و EXPLAIN. قراءة فقط بصرامة — بدون INSERT/UPDATE/DELETE/DDL — مما يجعله آمناً للإشارة إلى نسخ القراءة في الإنتاج.

لماذا تستخدمه

الميزات الأساسية

عرض مباشر

كيف يبدو في الممارسة

postgres.replay ▶ جاهز
0/0

التثبيت

اختر العميل

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-postgres",
        "postgresql://..."
      ]
    }
  }
}

افتح Claude Desktop → Settings → Developer → Edit Config. أعد التشغيل بعد الحفظ.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-postgres",
        "postgresql://..."
      ]
    }
  }
}

يستخدم Cursor نفس مخطط mcpServers مثل Claude Desktop. إعدادات المشروع أولى من الإعدادات العامة.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-postgres",
        "postgresql://..."
      ]
    }
  }
}

انقر على أيقونة MCP Servers في شريط Cline الجانبي، ثم "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "postgres": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-postgres",
        "postgresql://..."
      ]
    }
  }
}

نفس الصيغة مثل Claude Desktop. أعد تشغيل Windsurf لتطبيق التغييرات.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "postgres",
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-postgres",
        "postgresql://..."
      ]
    }
  ]
}

يستخدم Continue مصفوفة من كائنات الخادم بدلاً من خريطة.

~/.config/zed/settings.json
{
  "context_servers": {
    "postgres": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@modelcontextprotocol/server-postgres",
          "postgresql://..."
        ]
      }
    }
  }
}

أضف إلى context_servers. يعيد Zed التحميل تلقائيًا عند الحفظ.

claude mcp add postgres -- npx -y @modelcontextprotocol/server-postgres postgresql://...

أمر من سطر واحد. تحقق باستخدام claude mcp list. احذف باستخدام claude mcp remove.

حالات الاستخدام

استخدامات عملية: Postgres

الإجابة على أسئلة العمل العفوية دون لمس SQL

👤 مديرو المنتجات والمؤسسون وأي شخص يفضل عدم كتابة SQL ⏱ ~10 min beginner

متى تستخدمه: لديك سؤال حول بيانات شركتك ('كم عدد المستخدمين الذين عادوا هذا الأسبوع؟') ولوحة BI لا تتضمنها.

المتطلبات الأساسية
  • سلسلة اتصال قراءة فقط postgres:// إلى نسخة — معظم الـ PG المُدارة (RDS و Neon و Supabase) تسمح لك بإنشاء بيانات اعتماد للقراءة فقط
  • وصول الشبكة من حيث يعمل Claude إلى قاعدة البيانات — VPN أو أضف عنوان IP لجهازك إلى قائمة المسموحين
الخطوات
  1. اطلب من Claude فحص الجداول ذات الصلة أولاً
    أدرج جميع الجداول في قاعدة البيانات الخاصة بنا. بالنسبة للجداول المتعلقة بالمستخدمين أو الطلبات أو الجلسات، صف مخططاتها.✓ تم النسخ
    → نظرة عامة على المخطط قبل أي استعلام
  2. اطرح السؤال الفعلي
    كم عدد المستخدمين الذين قاموا بالتسجيل في آخر 30 يوماً لكنهم لم يضعوا طلباً بعد؟ قم بتجميعها حسب أسبوع التسجيل.✓ تم النسخ
    → Claude يكتب SQL وينفذه ويعيد جدول النتائج
  3. البحث عن تحفظات
    هل هناك أي أسباب لأن يكون هذا الرقم مضللاً؟ حذف ناعم؟ منطقة زمنية في created_at؟ أنواع مستخدمين محددة يجب استبعادها؟✓ تم النسخ
    → تنبيه صادق حول غرائب البيانات

النتيجة: إجابة قابلة للدفاع عن سؤال العمل مع SQL والنتيجة والتحفظات — في دقيقتين بدلاً من انتظار فريق البيانات لمدة يومين.

المزالق
  • Claude يكتب استعلاماً يمسح أكبر جدول لديك بدون حدود — اضبط statement_timeout = '30s' على الاتصال وأضف 'تضمين دائماً LIMIT 1000 افتراضياً' إلى موجهك النظام
  • عد 'المستخدمين' يعتمد على ما يعتبر مستخدماً (محذوف؟ بوت؟ اختبار؟) — أخبر Claude اتفاقياتك مقدماً: 'استبعد الصفوف حيث deleted_at IS NOT NULL' إلخ
اجمعها مع: notion

تشخيص سبب بطء الاستعلام واقتراح الفهارس

👤 مهندسو النهاية الخلفية ومسؤولو قواعس البيانات ⏱ ~15 min intermediate

متى تستخدمه: لديك استعلام أبطأ مما ينبغي. تريد زوج عيون آخر لا يتعب من قراءة مخرجات EXPLAIN ANALYZE.

الخطوات
  1. احصل على خطة الاستعلام
    قم بتشغيل EXPLAIN ANALYZE على هذا الاستعلام: [الصق]. شرح لي ما يفعله المخطط.✓ تم النسخ
    → شرح خطة خطوة بخطوة
  2. حدد مسبب التكلفة
    أي خطوة مسؤولة عن معظم التكلفة؟ هل هي مسح تسلسلي أم ترتيب دمج سيء أم تصفية مكلفة؟✓ تم النسخ
    → عقدة محددة مع السبب
  3. اقترح فهرساً أو إعادة صياغة
    اقترح أصغر تغيير لجعل هذا سريعاً. فضل إضافة فهرس على إعادة صياغة الاستعلام، لكن فقط إذا كان الفهرس مفيداً لأكثر من استعلام واحد.✓ تم النسخ
    → بيان CREATE INDEX ملموس أو استعلام معاد الصياغة

النتيجة: استعلام مفهرس أو معاد الصياغة، مع التبرير، يمكنك التحقق منه بتشغيل EXPLAIN مرة أخرى.

المزالق
  • EXPLAIN على مجموعة بيانات غير تمثيلية (قاعدة بيانات تطوير صغيرة) يعطي خطط مضللة — قم دائماً بتشغيل EXPLAIN مقابل قاعدة بيانات بها بيانات بشكل الإنتاج؛ وإلا فإن الخطة خيالية
  • إضافة فهرس تبدو مجانية لكن تبطئ الكتابات — أخبر Claude بالتحقق من استخدام الفهرس بالتحقق مع EXPLAIN قبل طلب إضافته
اجمعها مع: sentry

تدقيق الجدول لمشاكل جودة البيانات

👤 مهندسو البيانات وأي شخص يرث مخطط غريب ⏱ ~25 min intermediate

متى تستخدمه: أنت على وشك بناء ميزة فوق جدول لم تصممه وتشك في أنه قد يحتوي على مشاكل.

الخطوات
  1. قم بتشغيل سلسلة من فحوصات NULL والمكررة واليتيمة
    للجدول orders: عد قيم NULL لكل عمود وعد الصفوف المكررة بمفتاح طبيعي ما (على سبيل المثال (user_id, stripe_payment_intent_id)) وعد الصفوف مع المفاتيح الخارجية التي تشير إلى صفوف الأب المحذوفة.✓ تم النسخ
    → عد المشاكل لكل فحص
  2. تحقق من غرائب توزيع القيمة
    ما هو الحد الأدنى والأقصى والتوزيع النسبي لـ total_cents؟ هل هناك عدد كبير من الصفوف بقيم 0 أو سالبة بشكل مريب؟✓ تم النسخ
    → إحصائيات التوزيع وتم وضع علامات على القيم الشاذة
  3. التحقق المتقاطع مقابل قواعد العمل المتوقعة
    كل طلب 'مكتمل' يجب أن يحتوي على paid_at غير فارغ. هل هناك استثناءات؟✓ تم النسخ
    → عد الانتهاكات بالإضافة إلى معرفات العينة

النتيجة: قائمة قصيرة من أخطاء سلامة البيانات الملموسة، لكل منها عدد ومسار إصلاح.

المزالق
  • بعض 'المشاكل' قد تكون عبارات تاريخية مقصودة (هجرات البيانات) — دائماً تأكد مع شخص يعرف التاريخ قبل افتراض أنه خطأ

إنشاء توثيق المخطط تلقائياً لفريقك

👤 قادة التكنولوجيا الذين يقومون بإدراج المهندسين الجدد ⏱ ~20 min beginner

متى تستخدمه: قاعدة البيانات الخاصة بك تحتوي على 40 جدول والويكي يحتوي على 0. الموظفون الجدد يبقون يسألون 'ما هذا العمود؟'

الخطوات
  1. احصل على جميع الجداول ومخططاتها
    أدرج كل جدول في المخطط العام. لكل منها أعطني الأعمدة والأنواع والقيمية والإفتراضيات وأي مفاتيح خارجية.✓ تم النسخ
    → تفريغ المخطط الكامل
  2. استنتج الغرض من الاسم وبيانات العينة
    لكل جدول أخذ عينة من 3 صفوف واكتب وصفاً من فقرة واحدة لما يمثله هذا الجدول في عملنا.✓ تم النسخ
    → شرح نصي لكل جدول
  3. وضع علامات على الجداول غير المعروفة أو المريبة
    هل هناك أي جداول تبدو غير مستخدمة أو لا يمكنك استنتاج غرض لها؟ أدرجها حتى أتمكن من سؤال المؤلف الأصلي.✓ تم النسخ
    → قائمة صادقة 'لا أعرف ما هي هذه'

النتيجة: مستند Markdown يمكن لفريقك وضعه في Notion أو ويكي — يغطي 80٪ مما يحتاج الموظفون الجدد إلى معرفته.

المزالق
  • أخذ عينات من البيانات الحساسة (PII) في سياق LLM — للجداول التي تحتوي على PII اطلب من Claude أن يصف المخططات فقط دون أخذ عينات من الصفوف
اجمعها مع: notion · filesystem

حساب نتائج اختبار A/B من بيانات الحدث الأولية

👤 محللو المنتجات ومهندسو النمو ⏱ ~30 min advanced

متى تستخدمه: لقد أجريت تجربة والبيانات موجودة في قاعدة البيانات الخاصة بك وتريد أرقام الأهمية بدون كتابة SQL يدوياً.

المتطلبات الأساسية
  • جدول الأحداث مع تعيين التجربة وأحداث التحويل — المخطط القياسي: events(user_id, experiment, variant, timestamp) و conversions(user_id, type, timestamp)
الخطوات
  1. حساب معدل التحويل لكل متغير
    لتجربة 'checkout-redesign-2026': كم عدد المستخدمين المعينين لكل متغير وما كان معدل التحويل (حسب [حدث التحويل الخاص بك]) لكل متغير؟✓ تم النسخ
    → جدول لكل متغير مع المعدلات
  2. حساب الأهمية الإحصائية
    احسب قيمة p مربع كاي للفرق بين التحكم والعلاج. هل النتيجة ذات دلالة إحصائية عند p < 0.05؟✓ تم النسخ
    → قيمة p مع الحكم
  3. فحص العقل للأرقام
    هل أحجام العينات متوازنة؟ هل عملت التجربة لفترة كافية؟ هل هناك أي مقاطع حيث تعكس النتيجة؟✓ تم النسخ
    → فحص الصحة وليس فقط قيمة p

النتيجة: نتيجة اختبار A/B قابلة للدفاع إحصائياً مع SQL والأرقام والتحفظات.

المزالق
  • النظر إلى النتائج قبل حجم العينة المحدد مسبقاً يؤدي إلى إيجابيات خاطئة — اجعل Claude يفحص ما إذا كانت الاختبار قد وصلت إلى حجم العينة المستهدفة قبل حساب الأهمية
اجمعها مع: notion

التركيبات

اجمعها مع خوادم MCP أخرى لتحقيق نتائج x10

postgres + notion

قم بتشغيل استعلام ونشر النتائج كجدول Notion للمصلحين الذين لا يملكون وصولاً إلى قاعدة البيانات

استعلم عن أفضل 10 عملاء لنا حسب إيرادات العمر الافتراضي هذا الربع، ثم أنشئ صفحة Notion في 'تقارير المبيعات' بالنتائج كجدول منسق.✓ تم النسخ
postgres + sentry

التحقق المتقاطع لحالة قاعدة البيانات مع الأخطاء — عندما يذكر الخطأ معرف السجل ابحث عنه

مسألة Sentry WEB-3a91 تذكر order_id 99214. ابحث عن هذا الطلب وأخبرني ما إذا كان أي شيء في بيانات الصف يمكن أن يفسر التعطل.✓ تم النسخ
postgres + filesystem

تصدير نتائج الاستعلام كـ CSV/JSON للاستخدام النهائي

قم بتشغيل استعلام churn-cohort الخاص بي واحفظ النتيجة باسم /reports/churn-2026-04.csv.✓ تم النسخ

الأدوات

ما يوفره هذا الـ MCP

الأداةالمدخلاتمتى تستدعيهاالتكلفة
list_tables schema?: str الخطوة الأولى في أي جلسة — اكتشف المخطط free
describe_table table: str, schema?: str احصل على البنية الكاملة للجدول المحدد قبل الاستعلام free
query sql: str قم بتشغيل أي SQL للقراءة فقط — SELECT فقط depends on query

التكلفة والحدود

تكلفة التشغيل

حصة API
محدود بحد اتصال قاعدة البيانات والمهلة الزمنية للاستعلام
الرموز لكل استدعاء
استعلامات المخطط: ~500 رمز. مجموعات النتائج: تعتمد على عد الصفوف — حد مع LIMIT
التكلفة المالية
مجاني — التكاليف هي أي شيء فاتورة استضافة قاعدة البيانات لديك بالفعل
نصيحة
دائماً اضبط statement_timeout على الاتصال (على سبيل المثال ?options=-c%20statement_timeout%3D30000) حتى لا تتمكن استعلام غير محكوم من إسقاط قاعدة البيانات الخاصة بك.

الأمان

الصلاحيات والأسرار ونطاق الأثر

الحد الأدنى من الصلاحيات: SELECT على الجداول التي تريد عرضها
تخزين بيانات الاعتماد: سلسلة الاتصال في متغير البيئة. استخدم دوراً مخصصاً للقراءة فقط: CREATE ROLE claude_readonly LOGIN PASSWORD '...'; GRANT SELECT ON ALL TABLES IN SCHEMA public TO claude_readonly;
نقل البيانات الخارجي: جميع الاستعلامات إلى قاعدة البيانات الخاصة بك وصفوف النتائج المشحونة إلى أي موفر LLM تستخدمه
لا تمنح أبدًا: INSERT UPDATE DELETE DROP TRUNCATE ALTER

استكشاف الأخطاء

الأخطاء الشائعة وحلولها

FATAL: password authentication failed

تحقق من سلسلة الاتصال. السبب الشائع: أحرف خاصة في كلمة المرور غير مشفرة عبر URL.

تحقق: psql 'postgres://...' -c 'SELECT 1'
no pg_hba.conf entry / SSL required

أضف ?sslmode=require إلى سلسلة الاتصال. معظم Postgres المُدار يتطلب SSL.

permission denied for table X

الدور ليس لديه SELECT على هذا الجدول. قم بتشغيل GRANT SELECT ON X TO claude_readonly.

تحقق: psql -c '\dp X'
canceling statement due to statement timeout

كان الاستعلام بطيئاً جداً. إما أن تحسنه (أضف فهرس أو ضيق شرط WHERE) أو ارفع المهلة الزمنية لهذا الاتصال الواحد.

البدائل

Postgres مقابل البدائل

البديلمتى تستخدمهاالمقايضة
Supabase MCPأنت على Supabase — احصل على إدارة المشروع الكاملة بالإضافة إلى SQLيتضمن وصول الكتابة؛ أقل أماناً لـ prod
Neon MCPأنت على Neon — يضيف الفروع للاختبار الآمن للهجرةميزات خاصة بـ Neon تعمل فقط على قواعس بيانات Neon
dbHubتحتاج إلى دعم قواعس بيانات متعددة (Postgres و MySQL و MongoDB وإلخ) في MCP واحدأحدث؛ يدعم المزيد من قواعس البيانات لكن كل تكامل أقل عمقاً
sqlite MCPقاعدة بيانات مستندة إلى ملف محلي بدلاً من الخادمبدون وصول متزامن وبدون شبكة لكن إعداد صفري

المزيد

الموارد

📖 اقرأ ملف README الرسمي على GitHub

🐙 تصفح القضايا المفتوحة

🔍 تصفح أكثر من 400 خادم MCP و Skills