MCP-Server

Deckbase MCP

Model Context Protocol Server für Deckbase. KI-Tools (Cursor, Claude Code, VS Code usw.) können Dokumente lesen sowie Decks und Karten verwalten.

Endpunkte

ModusEndpunktAuthentifizierung
Gehostet (HTTP)POST /api/mcpAuthorization: Bearer: API-Schlüssel aus dem Dashboard oder OAuth-Zugriffstoken. Gleicher Pfad in der Produktion: /api/mcp.

OAuth (Browser-Anmeldung) ist der schnellste Weg zur Verbindung: siehe Verbindung mit Deckbase MCP herstellen. API-Schlüssel aus dem Dashboard stehen außerdem für Skripte und CI zur Verfügung. MCP ist für Basic-, Pro- und VIP-Abonnenten verfügbar. Die vollständige Referenz finden Sie in docs/public/MCP.md über read_doc.

Tools

Dokumentation
ToolBeschreibungParameter
list_docsListet Markdown-Dateien in docs/public/ auf.Keine.
read_docLiest ein Dokument anhand des Pfads. Es werden nur Dokumente in docs/public/ bereitgestellt.path, z. B. MCP.md oder deckbase://docs/public/MCP.md.
list_template_block_typesSchlüssel der Blocktypen und numerische IDs (text, media, interactive, layout). Vor create_template verwenden. Statische Daten.Keine.
list_block_schemasJSON-Strukturen pro Blocktyp: blocksSnapshot, values, configJson. In Kombination mit export_deck für echte Beispiele.Keine.
list_elevenlabs_voicesElevenLabs-Sprach-IDs und Bezeichnungen für voice_id bei generate_audio_for_card. Kuratiertes Deckbase-Katalog. Keine Firestore-Lesevorgänge für Benutzerdaten.Optional language, gender, search.
list_ai_image_modelsZulässige KI-Bildmodell-IDs für generate_image_for_card mit Bezeichnungen und Credit-Kosten.Keine.
Decks und Karten: Authentifizierung erforderlich
ToolBeschreibungParameter
list_decksDecks des Benutzers (deckId, Titel, Beschreibung, optionales defaultTemplateId, optionales iconEmoji).Keine.
create_deckErstellt ein Deck. Gibt deckId, icon_emoji / iconEmoji zurück, falls gesetzt.title (erforderlich), description (optional), optionales icon_emoji oder iconEmoji (ein einzelnes Emoji; KI-Clients sollten eines wählen, das zum Titel passt, sofern der Benutzer nicht widerspricht).
update_deckAktualisiert Titel, Beschreibung, Standardtemplate oder Deck-Symbol.deckId (erforderlich); optional Titel, Beschreibung, default_template_id, icon_emoji oder iconEmoji (leere Zeichenkette entfernt das Symbol).
list_templatesTemplates (templateId, Name, Beschreibung).Keine.
get_template_schemaExaktes JSON für das Layout: blockId, Typ, side ("front" | "back"), configJson, valuesExample, Hinweise für create_card.templateId oder deckId für das Standardtemplate des Decks.
create_cardNeue Karte aus einem Template. Gibt cardId, templateId, usedDeckDefault zurück. front füllt den Hauptblock; block_text-Schlüssel umfassen Blöcke der Rückseite (side aus get_template_schema).deckId erforderlich. Optional templateId, front, block_text, generate_audio, voice_id, audio_language, audio_gender.
create_cardsMassenerstellung. Maximal 50 pro Anfrage. Bei Fehlern: created + failedAt.deckId, cards-Array (erforderlich). Optional templateId, voice_id, generate_audio auf oberster Ebene.
update_cardBearbeitet den Inhalt einer Karte.deckId, cardId; optional values / blocks_snapshot oder Zusammenführen von front / block_text.
delete_cardLöscht eine Karte weich (Papierkorb). Der Server verweigert dies, solange user_confirmed nicht true ist. Nur nach ausdrücklicher menschlicher Zustimmung verwenden.deckId, cardId, user_confirmed (erforderlicher Boolescher Wert).
delete_cardsMassen-Weichlöschung in einem Deck. Gleiche Zustimmungsregel wie bei delete_card. Maximal 50 pro Anfrage.deckId, card_ids (nicht-leeres Array), user_confirmed.
generate_audio_for_cardElevenLabs-TTS für eine vorhandene Karte.deckId, cardId. Übergeben Sie voice_id oder audio_language + audio_gender. Optional text, block_id, replace_existing.
export_deckDeck + Karten als JSON. Enthält truncated, exportType. Der vollständige Export umfasst pro Karte ein blocksSnapshot mit side + values.deckId (erforderlich); optional max_cards (Standard 2000, Obergrenze 5000), export_type: full oder values_only.
create_templateNeues Template (Block-Layout). Gibt templateId und Block-IDs zurück. Standard Q+A, falls block_types weggelassen wird.name (erforderlich); optional Beschreibung, block_types / blocks (side pro Block), voice_id, audio_language, audio_gender, mainBlockId / subBlockId.
update_templateAktualisiert Metadaten und/oder Layout. Erhöht version.templateId (erforderlich); optional Name, Beschreibung, block_types / blocks, voice_id, audio_language + audio_gender, mainBlockId / subBlockId.
Tools, die Ihre Daten lesen, erfordern ein gültiges OAuth-Token oder einen API-Schlüssel. list_template_block_types und list_block_schemas liefern statische Daten (keine Authentifizierung erforderlich). list_elevenlabs_voices liest kein Firestore. Nicht authentifizierte Anfragen geben 401 zurück.

Ressourcen

Der Server stellt MCP-Ressourcen für Dokumente in docs/public/ bereit:

resources/list

Eine Ressource pro .md-Datei in docs/public/ (z. B. deckbase://docs/public/MCP.md).

resources/read

Ruft den Dokumentinhalt anhand dieser URI ab.

Beispiel: Deck, Template und Karte

  1. 1

    Konfigurieren Sie Ihren Client mit der MCP-URL und einem Bearer-Token: Authorization: Bearer YOUR_API_KEY (oder ein OAuth-Zugriffstoken von der Verbindungsseite).

  2. 2

    Rufen Sie list_templates auf. Falls leer, verwenden Sie zuerst list_template_block_types und create_template.

  3. 3

    Rufen Sie get_template_schema mit der gewählten templateId auf, um die exakten blockId-Schlüssel und side-Werte zu erfahren.

  4. 4

    Rufen Sie create_deck mit einem title, optionaler description und icon_emoji auf, wenn der Agent ein passendes Symbol zum Thema wählen soll.

  5. 5

    Rufen Sie create_card mit deckId und optional templateId, front (Hauptblock) sowie block_text für weitere Blöcke einschließlich der Rückseite auf.

Technische Details

ProtokollMCP 2024-11-05
Servernamedeckbase-mcp
GehostetJSON-RPC 2.0 über POST. Verwenden Sie ein OAuth-Zugriffstoken oder einen API-Schlüssel aus dem Dashboard (Bearer), kein Firebase-ID-Token.
Kartenstrukturcreate_card übernimmt das Block-Layout des Templates. Jeder Block enthält die Seite aus dem Template; Werte sind standardmäßig leer. Die Daten werden in Firestore gespeichert und mit Dashboard und mobiler App synchronisiert.

Zur Client-Einrichtung (Cursor, VS Code, Claude usw.) siehe Verbindung mit Deckbase MCP herstellen • Für weitere Links siehe Ressourcen