Serwer MCP

Deckbase MCP

Serwer Model Context Protocol dla Deckbase. Narzędzia AI (Cursor, Claude Code, VS Code itp.) mogą czytać dokumentację oraz zarządzać taliami i fiszkami.

Endpointy

TrybEndpointUwierzytelnianie
Hostowany (HTTP)POST /api/mcpAuthorization: Bearer: klucz API z panelu lub token dostępu OAuth. Ta sama ścieżka w produkcji: /api/mcp.

OAuth (logowanie w przeglądarce) to najszybszy sposób połączenia, zobacz Łączenie z Deckbase MCP. Klucze API z panelu są również dostępne dla skryptów i CI. MCP jest dostępny dla subskrybentów Basic, Pro i VIP. Pełna dokumentacja w docs/public/MCP.md przez read_doc.

Narzędzia

Dokumentacja
NarzędzieOpisParametry
list_docsWyświetla pliki Markdown w docs/public/.Brak.
read_docOdczytuje dokument według ścieżki. Udostępniane są tylko dokumenty z docs/public/.path, np. MCP.md lub deckbase://docs/public/MCP.md.
list_template_block_typesKlucze typów bloków i ich numeryczne identyfikatory (text, media, interactive, layout). Użyj przed create_template. Dane statyczne.Brak.
list_block_schemasKształty JSON dla każdego typu bloku: blocksSnapshot, values, configJson. Połącz z export_deck, aby zobaczyć prawdziwe przykłady.Brak.
list_elevenlabs_voicesIdentyfikatory i etykiety głosów ElevenLabs dla voice_id w generate_audio_for_card. Katalog wybrany przez Deckbase. Bez odczytów z Firestore użytkownika.Opcjonalnie language, gender, search.
list_ai_image_modelsDozwolone identyfikatory modeli obrazów AI dla generate_image_for_card wraz z etykietami i kosztami w kredytach.Brak.
Talie i fiszki: wymagają uwierzytelnienia
NarzędzieOpisParametry
list_decksTalie użytkownika (deckId, tytuł, opis, opcjonalnie defaultTemplateId, opcjonalnie iconEmoji).Brak.
create_deckTworzy talię. Zwraca deckId oraz icon_emoji / iconEmoji, jeśli ustawiono.title (wymagane), description (opcjonalne), opcjonalnie icon_emoji lub iconEmoji (pojedyncze emoji; klienty AI powinny wybrać takie, które pasuje do tytułu, chyba że użytkownik zrezygnuje).
update_deckAktualizuje tytuł, opis, domyślny szablon lub ikonę talii.deckId (wymagane); opcjonalnie tytuł, opis, default_template_id, icon_emoji lub iconEmoji (pusty ciąg usuwa ikonę).
list_templatesSzablony (templateId, nazwa, opis).Brak.
get_template_schemaDokładny JSON układu: blockId, typ, side ("front" | "back"), configJson, valuesExample, wskazówki dla create_card.templateId lub deckId dla domyślnego szablonu talii.
create_cardNowa fiszka z szablonu. Zwraca cardId, templateId, usedDeckDefault. front wypełnia główny blok; klucze block_text obejmują bloki na odwrocie (side z get_template_schema).deckId wymagane. Opcjonalnie templateId, front, block_text, generate_audio, voice_id, audio_language, audio_gender.
create_cardsTworzenie zbiorcze. Maks. 50 na żądanie. W razie błędu: created + failedAt.deckId, tablica cards (wymagane). Opcjonalnie na najwyższym poziomie templateId, voice_id, generate_audio.
update_cardEdytuje zawartość fiszki.deckId, cardId; opcjonalnie values / blocks_snapshot lub scalenie front / block_text.
delete_cardMiękkie usunięcie jednej fiszki (do kosza). Serwer odmówi, chyba że user_confirmed ma wartość true. Używaj tylko po wyraźnej zgodzie człowieka.deckId, cardId, user_confirmed (wymagana wartość logiczna).
delete_cardsZbiorcze miękkie usunięcie w jednej talii. Ta sama zasada zgody co w delete_card. Maks. 50 na żądanie.deckId, card_ids (niepusta tablica), user_confirmed.
generate_audio_for_cardTTS ElevenLabs dla istniejącej fiszki.deckId, cardId. Podaj voice_id lub audio_language + audio_gender. Opcjonalnie text, block_id, replace_existing.
export_deckJSON talii wraz z fiszkami. Zawiera truncated, exportType. Pełny eksport obejmuje dla każdej fiszki blocksSnapshot z side + values.deckId (wymagane); opcjonalnie max_cards (domyślnie 2000, maks. 5000), export_type: full lub values_only.
create_templateNowy szablon (układ bloków). Zwraca templateId i identyfikatory bloków. Domyślnie Pytanie + Odpowiedź, jeśli pominięto block_types.name (wymagane); opcjonalnie opis, block_types / blocks (z side dla każdego bloku), voice_id, audio_language, audio_gender, mainBlockId / subBlockId.
update_templateAktualizuje metadane i/lub układ. Podbija version.templateId (wymagane); opcjonalnie nazwa, opis, block_types / blocks, voice_id, audio_language + audio_gender, mainBlockId / subBlockId.
Narzędzia odczytujące Twoje dane wymagają prawidłowego tokenu OAuth lub klucza API. list_template_block_types i list_block_schemas zwracają dane statyczne (uwierzytelnianie niepotrzebne). list_elevenlabs_voices nie odczytuje Firestore. Żądania bez uwierzytelnienia zwracają 401.

Zasoby

Serwer udostępnia zasoby MCP dla dokumentów w docs/public/:

resources/list

Jeden zasób na każdy plik .md w docs/public/ (np. deckbase://docs/public/MCP.md).

resources/read

Pobiera zawartość dokumentu według tego URI.

Przykład: talia, szablon i fiszka

  1. 1

    Skonfiguruj klienta z adresem URL MCP i tokenem bearer: Authorization: Bearer YOUR_API_KEY (lub tokenem dostępu OAuth ze strony Connect).

  2. 2

    Wywołaj list_templates. Jeśli lista jest pusta, najpierw użyj list_template_block_types i create_template.

  3. 3

    Wywołaj get_template_schema z wybranym templateId, aby poznać dokładne klucze blockId i wartości side.

  4. 4

    Wywołaj create_deck z title, opcjonalnym description oraz icon_emoji, gdy agent ma dobrać ikonę pasującą do tematu.

  5. 5

    Wywołaj create_card z deckId oraz opcjonalnie templateId, front (główny blok) i block_text dla pozostałych bloków, w tym odwrotu.

Szczegóły techniczne

ProtokółMCP 2024-11-05
Nazwa serweradeckbase-mcp
HostowanyJSON-RPC 2.0 przez POST. Użyj tokenu dostępu OAuth lub klucza API z panelu (Bearer), a nie tokenu ID Firebase.
Struktura fiszkicreate_card kopiuje układ bloków szablonu. Każdy blok zawiera side z szablonu; domyślnie puste wartości. Dane są przechowywane w Firestore i synchronizowane z panelem oraz aplikacją mobilną.

Konfigurację klientów (Cursor, VS Code, Claude itp.) znajdziesz w: Łączenie z Deckbase MCP • Inne linki znajdziesz w: Zasoby