تخطَّ إلى المحتوى

لأي عميل مزوَّد بدعم MCP

إن كان يتحدَّث MCP،
فهو يتحدَّث Maguyva.

التكامل ليس لكل أداة على حدة — إنه البروتوكول. Maguyva خادم MCP قياسي على عنوان URL واحد، فأيًّا كانت البيئة التي يعمل ضمنها وكيلك (Claude⁠ ⁠Code، أو Codex، أو Cursor، أو Gemini، أو Windsurf، أو Antigravity، أو Zed، أو Cline، أو أداة بنيتها بنفسك) يحصل على الخريطة القابلة للاستعلام نفسها عن مستودعك. افهرس مرة واحدة، وكل عميل تصله يطرح الأسئلة المؤسَّسة نفسها.

خطة Free: 3 مستودعات, حتى 50 ألف سطر مُفهرَس من المستودع، بلا بطاقة.

خادم MCP واحد. كل عميل. بلا إضافة لكل أداة، وبلا ارتهان.

ما تقوم به كل طبقة

أربع قطع. لكل واحدة مهمتها.

// عميلك

أي عميل MCP

24 عميل موثّق، منها Claude Code, Codex CLI, Gemini CLI, Cursor, Windsurf, Antigravity، أو وكيلك الخاص.

// البروتوكول

MCP

المعيار المفتوح الذي يتحدثه كل واحد منها بالفعل.

// قاعدة الكود

Maguyva

خادم MCP واحد. حقائق مستودع مؤصّلة، تُعاد مع رقم الملف:السطر (file:line).

// من يدفع

مساحات عمل، لا مقاعد

الوكلاء لا يدفعون ثمن مقاعد. عرض التسعير

‏MCP هو التكامل. اعتمده معيارًا.

البروتوكول المفتوح هو القرار الصحيح، لا حلًّا مؤقتًا. البناء على MCP بدلًا من إضافة لكل أداة هو بالضبط ما يجنّبك إعادة التكامل في كل مرة يصدر فيها وكيل أفضل. إنه المكان الصحيح لـ:

  • كتلة إعداد خادم واحدة تعمل مع أي عميل متوافق.
  • أدوات وموارد قابلة للنقل عبر المحرِّرات وواجهات سطر الأوامر والوكلاء.
  • حد أمني يمكن لفريق الأمان لديك مراجعته مرة واحدة، لا لكل بائع على حدة.
  • حرية تبديل العملاء بلا إعادة بناء مكدَّس السياق لديك.

واصل فعل ذلك. التوحيد القياسي على MCP هو الخطوة الصحيحة.

لكن البروتوكول أنبوب. ينقل السؤال والجواب — لكنه لا يعرف قاعدة الكود لديك. لا بدّ من وجود شيء في الطرف الآخر يرسم فعليًا خريطة رموزك ومواقع استدعائك وتبعياتك.

أين يتوقّف السياق الخاص بكل أداة عن التوسّع

أربعة أنماط فشل لا يمكن لملف قواعد وكيل واحد إصلاحها.

‏// كل أداة تبدأ التهيئة من الصفر

اختر وكيلًا جديدًا وسيبدأ أعمى على مستودعك من جديد. تُعيد لصق الملفات نفسها، وتُعيد تثبيت السياق نفسه، وتُعيد كتابة القواعد نفسها. العمل لا ينتقل لأنه لم يكن يومًا طبقة مشتركة.

‏// ملفات القواعد لا تنتقل

CLAUDE.md، و.cursor/rules، وAGENTS.md — كل واحد خاص بأداة، ولا واحد منها فهرس قابل للاستعلام عن كودك. بدِّل العملاء وستبقى الخريطة التي بنيتها يدويًا خلفك.

‏// الارتهان للتكامل ضريبة

ربط سياق عميق لقاعدة الكود بإضافة بائع واحد يعني أنك في اليوم الذي تجرِّب فيه وكيلًا مختلفًا، ستعيد بناءه. كلما كان سياقك أفضل، كلفك المغادرة أكثر.

‏// البروتوكول أنبوب، لا خريطة

‏MCP ينقل الأدوات والسياق بين العميل والخادم. إنه لا يعرف رموزك، أو مواقع استدعائك، أو الرسم البياني لتبعياتك. لا بدّ من وجود شيء في الطرف الآخر يجيب فعليًا عن السؤال.

Maguyva هي الطبقة في الطرف الآخر من البروتوكول

