خادم MCP
MCP الخاص بـ Deckbase
خادم Model Context Protocol لـ Deckbase. يمكن لأدوات الذكاء الاصطناعي (Cursor وClaude Code وVS Code وغيرها) قراءة التوثيق وإدارة المجموعات والبطاقات.
نقاط النهاية
| النمط | نقطة النهاية | المصادقة |
|---|---|---|
| مستضاف (HTTP) | POST /api/mcp | Authorization: Bearer: مفتاح API من لوحة التحكم أو رمز وصول OAuth. نفس المسار في الإنتاج: /api/mcp. |
الطريقة الأسرع للاتصال هي OAuth (تسجيل الدخول عبر المتصفح)، انظر الاتصال بـ MCP في Deckbase. تتوفر أيضًا مفاتيح API من لوحة التحكم للسكربتات والتكامل المستمر. يتوفر MCP للمشتركين في خطط Basic وPro وVIP. المرجع الكامل في docs/public/MCP.md عبر read_doc.
الأدوات
| الأداة | الوصف | المعاملات |
|---|---|---|
| list_docs | سرد ملفات Markdown في docs/public/. | لا يوجد. |
| read_doc | قراءة مستند حسب المسار. لا يتم تقديم سوى المستندات الموجودة في docs/public/. | path: مثال MCP.md أو deckbase://docs/public/MCP.md. |
| list_template_block_types | مفاتيح أنواع الكتل والمعرفات الرقمية (text وmedia وinteractive وlayout). استخدمها قبل create_template. بيانات ثابتة. | لا يوجد. |
| list_block_schemas | أشكال JSON لكل نوع كتلة: blocksSnapshot وvalues وconfigJson. ادمجها مع export_deck للحصول على أمثلة واقعية. | لا يوجد. |
| list_elevenlabs_voices | معرفات أصوات ElevenLabs وتسمياتها لاستخدامها في voice_id مع generate_audio_for_card. كتالوج منتقى من Deckbase. لا يقرأ بيانات Firestore الخاصة بالمستخدم. | language وgender وsearch اختيارية. |
| list_ai_image_models | معرفات نماذج الصور بالذكاء الاصطناعي المسموح بها لاستخدامها في generate_image_for_card مع التسميات وتكاليف الرصيد. | لا يوجد. |
| الأداة | الوصف | المعاملات |
|---|---|---|
| list_decks | مجموعات المستخدم (deckId والعنوان والوصف وdefaultTemplateId اختياري وiconEmoji اختياري). | لا يوجد. |
| create_deck | إنشاء مجموعة. يعيد deckId وicon_emoji / iconEmoji عند تعيينهما. | title (مطلوب)، description (اختياري)، icon_emoji أو iconEmoji اختياري (رمز تعبيري واحد؛ يجب على عملاء الذكاء الاصطناعي اختيار رمز يناسب العنوان ما لم يُلغِ المستخدم ذلك). |
| update_deck | تحديث العنوان أو الوصف أو القالب الافتراضي أو أيقونة المجموعة. | deckId (مطلوب)؛ العنوان والوصف وdefault_template_id وicon_emoji أو iconEmoji اختيارية (سلسلة فارغة تمحو الأيقونة). |
| list_templates | القوالب (templateId والاسم والوصف). | لا يوجد. |
| get_template_schema | JSON الدقيق للتخطيط: blockId والنوع وside ("front" | "back") وconfigJson وvaluesExample وتلميحات create_card. | templateId أو deckId للقالب الافتراضي للمجموعة. |
| create_card | بطاقة جديدة من قالب. يعيد cardId وtemplateId وusedDeckDefault. تحقن front الكتلة الرئيسية؛ وتتضمن مفاتيح block_text كتل الوجه الخلفي (side من get_template_schema). | deckId مطلوب. اختيارية: templateId وfront وblock_text وgenerate_audio وvoice_id وaudio_language وaudio_gender. |
| create_cards | إنشاء جماعي. بحد أقصى 50 لكل طلب. عند الفشل: created + failedAt. | deckId ومصفوفة cards (مطلوبة). اختيارية في المستوى الأعلى: templateId وvoice_id وgenerate_audio. |
| update_card | تعديل محتوى بطاقة. | deckId وcardId؛ اختيارية: values / blocks_snapshot، أو دمج front / block_text. |
| delete_card | حذف ناعم لبطاقة واحدة (سلة المهملات). يرفض الخادم الطلب ما لم يكن user_confirmed بقيمة true: لا تستخدمها إلا بعد موافقة بشرية صريحة. | deckId وcardId وuser_confirmed (منطقية، مطلوبة). |
| delete_cards | حذف ناعم جماعي في مجموعة واحدة. قاعدة الموافقة نفسها كما في delete_card. بحد أقصى 50 لكل طلب. | deckId وcard_ids (مصفوفة غير فارغة) وuser_confirmed. |
| generate_audio_for_card | تحويل نص إلى كلام عبر ElevenLabs لبطاقة موجودة. | deckId وcardId. مرّر voice_id أو audio_language + audio_gender. اختيارية: text وblock_id وreplace_existing. |
| export_deck | JSON للمجموعة وبطاقاتها. يتضمن truncated وexportType. يتضمن التصدير الكامل blocksSnapshot لكل بطاقة مع side + values. | deckId (مطلوب)؛ اختيارية: max_cards (الافتراضي 2000، الحد الأقصى 5000) وexport_type: full أو values_only. |
| create_template | قالب جديد (تخطيط الكتل). يعيد templateId ومعرفات الكتل. Q+A افتراضي إذا حُذفت block_types. | name (مطلوب)؛ اختيارية: الوصف وblock_types / blocks (مع side لكل كتلة) وvoice_id وaudio_language وaudio_gender وmainBlockId / subBlockId. |
| update_template | تحديث البيانات الوصفية و/أو التخطيط. يرفع version. | templateId (مطلوب)؛ اختيارية: الاسم والوصف وblock_types / blocks وvoice_id وaudio_language + audio_gender وmainBlockId / subBlockId. |
list_template_block_types وlist_block_schemas بيانات ثابتة (لا حاجة للمصادقة). لا تقرأ list_elevenlabs_voices بيانات Firestore. تُعيد الطلبات غير المُصادقة 401.الموارد
يكشف الخادم موارد MCP للمستندات في docs/public/:
resources/listمورد واحد لكل ملف .md في docs/public/ (مثل deckbase://docs/public/MCP.md).
resources/readجلب محتوى المستند عبر ذلك المعرّف URI.
مثال: مجموعة وقالب وبطاقة
- 1
اضبط عميلك بعنوان URL لخادم MCP ورمز Bearer:
Authorization: Bearer YOUR_API_KEY(أو رمز وصول OAuth من صفحة الاتصال). - 2
استدعِ list_templates. إذا كان فارغًا، استخدم list_template_block_types ثم create_template أولًا.
- 3
استدعِ get_template_schema باستخدام
templateIdالمختار للتعرف على مفاتيحblockIdالدقيقة وقيمside. - 4
استدعِ create_deck مع
titleوdescriptionاختياري وicon_emojiعندما يجب على الوكيل اختيار أيقونة تناسب الموضوع. - 5
استدعِ create_card مع
deckIdواختياريًاtemplateIdوfront(الكتلة الرئيسية) وblock_textللكتل الأخرى بما فيها الوجه الخلفي.
تفاصيل تقنية
لإعداد العميل (Cursor وVS Code وClaude وغيرها)، انظر الاتصال بـ MCP في Deckbase • للروابط الأخرى، انظر الموارد