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

DBHub

بواسطة bytebase · bytebase/dbhub

خادم MCP واحد، عدة قواعد بيانات — Postgres و MySQL و SQL Server و SQLite و Oracle — في واجهة استعلام آمنة بقراءة فقط بشكل افتراضي.

DBHub من Bytebase هو خادم MCP بدون اعتماديات خارجية يتواصل مع عدة قواعس بيانات علائقية عبر ملف تنفيذي واحد npx @bytebase/dbhub. مرر DSN لنوع قاعدة البيانات الخاصة بك، واحصل على استعراض المخطط وأخذ عينات من الجداول وتنفيذ SQL. يعمل في وضع القراءة فقط بشكل افتراضي، مما يجعله آمناً للجلسات الاستكشافية على الإنتاج.

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

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

عرض مباشر

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

dbhub.replay ▶ جاهز
0/0

التثبيت

اختر العميل

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

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

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

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

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "dbhub": {
      "command": "npx",
      "args": [
        "-y",
        "@bytebase/dbhub"
      ]
    }
  }
}

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

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "dbhub": {
      "command": "npx",
      "args": [
        "-y",
        "@bytebase/dbhub"
      ]
    }
  }
}

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

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "dbhub",
      "command": "npx",
      "args": [
        "-y",
        "@bytebase/dbhub"
      ]
    }
  ]
}

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

~/.config/zed/settings.json
{
  "context_servers": {
    "dbhub": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@bytebase/dbhub"
        ]
      }
    }
  }
}

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

claude mcp add dbhub -- npx -y @bytebase/dbhub

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

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

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

الاستعلام من 3 قواعس بيانات مختلفة في جلسة واحدة

👤 المهندسون الذين لديهم مكدس تطبيقات يحتوي على أكثر من قاعدة بيانات علائقية واحدة ⏱ ~20 min intermediate

متى تستخدمه: مكدس التطبيقات الخاص بك يحتوي على Postgres للبيانات الأساسية و MySQL لخدمة قديمة و SQL Server لنسخة التقارير — وتريد مساعداً واحداً للذكاء الاصطناعي عبر الجميع.

المتطلبات الأساسية
  • DSN لكل قاعدة بيانات بأوراق اعتماد القراءة فقط — صيغ postgres:// و mysql:// و sqlserver:// و sqlite:// و oracle://
الخطوات
  1. تكوين عدة DSNs
    أخبرني أي قاعدة بيانات أنا موجود فيها حالياً. إذا لزم الأمر، انتقل إلى DSN الخاص بـ MySQL.✓ تم النسخ
    → مؤشر واضح لقاعدة البيانات النشطة
  2. فحص المخطط
    اعرض الجداول في قاعدة البيانات الحالية مع عدد الصفوف التقريبي.✓ تم النسخ
    → فهرس الجداول
  3. إجراء مراجع متقاطعة عبر قواعس البيانات
    استعلم من Postgres عن رسائل البريد الإلكتروني للمستخدمين، ثم استعلم من جدول legacy_users في MySQL عن نفس رسائل البريد الإلكتروني، وأخبرني من هو في أحدهما وليس الآخر.✓ تم النسخ
    → تقرير المطابقة

النتيجة: سير عمل واحد عبر قواعس بيانات مختلفة دون التعامل مع خوادم MCP مختلفة.

المزالق
  • الاختلافات في لهجة SQL تربك Claude (مثل LIMIT مقابل TOP) — أخبر Claude بوضوح أي نكهة قاعدة بيانات يستهدفها الاستعلام الحالي، أو قسّمه إلى أدوار خاصة بقاعدة البيانات
اجمعها مع: filesystem

تحليل ملف SQLite أرسله إليك شخص ما

👤 المهندسون والمحللون الذين تلقوا ملف .db غير واضح ⏱ ~10 min beginner

متى تستخدمه: أرسل لك عميل dump SQLite ويريد فحصاً سريعاً.

الخطوات
  1. وجّه DBHub إلى الملف
    استخدم DSN sqlite:///path/to/data.db. اعرض الجداول وعدد الصفوف.✓ تم النسخ
    → جرد الجداول
  2. خذ عينات من كل منها
    لكل جدول غير تافه، اعرض 5 صفوف عينة واستنتج الغرض منه.✓ تم النسخ
    → ملخص لكل جدول
  3. أجب على سؤال العميل
    يسأل العميل: <السؤال>. اكتب SQL وشغّله وأرجع الإجابة.✓ تم النسخ
    → الاستعلام والنتيجة

النتيجة: استكشاف سريع لملف sqlite غير مألوف دون استخراجه إلى أداة أخرى.

المزالق
  • جداول SQLite الكبيرة بدون فهارس — الفحوصات الكاملة يمكن أن تقفل الملف — افتح بقراءة فقط؛ تجنب التجميعات عبر أكثر من 1M صف في استعلام واحد
اجمعها مع: filesystem

تشغيل استعلامات التقارير مقابل نسخة قراءة آمنة

👤 الذكاء التجاري والتحليلات ⏱ ~15 min beginner

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

المتطلبات الأساسية
  • DSN بقراءة فقط مقابل النسخة المنسوخة — بيانات اعتماد النسخة المنسوخة فقط؛ statement_timeout مفروض في DSN
الخطوات
  1. التحقق من أنها النسخة المنسوخة
    أكّد أن الاتصال الحالي بقراءة فقط وينقل إلى مضيف النسخة المنسوخة.✓ تم النسخ
    → سلسلة المضيف + علم القراءة فقط مُتحقق منه
  2. شغّل التقرير
    [الصق السؤال التجاري]. ترجم إلى SQL وشغّله وأرجع النتائج.✓ تم النسخ
    → مجموعة النتائج
  3. احفظ لإعادة الاستخدام
    احفظ SQL هذا إلى /reports/<name>.sql مع تعليق يشرح السؤال.✓ تم النسخ
    → ملف SQL محفوظ

