خادم MCP

MCP الخاص بـ Deckbase

خادم Model Context Protocol لـ Deckbase. يمكن لأدوات الذكاء الاصطناعي (Cursor وClaude Code وVS Code وغيرها) قراءة التوثيق وإدارة المجموعات والبطاقات.

نقاط النهاية

النمطنقطة النهايةالمصادقة
مستضاف (HTTP)POST /api/mcpAuthorization: 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_schemaJSON الدقيق للتخطيط: 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_deckJSON للمجموعة وبطاقاتها. يتضمن 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.
الأدوات التي تقرأ بياناتك تتطلب رمز وصول OAuth صالحًا أو مفتاح API. تعيد 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. 1

    اضبط عميلك بعنوان URL لخادم MCP ورمز Bearer: Authorization: Bearer YOUR_API_KEY (أو رمز وصول OAuth من صفحة الاتصال).

  2. 2

    استدعِ list_templates. إذا كان فارغًا، استخدم list_template_block_types ثم create_template أولًا.

  3. 3

    استدعِ get_template_schema باستخدام templateId المختار للتعرف على مفاتيح blockId الدقيقة وقيم side.

  4. 4

    استدعِ create_deck مع title وdescription اختياري وicon_emoji عندما يجب على الوكيل اختيار أيقونة تناسب الموضوع.

  5. 5

    استدعِ create_card مع deckId واختياريًا templateId وfront (الكتلة الرئيسية) وblock_text للكتل الأخرى بما فيها الوجه الخلفي.

تفاصيل تقنية

البروتوكولMCP 2024-11-05
اسم الخادمdeckbase-mcp
الاستضافةJSON-RPC 2.0 عبر POST. استخدم رمز وصول OAuth أو مفتاح API من لوحة التحكم (Bearer)، وليس رمز Firebase ID.
شكل البطاقةتنسخ create_card تخطيط كتل القالب. تتضمن كل كتلة side من القالب؛ والقيم فارغة افتراضيًا. تُخزَّن البيانات في Firestore وتتزامن مع لوحة التحكم وتطبيق الجوال.

لإعداد العميل (Cursor وVS Code وClaude وغيرها)، انظر الاتصال بـ MCP في Deckbase • للروابط الأخرى، انظر الموارد