MCP

PostgreSQL MCP: انظر بنية الجداول أولًا ثم نفّذ استعلامًا للقراءة فقط

لمن يحتاج فحص schema في PostgreSQL أو تشغيل SQL للقراءة فقط؛ يجب أن تجهّز سلسلة الاتصال بنفسك. معاملة القراءة فقط ما زالت تقرأ القاعدة وقد تحمل كلمة مرور، وليست بلا مخاطر.

Official source · modelcontextprotocol/server-postgres

Install

npx -y @modelcontextprotocol/server-postgres postgresql://localhost/mydb

لمن يناسب

يناسب من يريد أن ينظر النموذج في بنية جداول قاعدة PostgreSQL وينفّذ SQL للقراءة فقط. الأدلة تنص: يوفّر هذا MCP وصولًا للقراءة فقط إلى PostgreSQL لفحص schema وتنفيذ استعلامات القراءة فقط.

يجب أن تقدّم عنوان URL قابلًا للاتصال بصيغة postgresql://، وأن تقبل أن النموذج سيقرأ بنى الجداول ونتائج الاستعلام. معاملة القراءة فقط ليست «بلا مخاطر»: ما زالت تتصل وتقرأ البيانات، ويمكن أن يحمل عنوان URL اسم مستخدم وكلمة مرور.

الأدلة لا تسرد قائمة العملاء. الصفحة الرسمية في شجرة servers-archived، والأدلة لا تكتب حالة الصيانة على حدة؛ لا تفترض أنها ما زالت التنفيذ الرئيسي الموصى به.

أول محاولة في 3 دقائق

اتبع المسار الرئيسي NPX ولا تجعل Docker التثبيت الأساسي. في إعداد MCP للعميل استخدم:

"command": "npx",
"args": [
  "-y",
  "@modelcontextprotocol/server-postgres",
  "postgresql://localhost/mydb"
]

استبدل آخر عنوان URL بقاعدة لديك حق الوصول إليها للقراءة فقط. يمكن كتابة اسم المستخدم وكلمة المرور كما في الأدلة: postgresql://user:password@host:port/db-name. لا تلصق حساب كتابة للإنتاج أو كلمة مرور كاملة في المحادثة.

المتطلبات: الجهاز فيه npx؛ والقاعدة تسمح بالاتصال من تلك العملية؛ في المرة الأولى افحص schema فقط أو نفّذ استعلامًا لا يغيّر البيانات.

موضع الإعداد: command / args لخادم MCP في العميل. الوسيط الثالث هو سلسلة الاتصال.

أول استدعاء منخفض المخاطر: اقرأ أولًا المورد postgres://<host>/<table>/schema لرؤية أسماء أعمدة جدول وأنواعها؛ أو استدعِ الأداة query مع سلسلة sql — الأدلة تضمن التنفيذ في معاملة READ ONLY. لا تجرّب INSERT/UPDATE/DELETE «للتحقق من القراءة فقط».

إشارة النجاح: بعد اتصال العميل يمكن سرد موارد schema للجداول، أو يعيد query نتيجة قراءة فقط. إن فشل الاتصال فغيّر عنوان URL أولًا (قاعدة محلية، منفذ، اسم القاعدة) ولا تنتقل إلى Docker للتخمين. عن Docker تضيف الأدلة فقط: على macOS إن كانت الخدمة على المضيف فاستخدم host.docker.internal.

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

الحالة 1: معرفة أعمدة جدول. اقرأ postgres://<host>/<table>/schema. الأدلة تنص أن هذا JSON schema مكتشف تلقائيًا من بيانات التعريف، ويشمل أسماء الأعمدة وأنواع البيانات. لا توجد API لتعداد أسماء الجداول؛ استبدل <host> و<table> وفق اتصالك الفعلي. لا تختلق جداول لا تراها.

الحالة 2: تشغيل استعلام قراءة فقط على جدول أكّدت وجوده. استدعِ query والمعامل الوحيد sql. الأدلة تضمن التنفيذ في معاملة READ ONLY ولا تكتب ترقيم النتائج ولا المهلة ولا نطاق لهجة SQL القابلة للتنفيذ. ما يمكن تأكيده: يُرسل هذا SQL كاستعلام قراءة فقط إلى القاعدة المتصلة. لا تفترض كتابة جداول مؤقتة أو استدعاء دوال تغيّر الحالة.

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

هذا وصول للقراءة فقط وليس كتابة قابلة للاسترجاع: الأدلة لا تعطي undo. سلسلة الاتصال قد تحتوي كلمة مرور — تعرضًا لبيانات الاعتماد ومستوى البيانات. الأداة الوحيدة هي query. Docker وNPX مساران مختلفان؛ المسار الرئيسي يبقى NPX. الأدلة لا تكتب تجميع الاتصالات ولا SSL ولا فرض دور القراءة فقط، ولا تقول إن معاملة READ ONLY تمنع كل الآثار الجانبية (بعض دوال SQL قد تظل لها آثار خارجية، لكن الصفحة لا توسّع). الصفحة في شجرة مستودع مؤرشف؛ الأدلة لا تقدّم حزمة بديلة ولا ملاحظة ترحيل.