النتيجة: ذكاء تجاري خاص بالطلب دون مخاطر على النسخة الأساسية في الإنتاج.

المزالق
  • الاستعلامات الثقيلة تبطّئ النسخة المنسوخة وتنشئ تأخر التنسيخ — اضبط statement_timeout وشغّل الاستعلامات الكبيرة خارج ساعات الذروة
اجمعها مع: filesystem · antv-chart

تدقيق الإجراءات المخزنة في SQL Server لهجرة

👤 الفرق الهاجرة بعيداً عن SQL Server ⏱ ~30 min advanced

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

الخطوات
  1. عرض الإجراءات
    استعلم من sys.procedures + sys.sql_modules لعرض جميع الإجراءات مع الاسم والمخطط وعدد الأسطر وتاريخ آخر تعديل.✓ تم النسخ
    → جرد الإجراءات
  2. تصنيف التعقيد
    ضع الإجراءات في فئات حسب عدد الأسطر: تافهة (<50) ومتوسطة (50-300) ومعقدة (>300). احسب كل فئة.✓ تم النسخ
    → رسم بياني لتوزيع التعقيد
  3. ظهّر الميزات الخاصة بـ MSSQL
    للإجراءات المعقدة، علّم استخدام البنى الخاصة بـ MSSQL (CROSS APPLY و CTE recursion و TOP و GETDATE) — هذه عناصر الهجرة الصعبة.✓ تم النسخ
    → قائمة مخاطر الهجرة

النتيجة: خطة هجرة الإجراءات المخزنة مبنية على أرقام حقيقية.

المزالق
  • بعض الإجراءات تحتوي على SQL ديناميكي يصعب تصنيفه — علّم أي إجراء يحتوي على EXEC sp_executesql للمراجعة اليدوية
اجمعها مع: filesystem

التركيبات

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

dbhub + antv-chart

شغّل SQL ثم ارسم النتيجة مباشرة

استعلم عن الإيرادات الأسبوعية من نسخة Postgres عبر DBHub، ثم ارسم كرسم بياني AntV خطي.✓ تم النسخ
dbhub + filesystem

احفظ الاستعلامات والنتائج لقابلية التكرار

شغّل استعلام KPI الأسبوعي، احفظ SQL إلى /sql/weekly.sql والنتيجة CSV إلى /data/weekly-<date>.csv.✓ تم النسخ
dbhub + notion

انشر تقرير مدعوم بـ SQL إلى Notion

شغّل استعلام أفضل العملاء، أنشئ صفحة Notion مع النتيجة كجدول.✓ تم النسخ

الأدوات

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

الأداةالمدخلاتمتى تستدعيهاالتكلفة
list_databases خطوة الاستكشاف الأولى free
list_tables database? فهرسة قبل الاستعلامات free
describe_table table, schema? فحص المخطط قبل الاستعلام free
execute_sql sql, params? قراءة أو كتابة SQL (الكتابة تتطلب علم) depends on query
execute_read_sql sql, params? تنفيذ واضح للقراءة فقط depends

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

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

حصة API
محدد بحدود اتصال قاعدة البيانات الخاصة بك
الرموز لكل استدعاء
يعتمد على حجم النتيجة؛ حدد مع LIMIT
التكلفة المالية
مجاني — التكاليف هي استضافة قاعدة البيانات فقط
نصيحة
اضبط statement_timeout في DSN؛ الاستعلامات المكتوبة بـ AI يمكن أن تكون متحمسة عن الفحوصات الكاملة.

الأمان

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

الحد الأدنى من الصلاحيات: SELECT على الجداول المستهدفة
تخزين بيانات الاعتماد: DSN في env (DSN أو متغير env خاص بكل نكهة)
نقل البيانات الخارجي: مباشر إلى قاعدة البيانات الخاصة بك؛ بدون وكيل تابع لجهة خارجية
لا تمنح أبدًا: CREATE/DROP/ALTER في دور الاتصال إلا إذا لزم الأمر للجلسة

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

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

فشل المصادقة / الوصول مرفوض

بيانات اعتماد DSN خاطئة أو تفتقد SELECT. تحقق مرة أخرى من صيغة DSN لكل نكهة.

تحقق: اتصل بـ native client قاعدة البيانات باستخدام نفس DSN
ميزة SQL غير مدعومة / خطأ في البناء الجملة

عدم تطابق النكهة — أخبر Claude أي لهجة قاعدة بيانات نشطة، أو أعد فحص بادئة DSN.

مجموعة الاتصالات مستنزفة

قلل التزامن أو زد حجم المجموعة؛ الاستعلامات طويلة الأمد هي السبب الحقيقي عادة.

الكتابات مرفوضة (قراءة فقط)

DBHub في القراءة فقط الافتراضية. أعد التشغيل مع --readonly=false لهذه الجلسة.

البدائل

DBHub مقابل البدائل

البديلمتى تستخدمهاالمقايضة
Postgres MCPتستخدم Postgres فقط؛ ميزات أعمق خاصة بـ Postgresنكهة واحدة فقط
MongoDB MCPتحتاج Mongo إلى جانب علائقينموذج بيانات مختلف
Supabase MCPأنت على Supabase وتريد إدارة المشروع والقاعدةمرتبط بـ Supabase

المزيد

الموارد

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

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

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