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

Neon

بواسطة neondatabase · neondatabase/mcp-server-neon

MCP الرسمي من Neon — أنشئ فروعًا من قاعدة البيانات Postgres بدون خادم للاختبار الآمن للترحيلات، وقم بتنفيذ الاستعلامات وإدارة المشاريع من المحادثة.

MCP الرسمي من Neon. المميز الأساسي هو الفروع: نسخة سريعة (أقل من ثانية) بآلية copy-on-write تسمح لك باختبار الترحيلات التدميرية على بيانات حقيقية دون أي مخاطرة. بالإضافة إلى عمليات CRUD القياسية للمشاريع والأدوار وقواعد البيانات وتنفيذ SQL.

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

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

عرض مباشر

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

neon.replay ▶ جاهز
0/0

التثبيت

اختر العميل

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

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

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

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

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "neon": {
      "command": "npx",
      "args": [
        "-y",
        "@neondatabase/mcp-server-neon"
      ]
    }
  }
}

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

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "neon": {
      "command": "npx",
      "args": [
        "-y",
        "@neondatabase/mcp-server-neon"
      ]
    }
  }
}

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

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "neon",
      "command": "npx",
      "args": [
        "-y",
        "@neondatabase/mcp-server-neon"
      ]
    }
  ]
}

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

~/.config/zed/settings.json
{
  "context_servers": {
    "neon": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@neondatabase/mcp-server-neon"
        ]
      }
    }
  }
}

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

claude mcp add neon -- npx -y @neondatabase/mcp-server-neon

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

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

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

اختبار ترحيل Postgres تدميري على فرع copy-on-write

👤 المهندسون الذين يقومون بتغييرات schema على قاعدة بيانات تحتوي على بيانات حقيقية ⏱ ~20 min intermediate

متى تستخدمه: عندما تكون لديك ترحيل (DROP COLUMN, UPDATE كبير, إعادة بناء index) وتريد تنفيذه على بيانات تشابه الإنتاج دون المخاطرة بالبيئة الإنتاجية.

المتطلبات الأساسية
  • مفتاح API من Neon — console.neon.tech → Account → API keys
الخطوات
  1. أنشئ فرعًا من main
    في مشروع Neon <id>، أنشئ فرعًا باسم 'test-drop-legacy' من الفرع الرئيسي. أرجع connection string للفرع الجديد.✓ تم النسخ
    → تم إنشاء الفرع في أقل من ثانيتين، تم إرجاع connection string
  2. طبّق الترحيل على الفرع
    اتصل بالفرع الجديد وقم بتنفيذ: <أدرج SQL الترحيل>. أبلغ عن عدد الصفوف وأي أخطاء.✓ تم النسخ
    → اكتمل الترحيل؛ الأعداد منطقية
  3. تحقق، ثم قم بالتنظيف
    قم بتشغيل queries للتحقق من الصحة على الجداول المعدلة. إذا كانت النتائج صحيحة، أخبرني وسأطبقها على main. ثم احذف الفرع على أي حال.✓ تم النسخ
    → تم التحقق + تم حذف الفرع لتجنب تكاليف التخزين

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

المزالق
  • الفرع يستهلك تخزينًا بما يتناسب مع كمية الكتابة عليه — احذف الفروع فورًا بعد الاختبار — الفروع المهملة ذات الكتابات الثقيلة ترفع الفاتورة
  • الفرع عبارة عن لقطة — لا يرى الكتابات التي تحدث على main بعد إنشاء الفرع — أنشئ الفرع قريبًا من وقت التطبيق؛ أو استخدم ميزة time-travel من Neon للفرع من طابع زمني محدد
اجمعها مع: github · postgres

إنشاء قاعدة بيانات مؤقتة لكل PR لاختبارات التكامل

👤 الفرق التي تقوم بتشغيل اختبارات CI للتكامل مقابل Postgres حقيقية ⏱ ~15 min intermediate

متى تستخدمه: كل PR يحتاج إلى قاعدة بيانات معزولة خاصة به؛ محاكاة SQLite غير كافية.

الخطوات
  1. أنشئ فرعًا باسم PR
    أنشئ فرع Neon في المشروع <id> باسم 'pr-482' من main. أرجع connection string.✓ تم النسخ
    → الفرع جاهز، تم إرجاع connection string
  2. قم بتشغيل مجموعة الاختبارات ضده
    اضبط DATABASE_URL على ذاك connection string. شغّل npm run test:integration وأبلغ عن النتائج.✓ تم النسخ
    → تم تشغيل الاختبارات، ملخص النجاح/الفشل
  3. أزل الفرع
    احذف الفرع 'pr-482'.✓ تم النسخ
    → تم حذف الفرع

