/ الدليل / الملعب / Neo4j
● رسمي neo4j-contrib 🔑 يتطلب مفتاحك

Neo4j

بواسطة neo4j-contrib · neo4j-contrib/mcp-neo4j

استعلم عن رسم بياني Neo4j وطوّره باستخدام لغة Cypher عبر Claude — فحص الصيغة الكامل وإمكانيات قراءة وكتابة Cypher مع حماية وحدود.

مجموعة MCP من Neo4j Labs تغطي تنفيذ Cypher (mcp-neo4j-cypher) وإدارة الصيغة وإدارة Aura. خادم Cypher الافتراضي يوفر القراءة والكتابة عبر أي نقطة نهاية Bolt. استخدم مع مستخدم Neo4j بصلاحيات قراءة فقط للاستكشاف الآمن في الإنتاج.

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

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

عرض مباشر

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

neo4j.replay ▶ جاهز
0/0

التثبيت

اختر العميل

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "neo4j": {
      "command": "uvx",
      "args": [
        "mcp-neo4j-cypher"
      ]
    }
  }
}

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

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "neo4j": {
      "command": "uvx",
      "args": [
        "mcp-neo4j-cypher"
      ]
    }
  }
}

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

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "neo4j": {
      "command": "uvx",
      "args": [
        "mcp-neo4j-cypher"
      ]
    }
  }
}

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

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "neo4j": {
      "command": "uvx",
      "args": [
        "mcp-neo4j-cypher"
      ]
    }
  }
}

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

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "neo4j",
      "command": "uvx",
      "args": [
        "mcp-neo4j-cypher"
      ]
    }
  ]
}

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

~/.config/zed/settings.json
{
  "context_servers": {
    "neo4j": {
      "command": {
        "path": "uvx",
        "args": [
          "mcp-neo4j-cypher"
        ]
      }
    }
  }
}

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

claude mcp add neo4j -- uvx mcp-neo4j-cypher

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

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

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

استكشف صيغة رسم بياني غير مألوفة في 5 دقائق

👤 مهندسون / محللون يرثون قاعدة بيانات Neo4j ⏱ ~15 min beginner

متى تستخدمه: تم تسليمك قاعدة بيانات رسم بياني بدون توثيق. تحتاج إلى نموذج عقلي قبل أن تتمكن من كتابة استعلامات مفيدة.

المتطلبات الأساسية
  • عنوان Neo4j Bolt + اسم المستخدم/كلمة المرورNEO4J_URI=bolt://host:7687, NEO4J_USERNAME, NEO4J_PASSWORD
  • يُنصح بمستخدم قراءة فقط للاستكشافCREATE USER claude SET PASSWORD '...' SET ROLES reader
الخطوات
  1. احصل على نظرة عامة على الصيغة
    استدعِ get_neo4j_schema. لخّص علامات العقدة، أنواع العلاقات، والأنماط الثلاثية الأكثر شيوعاً (label)-[rel]->(label).✓ تم النسخ
    → ملخص الصيغة مع ثلاثيات عينة
  2. أخذ عينة من العقد الممثلة
    بالنسبة للعلامات الثلاث الأكثر شيوعاً، استخدم MATCH (n:Label) RETURN n LIMIT 3 لكل منها. صف ما يبدو أن تمثله كل علامة.✓ تم النسخ
    → وصف دلالي للعلامات
  3. ارسم نموذج ER المحتمل
    بناءً على الصيغة + العينات، وصف في النثر قصة 'الكيان' في هذا الرسم البياني. ما الكائن الرئيسي، ما الذي يتصل به، ما الذي هامشي؟✓ تم النسخ
    → وصف نموذج المجال الواضح

النتيجة: نموذج مجال واحد يمكنك التحقق منه مع المؤلفين الأصليين.

المزالق
  • أخذ العينات من الرسوم البيانية الصغيرة يعطي أنماطاً مضللة — كما استخدم MATCH (n)-[r]->() RETURN type(r), count(*) لرؤية العلاقات التي تسيطر
اجمعها مع: filesystem

اكتب استعلامات رسم بياني للكشف عن شبكات الاحتيال

👤 محللو المخاطر / الاحتيال ⏱ ~40 min advanced

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

المتطلبات الأساسية
  • رسم بياني يحتوي على عقد User و Device و Address و Payment وعلاقات :USED و :LIVES_AT و :PAID — شكل رسم بياني احتيال نموذجي