ليست وكيلًا آخر. إنها خادم سياق المستودع الذي يمكن لأي عميل MCP استدعاءه:

  • نقطة نهاية واحدة، لكل عميل تخدم https://maguyva.tools/mcp ذاتها Claude Code, Codex CLI, Gemini CLI, Cursor, Windsurf, Antigravity، أو سكربتًا كتبته هذا الصباح.
  • دلالي + AST + بياني + نصي ابحث بالمعنى، أو البنية، أو التبعية، أو النص الحرفي. كل نتيجة تُعيد مسار ملف ورقم سطر، أيًا كان العميل الذي سأل.
  • واعٍ بالفروع، وعابر للحزم يرى Maguyva إصدار الكود الذي يعدّله الوكيل، عبر كل حزمة في المستودع الموحّد (monorepo).
  • بلا ارتباط بمزود بدّل الوكلاء متى شئت؛ طبقة السياق لا تتحرك. تسعير حسب مساحة العمل، لا لكل مقعد — افهرس مستودعًا واحدًا أو 50.

عميلك يتحدَّث MCP.

Maguyva هي من يجيب حين يسأل عن كودك.

ثلاثة تدفقات عمل، متطابقة من كل عميل

عابر للحزم، وعابر للغات. العميل يتغيَّر؛ الإجابة المؤسَّسة لا تتغيَّر.

// workflow 01

إيجاد تدفق المصادقة عبر الحزم، من أي وكيل

agent> أين تحدث المصادقة في هذا المستودع الأحادي؟

graph::query("authentication flow")
  packages/web/src/auth/session.ts:42       middleware
  packages/api/src/auth/jwt.ts:88           token verify
  packages/shared/src/auth/types.ts:12      AuthContext
  packages/admin/src/auth/admin-only.ts:31  rbac gate

 4 نقاط دخول عبر 4 حزم، مرتَّبة حسب كثافة مواقع الاستدعاء.
[exit 0]

‏Claude⁠ ⁠Code، أو Cursor، أو سكربت خاص بك — لا يهم أي عميل أرسل الاستعلام. تعود الملفات الأربعة نفسها بالترتيب نفسه، مؤسَّسة على الرسم البياني الفعلي.

// workflow 02

إيجاد التنفيذ الحقيقي، لا البديل الاختباري

agent> كيف تتعامل normalizePhoneNumber مع E.164؟

semantic::query("normalize phone E.164")
  packages/shared/util/phone.ts:88     normalizePhoneNumber()  ← التنفيذ الحقيقي
  packages/api/test/phone.spec.ts:14   jest.mock(...)          ← بديل اختباري
[exit 0]

الأسماء تكذب. المحاكيات تحجب الكود الحقيقي. تُرتِّب Maguyva التنفيذ الحقيقي فوق محاكي الاختبار — بالطريقة نفسها لكل عميل يسأل.

// workflow 03

تحقّق من نطاق التأثير قبل إعادة الهيكلة

agent> ما الذي يستدعي QueueDispatcher.publish عبر المستودع الأحادي؟

graph::callers(QueueDispatcher.publish)
  3 في packages/billing/*
  1 في packages/audit/*
  1 في packages/notifications/*
  1 في services/python-worker/*  ← عابر للغات عبر بديل gRPC
[exit 0]

عابر للحزم، وعابر للغات في مستودع متعدد اللغات، تظهر مواقع الاستدعاء ضمن السياق. بدِّل الوكلاء غدًا وسيبقى نطاق التأثير موجودًا، لأنه يعيش في الخادم، لا في العميل.

الإعداد مع أي عميل MCP

ثلاث خطوات. خطة Free: 3 مستودعات, حتى 50 ألف سطر مُفهرَس من المستودع، بلا بطاقة.

  1. // step 01

    افهرس مستودعًا على maguyva.ai

    اختر مستودعًا تعرفه جيدًا حتى تستطيع التحقق من الإجابات. تغطي خطة Free 3 مستودعات, حتى 50 ألف سطر مُفهرَس من المستودع.

  2. // step 02

    أضف Maguyva كخادم MCP في أي عميل تستخدمه

    // any MCP client: add a remote MCP server
    {
      "mcpServers": {
        "maguyva": {
          "url": "https://maguyva.tools/mcp",
          "headers": {
            "Authorization": "Bearer <your-key>"
          }
        }
      }
    }
    
    // CLI clients can use the same endpoint:
    //   https://maguyva.tools/mcp
  3. // step 03

    اطرح سؤالًا واحدًا تعرف إجابته مسبقًا

    ابدأ بمستودع واحد وسؤال واحد يمكن التحقق منه، مثل «ما الذي يستدعي formatInvoice عبر الحزم؟» إذا طابقت الإجابة ما كنت لتقوله، فسيحصل كل عميل آخر توجِّهه إليه على النتيجة المؤسَّسة نفسها.

المصادر