النتيجة: اختبارات تكامل قاعدة بيانات حقيقية مع عزل يستغرق ثوانٍ لإنشاءه، بدون تلويث الحالة المشتركة.

المزالق
  • حدود الفروع لكل مشروع على الخطط الأقل — حدود المستوى المجاني مهمة؛ إما قم بالترقية أو طبّق كنسًا لـ max-N-branches
اجمعها مع: github

إعطاء Claude وصول آمن للقراءة فقط إلى قاعدة بيانات Neon الإنتاجية

👤 المهندسون الذين يقومون بتصحيح بيانات الإنتاج دون إعطاء النموذج قوة الكتابة ⏱ ~10 min beginner

متى تستخدمه: تريد التحقق من مشكلة في الإنتاج لكنك قلق من UPDATE خاطئ.

الخطوات
  1. أنشئ دورًا للقراءة فقط
    في مشروع Neon <id>، أنشئ دورًا 'claude_readonly' مع وصول SELECT فقط على schema public. أرجع connection string الخاص به.✓ تم النسخ
    → تم إنشاء الدور؛ تم إرجاع connection string
  2. اتصل عبر Postgres MCP
    استخدم ذاك connection string مع Postgres MCP. تأكد أنني أستطيع تشغيل SELECT لكن ليس INSERT.✓ تم النسخ
    → SELECT يعمل، INSERT يخطئ برسالة 'permission denied'
  3. حقق في المشكلة
    الآن استعلم عن جدول orders للمستخدم المتأثر user_id 99214. ما هي حالة الصف وهل هناك شيء غير عادي؟✓ تم النسخ
    → تشخيص ملموس من بيانات حقيقية

النتيجة: جلسة تصحيح إنتاج منتجة مع ضمان سلامة القراءة فقط.

المزالق
  • نسيان تحديد نطاق الجداول المستقبلية — الجداول الجديدة لم تكن مغطاة — استخدم ALTER DEFAULT PRIVILEGES للتأكد من أن الجداول الجديدة تمنح SELECT إلى claude_readonly تلقائيًا
اجمعها مع: postgres

مراجعة تطور schema عبر الفروع قبل الدمج

👤 DBAs والمهندسون الأساسيون ⏱ ~25 min advanced

متى تستخدمه: عدة فروع ميزة لديها كل واحد منها تغييرات schema الخاصة به؛ تريد رؤية الفرق التراكمي.

الخطوات
  1. اسرد الفروع وحالاتها
    اسرد جميع فروع Neon للمشروع <id>. لكل واحد، أعطني وصفًا بسطر واحد لكيفية اختلاف schema الخاص به عن main.✓ تم النسخ
    → ملخص فرق schema لكل فرع
  2. قارن فرعين بالتفصيل
    للفرع 'feature-payments' مقابل main: قارن الجداول والأعمدة والـ indexes والقيود. نسّق كـ SQL migration.✓ تم النسخ
    → فرق SQL قابل للمراجعة
  3. حدّد التضاربات
    إذا تم دمج feature-payments و feature-auth معًا، هل تتعارض تغييرات schema الخاصة بهما؟ أين؟✓ تم النسخ
    → قائمة تضارب محددة، وليس 'لا توجد مشاكل واضحة'

النتيجة: ترتيب الدمج والتضاربات معروفة قبل أن تصل إلى main.

المزالق
  • الفرق يفتقد التغييرات داخل materialized views أو stored procs — كن واضحًا — اطلب من Claude أيضًا مقارنة pg_proc وتعاريف الـ views، وليس فقط الجداول
اجمعها مع: github

التركيبات

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

neon + github

قاعدة بيانات مؤقتة لكل PR لاختبارات CI، مع تعليقات PR تعرض معلومات الاتصال

عندما يتم فتح PR #482، أنشئ فرع Neon 'pr-482'، قم بتشغيل الترحيلات + البذور عليه، انشر connection string كتعليق خاص على PR.✓ تم النسخ
neon + postgres

استخدم Postgres MCP للاستعلام الأكثر أمانًا للقراءة فقط بمجرد أن ينشئ Neon الفرع