الخطوات
  1. ابحث عن الأجهزة المشتركة
    ابحث عن الأجهزة التي استخدمها 3+ مستخدمين مختلفين في آخر 30 يوماً. أرجع device_id + قائمة user_ids + آخر ts مستخدم لكل زوج.✓ تم النسخ
    → مرشحو الحلقات
  2. سجّل حسب حجم المكون المتصل
    باستخدام GDS أو Cypher نقي، احسب المكونات المتصلة على User-(:USED)-Device-(:USED)-User. أرجع أكبر 10 مكونات حسب الحجم.✓ تم النسخ
    → مجموعات مريبة
  3. أنتج قائمة قابلة للتنفيذ
    بالنسبة لكل مجموعة عليا، اعرض المستخدمين المميزين، الحجم الإجمالي للمعاملة، والنشاط الأول/الأخير. ضع علامة على المجموعات > $10k كمراجعة عالية الأولوية.✓ تم النسخ
    → إدخالات قائمة انتظار المحلل

النتيجة: قائمة احتيال ذات أولويات مع Cypher الدقيق محفوظ.

المزالق
  • التخوض الساذج ينفجر على المحاور (جهاز wifi عام مشترك مع 10k مستخدم) — قيّد العمق وصفّ عقد المحور حسب الدرجة قبل التخوض
اجمعها مع: postgres

طوّر نموذج استعلام توصية المحتوى

👤 مهندسو المنتجات الذين يبنون 'المستخدمون الذين أيضاً أحبوا' ⏱ ~30 min intermediate

متى تستخدمه: لديك User-LIKED->Item وتريد التوصية بعناصر من مستخدمين مشابهين.

الخطوات
  1. اختر مستخدماً وابحث عن الجيران
    بالنسبة للمستخدم <id>، ابحث عن 20 مستخدم يشاركون أكثر عناصر LIKED. أرجع user_id وعدد التقاطع.✓ تم النسخ
    → مستخدمون مشابهون مرتبون
  2. اقترح عناصر أحبها هؤلاء المستخدمون
    بالنسبة لأفضل 20 مستخدم متشابه، اعرض العناصر التي أحبوها و <id> لم يحبها. رتب حسب عدد المستخدمين المتشابهين الذين أحبوها.✓ تم النسخ
    → أفضل توصيات N
  3. حوّله إلى استعلام قابل لإعادة الاستخدام
    وسّط كـ Cypher قابل للاستدعاء مع $user_id؛ أضف الفهارس المطلوبة للسرعة.✓ تم النسخ
    → استعلام جاهز للإنتاج + عبارات CREATE INDEX

النتيجة: استعلام تصفية تعاوني يعمل بسرعة كافية للخدمة الفورية.

المزالق
  • نسيان فهرس على :User(id) يجعل استعلامات البداية خطية — استخدم CREATE INDEX FOR (u:User) ON (u.id) و EXPLAIN للتأكد من استخدامها

حمّل البيانات العلائقية إلى Neo4j من جدول التجميع

👤 مهندسو البيانات الذين ينتقلون من SQL إلى الرسم البياني ⏱ ~40 min advanced

متى تستخدمه: لديك مستخدمون + يتابعون في Postgres وتريد تمثيل رسم بياني.

المتطلبات الأساسية
  • مستخدم Neo4j قابل للكتابة — دور مع CREATE على قاعدة البيانات المستهدفة
الخطوات
  1. خطط لتعيين العقدة/الحافة
    بناءً على جداول users(id, name) و follows(from_id, to_id)، اقترح نموذج Neo4j. Label(s)؟ اتجاه العلاقة؟✓ تم النسخ
    → (:User {id,name})-[:FOLLOWS]->(:User)
  2. أنشئ القيود أولاً
    أنشئ CREATE CONSTRAINT FOR (u:User) REQUIRE u.id IS UNIQUE. قم بتشغيله.✓ تم النسخ
    → تم إنشاء القيد
  3. تحميل بكمية كبيرة مع MERGE
    من صفوف المستخدم المقدمة، قم بتشغيل UNWIND $rows AS r MERGE (:User {id:r.id}) ... ثم يتابع مع MERGE (a)-[:FOLLOWS]->(b). حسّ 10k في المرة الواحدة.✓ تم النسخ
    → تم تحميل جميع الصفوف بشكل متطابق

النتيجة: عملية ETL قابلة لإعادة التشغيل تحمل بيانات علائقية إلى شكل رسم بياني.

المزالق
  • CREATE بدلاً من MERGE ينشئ عقد مكررة عند إعادة التشغيل — استخدم دائماً MERGE للتحديث الفوري، وتطلب قيد فريد قبل MERGE بكمية كبيرة للسرعة
اجمعها مع: postgres

أجب عن الأسئلة باللغة الطبيعية على رسم بياني المعرفة

👤 الفرق الداخلية التي لديها مجال KG ⏱ ~25 min intermediate

متى تستخدمه: بنيت أنطولوجيا صغيرة (منتجات، ميزات، عملاء) وتريد من Claude أن يجيب 'أي العملاء يستخدمون الميزة X' دون تعلم Cypher.

الخطوات
  1. ركّز Claude في الصيغة
    هنا الصيغة [الصق إخراج get_neo4j_schema]. من الآن فصاعداً، ترجم أسئالي إلى Cypher قبل تشغيلها.✓ تم النسخ
    → Claude يكرر فهم الصيغة
  2. اسأل سؤالاً، احصل على Cypher + إجابة
    أي العملاء يستخدمون الميزة 'export-csv' في الربع الأخير؟✓ تم النسخ
    → Cypher معروضة + جدول النتيجة
  3. صقّل عندما تكون Cypher خاطئة
    تلك Cypher فاتتها علاقة :USED إلى Session. صححها للمرور عبر الجلسات.✓ تم النسخ
    → Cypher معدّلة تم تشغيلها

النتيجة: واجهة NL-to-Cypher خفيفة الوزن لزملائك غير التقنيين.

المزالق
  • Claude يخترع عناوين لا توجد — ثبتها: 'استخدم فقط العناوين/العلاقات من الصيغة المقدمة؛ وإلا قل غير معروفة'

التركيبات

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

neo4j + postgres

مزامنة البيانات العلائقية إلى تمثيل رسم بياني

استخرج المستخدمين + يتابعون من Postgres، ثم MERGE إلى Neo4j كـ (:User)-[:FOLLOWS]->(:User).✓ تم النسخ
neo4j + qdrant

RAG معزز بالرسم البياني: استخدم Qdrant للاستدعاء الدلالي، Neo4j للعلاقات الدقيقة

Qdrant يجد المستندات المشابهة للسؤال؛ ثم قم بالتخوض في Neo4j من الكيانات المتطابقة لاستخراج الحقائق المنظمة للإجابة.✓ تم النسخ
neo4j + filesystem

تصدير تقرير Cypher-generated كـ CSV/Markdown

قم بتشغيل Cypher للحلقة الاحتيالية، وصدّر أفضل 50 مجموعة كـ /reports/fraud-<date>.csv.✓ تم النسخ

الأدوات

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

الأداةالمدخلاتمتى تستدعيهاالتكلفة
get_neo4j_schema استدعِ دائماً أولاً في جلسة جديدة free
read_neo4j_cypher query: str, params?: object أي MATCH / RETURN — قراءة فقط free
write_neo4j_cypher query: str, params?: object CREATE/MERGE/SET/DELETE — طفرات free

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

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

حصة API
محدود بمثيلة Neo4j الخاصة بك. Aura Free: 200k عقدة/400k علاقة.
الرموز لكل استدعاء
الصيغة: ~500 رمز. نتائج الاستعلام: تعتمد على الصفوف والخصائص.
التكلفة المالية
مجاني لـ Community / self-hosted. يوجد Aura Free tier. Aura paid من ~$65/شهر.
نصيحة
استخدم دائماً EXPLAIN أولاً على الرسوم البيانية الكبيرة؛ يحول الفهرس المفقود على تسمية البداية استعلام 5ms إلى مسح 5min.

الأمان

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

الحد الأدنى من الصلاحيات: دور القراءة للاستكشاف بصلاحيات قراءة فقط
تخزين بيانات الاعتماد: NEO4J_URI, NEO4J_USERNAME, NEO4J_PASSWORD في البيئة
نقل البيانات الخارجي: اتصال Bolt مباشر إلى Neo4j الخاص بك (self-hosted أو Aura)
لا تمنح أبدًا: دور admin وصول كتابة عام

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

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

ServiceUnavailable: Connection refused

Neo4j لم يكن مشغولاً أو منفذ Bolt خاطئ (الافتراضي 7687). تحقق مع cypher-shell -a bolt://host:7687.

تحقق: nc -zv host 7687
Neo.ClientError.Security.Unauthorized

اسم مستخدم/كلمة مرور خاطئة. أعد التعيين عبر CALL dbms.security.changePassword('new') من جلسة إدارية.

Neo.ClientError.Statement.SyntaxError

Cypher من Claude بها خطأ — الصق الخطأ الدقيق، اطلب استعلام معدّل.

فشل الكتابة: عملية الكتابة غير مسموح بها في الوضع المقروء فقط

أنت متصل بدور قارئ؛ انتقل إلى مستخدم لديه WRITE أو استخدم اتصال كاتب منفصل.

البدائل

Neo4j مقابل البدائل

البديلمتى تستخدمهاالمقايضة
Memgraph MCPتحتاج إلى تحليل رسم بياني دفق؛ Memgraph متوافق مع Cypherنظام بيئي أصغر، خيارات استضافة أقل
ArangoDB MCPتريد متعدد النماذج (رسم بياني + وثيقة + KV)AQL بدلاً من Cypher؛ منحنى التعلم
Postgres + Apache AGEأنت في الغالب علائقي مع بعض احتياجات الرسم البيانيأداء الرسم البياني أسوأ من Neo4j الأصلي على التخوض الكبير

المزيد

الموارد

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

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

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