أنشئ فرع Neon مع دور القراءة فقط 'claude_ro'. ثم استخدم Postgres MCP مع ذاك connection string للتحقق من مشكلة user-99214.✓ تم النسخ
neon + filesystem

طبّق ملفات ترحيل SQL المحلية على فرع Neon بالترتيب

اقرأ كل ملف .sql تحت /db/migrations/ بترتيب الأسماء. طبّقها بالتسلسل على فرع Neon 'staging'.✓ تم النسخ

الأدوات

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

الأداةالمدخلاتمتى تستدعيهاالتكلفة
list_projects none اطلع على مشاريع Neon الخاصة بك free
describe_project project_id احصل على نظرة عامة على مشروع free
create_branch project_id, name?, parent_id?, parent_lsn? or parent_timestamp? أنشئ فرعًا لاختبار أو قواعد بيانات لكل PR branch storage billed by writes
list_branches project_id احسب الفروع free
delete_branch project_id, branch_id نظّف بعد الاختبار — مهم للتحكم في تكلفة التخزين free
get_connection_string project_id, branch_id?, role_name?, database_name? احصل على connection string محدد نطاق إلى فرع/دور/قاعدة بيانات free
run_sql project_id, branch_id?, sql: str نفّذ SQL على أي فرع compute time billed
describe_table_schema project_id, branch_id?, table_name افحص جدولاً دون كتابة SQL بنفسك free
create_role / drop_role project_id, role_name إدارة الأدوار للوصول المحدد النطاق free
create_database / list_databases project_id, name إعدادات قاعدة بيانات متعددة لكل مشروع free

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

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

حصة API
حدود Neon API القياسية لكل خطة
الرموز لكل استدعاء
معظم العمليات صغيرة؛ نتائج SQL تتدرج مع عدد الصفوف — دائمًا LIMIT الاستعلامات الاستكشافية
التكلفة المالية
MCP مجاني؛ المستوى المجاني من Neon يغطي المشاريع الصغيرة، الخطط المدفوعة تفرض رسوم ساعات حوسبة والتخزين
نصيحة
الفروع بدون تكلفة فعليًا حتى تتراكم الكتابات عليها. مفاجأة التكلفة الأساسية هي الفروع المنسية — ضع سياسة تنظيف أو احذف دائمًا بعد الاستخدام.

الأمان

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

الحد الأدنى من الصلاحيات: حدّد نطاق مفتاح API لمشروع واحد عند الإمكان
تخزين بيانات الاعتماد: API key في متغير البيئة NEON_API_KEY
نقل البيانات الخارجي: استدعاءات API console.neon.tech؛ حركة SQL إلى endpoint إقليمي مشروعك
لا تمنح أبدًا: مفاتيح إدارة على مستوى المنظمة للوكلاء طويلة الأجل

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

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

401 Unauthorized

مفتاح API غير صحيح أو تم إلغاؤه. أنشئ جديدًا في console.neon.tech → Account → API keys.

تحقق: curl -H 'Authorization: Bearer $NEON_API_KEY' https://console.neon.tech/api/v2/projects
Branch creation fails: 'limit reached'

وصلت إلى حد الفروع في خطتك. احذف الفروع غير المستخدمة أو قم بالترقية.

run_sql times out on a long migration

قد تتجاوز الجمل طويلة الأجل مهلة الانتظار الافتراضية. استخدم psql مع connection string للعمليات الطويلة جدًا، أو قسّم الترحيل.

Connection string works once then fails (compute paused)

حوسبة المستوى المجاني من Neon معلقة تلقائيًا. الاتصال الأول يوقظها (cold start حوالي 1ث)؛ الاتصالات اللاحقة بخير. لا تعامل تأخير الاستدعاء الأول كفشل.

البدائل

Neon مقابل البدائل

البديلمتى تستخدمهاالمقايضة
Supabase MCPتريد المصادقة والدوال الحدية والتخزين بالإضافة إلى Postgresسطح أثقل؛ الفروع محدودة بالخطة Pro
Postgres MCPتحتاج فقط إلى وصول SQL للقراءة فقط ولا تستخدم الفروعلا توجد إدارة فروع/مشاريع
AWS RDS via aws MCPأنت على Postgres مدار AWS (RDS/Aurora)لا توجد فروع؛ الإتاحة أثقل وأبطأ

المزيد

الموارد

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

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

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