CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

Deckbase Mcp Server

deckbase/deckbase-web
35 toolsSTDIOregistry active
Summary

Connects Claude to your Deckbase instance, letting you pull documentation, template blocks, and project context directly into conversations. You'd reach for this when you want Claude to work with your team's docs and templates without copy-pasting everything manually. The server exposes read access to your Deckbase content, so you can ask Claude to reference specific templates, search through documentation, or understand project context that lives in your Deckbase workspace. Useful if your team already uses Deckbase to organize docs and you want that knowledge available during AI-assisted development work.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Tools

Public tool metadata for what this MCP can expose to an agent.

35 tools
list_docsList Markdown files in docs/public/. Only docs in that folder are exposed. Use list_docs to see available filenames, then read_doc to fetch one.

List Markdown files in docs/public/. Only docs in that folder are exposed. Use list_docs to see available filenames, then read_doc to fetch one.

No parameter schema in public metadata yet.

read_docRead a doc from docs/public/ by path. Only docs in that folder are served. Use list_docs first to see available filenames (e.g. MCP.md).1 params

Read a doc from docs/public/ by path. Only docs in that folder are served. Use list_docs first to see available filenames (e.g. MCP.md).

Parameters* required
pathstring
Doc path (e.g. MCP.md or deckbase://docs/public/MCP.md). Only files in docs/public/ are served.
list_template_block_typesList all Deckbase template block types (keys, numeric ids, labels, category). Use this so the user can choose multiple block types in order; then pass that list as block_types to create_template. **Quiz blocks:** category `quiz` — keys `quizMultiSelect` (8), `quizSingleSelect`...

List all Deckbase template block types (keys, numeric ids, labels, category). Use this so the user can choose multiple block types in order; then pass that list as block_types to create_template. **Quiz blocks:** category `quiz` — keys `quizMultiSelect` (8), `quizSingleSelect`...

No parameter schema in public metadata yet.

list_block_schemasReturn JSON structure for each block type: typical blocksSnapshot entry, matching value entry, and **configJson** fields. **Quiz types (`quizSingleSelect`, `quizMultiSelect`, `quizTextAnswer`) require a correct `configJson` on the block** (options, correct answer(s), etc.) — r...

Return JSON structure for each block type: typical blocksSnapshot entry, matching value entry, and **configJson** fields. **Quiz types (`quizSingleSelect`, `quizMultiSelect`, `quizTextAnswer`) require a correct `configJson` on the block** (options, correct answer(s), etc.) — r...

No parameter schema in public metadata yet.

list_elevenlabs_voicesList ElevenLabs TTS voice ids (group, label, id, gender, language) from the Deckbase curated catalog for generate_audio_for_card voice_id and template audio block defaultVoiceId. Optional filters: language (ISO 639 code), gender (female|male), search (substring on label/group/...3 params

List ElevenLabs TTS voice ids (group, label, id, gender, language) from the Deckbase curated catalog for generate_audio_for_card voice_id and template audio block defaultVoiceId. Optional filters: language (ISO 639 code), gender (female|male), search (substring on label/group/...

Parameters* required
genderstring
Optional: only female or male voices.one of female · male
searchstring
Optional case-insensitive substring; matches voice label, language group name, voice id, or language code.
languagestring
Optional ISO 639 language code to restrict results (e.g. en, uk, fil, zh, ja). See languageOptions in the response for valid codes.
list_ai_image_modelsList allowed AI text-to-image models for generate_image_for_card model_id (id, label, credits) plus defaults. Use this to ask the user to choose a model before generating images.

List allowed AI text-to-image models for generate_image_for_card model_id (id, label, credits) plus defaults. Use this to ask the user to choose a model before generating images.

No parameter schema in public metadata yet.

list_decksList the user's flashcard decks (deckId, title, description, defaultTemplateId, iconEmoji). iconEmoji is optional Unicode emoji for deck list/header; omit/null when unset. Requires hosted MCP with API key. Use with list_templates before create_card.

List the user's flashcard decks (deckId, title, description, defaultTemplateId, iconEmoji). iconEmoji is optional Unicode emoji for deck list/header; omit/null when unset. Requires hosted MCP with API key. Use with list_templates before create_card.

No parameter schema in public metadata yet.

list_templatesList the user's card templates (templateId, name, description). Requires hosted MCP with API key. Use when create_card needs an explicit templateId (deck has no defaultTemplateId). If the list is empty, use create_template first. After the user picks a template, call get_templ...

List the user's card templates (templateId, name, description). Requires hosted MCP with API key. Use when create_card needs an explicit templateId (deck has no defaultTemplateId). If the list is empty, use create_template first. After the user picks a template, call get_templ...

No parameter schema in public metadata yet.

get_template_schemaAfter the user selects a template, returns exact JSON for that template: each blockId, type, label, configJson, category, plus `side` per block (**"front"** = shown first in study; **"back"** = after the learner flips the card), valuesExample, and create_card hints. **Back-sid...2 params

After the user selects a template, returns exact JSON for that template: each blockId, type, label, configJson, category, plus `side` per block (**"front"** = shown first in study; **"back"** = after the learner flips the card), valuesExample, and create_card hints. **Back-sid...

Parameters* required
deckIdstring
Optional alternative: use with omitted templateId to resolve defaultTemplateId
templateIdstring
From list_templates (preferred when user picked a template)
create_deckCreate a new flashcard deck for the user. Requires hosted MCP with API key. Returns deckId and icon fields for create_card. **Deck icon:** There is no Deckbase emoji list to fetch—use any standard Unicode emoji (one grapheme). Unless the user asked for no icon or a specific em...4 params

Create a new flashcard deck for the user. Requires hosted MCP with API key. Returns deckId and icon fields for create_card. **Deck icon:** There is no Deckbase emoji list to fetch—use any standard Unicode emoji (one grapheme). Unless the user asked for no icon or a specific em...

Parameters* required
titlestring
Deck title
iconEmojistring
Alias for icon_emoji (camelCase).
icon_emojistring
One emoji for deck list/header (Firestore `icon_emoji`). Prefer inferring from title/description when the user did not specify. Same as iconEmoji.
descriptionstring
Optional deck description
update_deckUpdate an existing deck’s title, description, default template id, and/or deck icon emoji. Requires hosted MCP with API key. Pass only fields to change. To clear the deck icon, pass icon_emoji or iconEmoji as empty string.6 params

Update an existing deck’s title, description, default template id, and/or deck icon emoji. Requires hosted MCP with API key. Pass only fields to change. To clear the deck icon, pass icon_emoji or iconEmoji as empty string.

Parameters* required
titlestring
New title (optional)
deckIdstring
Deck ID from list_decks
iconEmojistring
Optional alias for icon_emoji (camelCase).
icon_emojistring
Optional. Set or change deck list/header emoji (Firestore icon_emoji). Empty string after trim removes the icon. Same as iconEmoji.
descriptionstring
New description (optional)
default_template_idstring
Optional. Template ID for new cards when templateId is omitted in create_card. Empty string clears the default.
update_cardUpdate an existing card’s content. Requires hosted MCP with API key. **Merge:** `front` / `block_text` (only listed blockIds change). **Preview lines:** optional **`main_block_id`** / **`sub_block_id`** (which blocks drive deck list + study preview; ids must exist on this card...34 params

Update an existing card’s content. Requires hosted MCP with API key. **Merge:** `front` / `block_text` (only listed blockIds change). **Preview lines:** optional **`main_block_id`** / **`sub_block_id`** (which blocks drive deck list + study preview; ids must exist on this card...

Parameters* required
frontstring
Optional text for the main block only (same role as create_card.front)
cardIdstring
Card ID
deckIdstring
Deck containing the card
valuesarray
Optional full replacement for card values (same shape as export_deck cards[].values)
voiceIdstring
Alias for voice_id
voice_idstring
When append includes audio: ElevenLabs voice id (see list_elevenlabs_voices)
blockSidestring
Alias for block_sideone of front · back
block_sidestring
Study face: set on the moved block after placement (optional). With keep_position, flips face without reordering.one of front · back
block_textobject
Optional map blockId → string merged into values for **only** those keys; other blocks are not modified
subBlockIdstring
Alias for sub_block_id
audioGenderstring
Alias for audio_genderone of female · male
insertIndexinteger
Alias for insert_index
mainBlockIdstring
Alias for main_block_id
moveBlockIdstring
Alias for move_block_id
appendBlocksarray
Alias for append_blocks
audio_genderstring
With audio_language when append has audioone of female · male
insert_indexinteger
When appending or moving: 0-based index in the relevant layout to insert at (0 = before first block; length = end). Omit = end.
keepPositionboolean
Alias for keep_position
sub_block_idstring
Set which block is the “sub” preview line (must exist on layout; null clears). Alias: subBlockId
append_blocksarray
Optional: full block definitions to append (blockId optional). Mutually exclusive with append_block_types.
audioLanguagestring
Alias for audio_language
keep_positionboolean
If true: only change block_side for move_block_id (no insert_*). Requires block_side.
main_block_idstring
Set which block is the deck preview “main” line (must exist on this card’s layout; null clears). Alias: mainBlockId
move_block_idstring
Reorder: move this existing blockId to a new position (use insert_*; mutually exclusive with values, blocks_snapshot, append_*, remove_block_ids)
audio_languagestring
ISO 639 with audio_gender when voice_id omitted and append has audio
appendBlockSidestring
one of front · back
blocks_snapshotarray
Optional full replacement for layout (block defs). If set with values, each blockId must have a value entry. Mutually exclusive with append_*.
appendBlockTypesarray
Alias for append_block_types
append_block_sidestring
When appending: set side on all new blocksone of front · back
append_block_typesarray
Optional: ordered block type keys or numeric ids (see list_template_block_types). Appends new blocks with new blockIds. Mutually exclusive with append_blocks.
insertAfterBlockIdstring
Alias for insert_after_block_id
insertBeforeBlockIdstring
Alias for insert_before_block_id
insert_after_block_idstring
When appending or moving: insert after this blockId
insert_before_block_idstring
When appending or moving: insert before this blockId (layout after removal when moving; mutually exclusive with insert_after_block_id and insert_index)
bulk_update_cards**Merge-only** bulk updates (max 50 cards). **Does not add new blocks** — use **bulk_append_blocks** first. **Does not clear fields** — **bulk_remove_card_fields**. **Modes:** (1) **Same patch for every card:** `card_ids` + `front` and/or `block_text` and/or **`main_block_id`...18 params

**Merge-only** bulk updates (max 50 cards). **Does not add new blocks** — use **bulk_append_blocks** first. **Does not clear fields** — **bulk_remove_card_fields**. **Modes:** (1) **Same patch for every card:** `card_ids` + `front` and/or `block_text` and/or **`main_block_id`...

Parameters* required
frontstring
Optional: non-empty main-block text applied to every card in card_ids (same_patch mode only; not with texts[])
textsarray
Parallel to card_ids: new non-empty text for block_id (or block_ids[i]). Same length as card_ids. Alias: block_texts, new_texts
deckIdstring
Deck containing all cards
blockIdstring
Alias for block_id
blockIdsarray
Alias for block_ids
block_idstring
With texts[]: apply this single blockId on every card (pair each card with texts[i]). Mutually exclusive with block_ids
card_idsarray
Card IDs to update. For same_patch mode: deduped list (max 50). For parallel texts mode: ordered list, same length as texts (no duplicates)
per_cardarray
Legacy: [{ cardId, front?, block_text?, main_block_id?, sub_block_id? }, ...]; max 50
block_idsarray
With texts[]: one block id per card (same length as card_ids and texts). Mutually exclusive with block_id
new_textsarray
Alias for texts
block_textobject
Optional: blockId → non-empty string; same patch for every card (same_patch mode only; not with texts[])
subBlockIdstring
Alias for sub_block_id
block_labelstring
With texts[]: resolve block per card by label (trimmed, case-insensitive). Mutually exclusive with block_id/block_ids. Optional semantic_key to disambiguate
block_textsarray
Alias for texts
mainBlockIdstring
Alias for main_block_id
semantic_keystring
With block_label: match configJson.semanticKey / semantic_key on the block (optional)
sub_block_idstring
Same_patch only: set card sub_block_id on every card; must exist on layout (null clears). Alias: subBlockId
main_block_idstring
Same_patch only: set card main_block_id (preview main text) on every card; must be a blockId on each card’s layout (null clears). Alias: mainBlockId
bulk_append_blocksInsert **new empty blocks** on many cards (max 50). **Layout-only** — no `front` / `block_text` (use **bulk_update_cards** after). Same block definitions and **insert position** on every card: `append_block_types` or `append_blocks`; **insert_before_block_id**, **insert_after_...22 params

Insert **new empty blocks** on many cards (max 50). **Layout-only** — no `front` / `block_text` (use **bulk_update_cards** after). Same block definitions and **insert position** on every card: `append_block_types` or `append_blocks`; **insert_before_block_id**, **insert_after_...

Parameters* required
deckIdstring
Deck containing all cards
dryRunboolean
dry_runboolean
If true: no writes; returns appendedBlockIds and card count only
voiceIdstring
card_idsarray
Non-empty list of card IDs (max 50, deduped)
voice_idstring
audioGenderstring
one of female · male
insertIndexinteger
appendBlocksarray
Alias for append_blocks
audio_genderstring
one of female · male
insert_indexinteger
append_blocksarray
Full block defs; mutually exclusive with append_block_types
audioLanguagestring
audio_languagestring
appendBlockSidestring
one of front · back
appendBlockTypesarray
Alias for append_block_types
append_block_sidestring
Set side on all newly appended blocks (avoids a second move/side call)one of front · back
append_block_typesarray
Ordered type keys or ids (see list_template_block_types); mutually exclusive with append_blocks
insertAfterBlockIdstring
insertBeforeBlockIdstring
insert_after_block_idstring
insert_before_block_idstring
bulk_move_blockMove **one existing block** on **many** cards (max 50) or flip its **front/back** face. **Layout-only** — no `front` / `block_text`. Optional **`block_side`** `front`|`back` (applied after move). **`keep_position`:** `true` with **`block_side`** flips face only (no `insert_*`)...16 params

Move **one existing block** on **many** cards (max 50) or flip its **front/back** face. **Layout-only** — no `front` / `block_text`. Optional **`block_side`** `front`|`back` (applied after move). **`keep_position`:** `true` with **`block_side`** flips face only (no `insert_*`)...

Parameters* required
deckIdstring
Deck containing all cards
dryRunboolean
dry_runboolean
card_idsarray
Non-empty list of card IDs (max 50, deduped)
blockSidestring
one of front · back
block_sidestring
one of front · back
insertIndexinteger
moveBlockIdstring
Alias for move_block_id
insert_indexinteger
keepPositionboolean
keep_positionboolean
move_block_idstring
Block to move (must exist on each card)
insertAfterBlockIdstring
insertBeforeBlockIdstring
insert_after_block_idstring
insert_before_block_idstring
normalize_cards_to_templateRewrite each card’s layout + values to match the **current template** (block ids, order, side). Migrates content by label+type. Use when template and cards drifted. Optional **card_ids** to subset; **dry_run** to preview without writes. Hosted MCP.6 params

Rewrite each card’s layout + values to match the **current template** (block ids, order, side). Migrates content by label+type. Use when template and cards drifted. Optional **card_ids** to subset; **dry_run** to preview without writes. Hosted MCP.

Parameters* required
deckIdstring
dryRunboolean
dry_runboolean
card_idsarray
templateIdstring
template_idstring
validate_deck_layoutNon-destructive report: missing/extra blocks vs template, side/order issues, duplicate label groups across cards. Hosted MCP.3 params

Non-destructive report: missing/extra blocks vs template, side/order issues, duplicate label groups across cards. Hosted MCP.

Parameters* required
deckIdstring
templateIdstring
template_idstring
bulk_set_block_sideSet **front**/**back** for one **move_block_id** on many **card_ids** (explicit; same as bulk_move_block + keep_position). Optional **dry_run**. Hosted MCP.8 params

Set **front**/**back** for one **move_block_id** on many **card_ids** (explicit; same as bulk_move_block + keep_position). Optional **dry_run**. Hosted MCP.

Parameters* required
deckIdstring
dryRunboolean
dry_runboolean
card_idsarray
blockSidestring
one of front · back
block_sidestring
one of front · back
moveBlockIdstring
move_block_idstring
bulk_set_main_sub_blocksSet **main_block_id** and/or **sub_block_id** (deck preview / study sub line) on many cards. **Ids:** pass **main_block_id** / **sub_block_id** (same for every card; null clears). **Labels:** pass **main_block_label** / **sub_block_label** with optional **main_semantic_key** /...16 params

Set **main_block_id** and/or **sub_block_id** (deck preview / study sub line) on many cards. **Ids:** pass **main_block_id** / **sub_block_id** (same for every card; null clears). **Labels:** pass **main_block_label** / **sub_block_label** with optional **main_semantic_key** /...

Parameters* required
deckIdstring
dryRunboolean
dry_runboolean
card_idsarray
subBlockIdstring
mainBlockIdstring
sub_block_idstring
Same sub block for every card. Mutually exclusive with sub_block_label. Alias: subBlockId
main_block_idstring
Same main block for every card (must exist on each layout). Mutually exclusive with main_block_label. Alias: mainBlockId
subBlockLabelstring
mainBlockLabelstring
subSemanticKeystring
mainSemanticKeystring
sub_block_labelstring
Resolve sub block per card by label. Optional sub_semantic_key
main_block_labelstring
Resolve main block per card by label (case-insensitive). Optional main_semantic_key
sub_semantic_keystring
main_semantic_keystring
copy_template_blocks_to_cardsAppend **copies** of template blocks (new UUIDs per card) via **template_block_ids** or **block_labels**. Supports **insert_***, **append_block_side**, **dry_run**. Hosted MCP.15 params

Append **copies** of template blocks (new UUIDs per card) via **template_block_ids** or **block_labels**. Supports **insert_***, **append_block_side**, **dry_run**. Hosted MCP.

Parameters* required
deckIdstring
dryRunboolean
dry_runboolean
card_idsarray
templateIdstring
blockLabelsarray
template_idstring
block_labelsarray
insert_indexinteger
appendBlockSidestring
one of front · back
templateBlockIdsarray
append_block_sidestring
one of front · back
template_block_idsarray
insert_after_block_idstring
insert_before_block_idstring
remove_card_fieldsClear content for specific blocks on **one** card (text empty; quiz selections cleared; image/audio media cleared). **Separate from update_card** — use this only when the user wants to remove field content, not merge new text. **DESTRUCTIVE** to those fields. Requires hosted M...5 params

Clear content for specific blocks on **one** card (text empty; quiz selections cleared; image/audio media cleared). **Separate from update_card** — use this only when the user wants to remove field content, not merge new text. **DESTRUCTIVE** to those fields. Requires hosted M...

Parameters* required
cardIdstring
Card ID
deckIdstring
Deck containing the card
removeBlockIdsarray
Alias for remove_block_ids
user_confirmedboolean
Must be true after explicit user consent to clear these fields
remove_block_idsarray
Non-empty list of blockIds to clear (alias: removeBlockIds)
bulk_remove_card_fieldsClear the **same** blockIds on **many** cards in one deck. **Separate from bulk_update_cards** — merge and field removal are not mixed. **DESTRUCTIVE** to content in those blocks. Max 50 cards per request. **user_confirmed** must be true after the user explicitly agrees.5 params

Clear the **same** blockIds on **many** cards in one deck. **Separate from bulk_update_cards** — merge and field removal are not mixed. **DESTRUCTIVE** to content in those blocks. Max 50 cards per request. **user_confirmed** must be true after the user explicitly agrees.

Parameters* required
deckIdstring
Deck containing all cards
card_idsarray
Non-empty list of card IDs (max 50, deduped)
removeBlockIdsarray
Alias for remove_block_ids
user_confirmedboolean
Must be true after explicit user consent
remove_block_idsarray
BlockIds to clear on every listed card (alias: removeBlockIds)
delete_cardSoft-delete one flashcard (sets is_deleted; same as app trash). **DESTRUCTIVE.** Requires hosted MCP. **You MUST ask the human for explicit confirmation before calling.** The server refuses unless `user_confirmed` is exactly true — only set it after the user clearly agreed to...3 params

Soft-delete one flashcard (sets is_deleted; same as app trash). **DESTRUCTIVE.** Requires hosted MCP. **You MUST ask the human for explicit confirmation before calling.** The server refuses unless `user_confirmed` is exactly true — only set it after the user clearly agreed to...

Parameters* required
cardIdstring
Card ID (from export_deck or list flows)
deckIdstring
Deck containing the card
user_confirmedboolean
Must be true. Only after the user explicitly confirmed deletion of this card.
delete_cardsSoft-delete multiple cards in one deck (same rules as delete_card). **Ask the user to confirm the exact card IDs before calling.** Refuses unless user_confirmed is true. Max 50 cards per request. Response lists deleted ids and per-id errors if any fail.3 params

Soft-delete multiple cards in one deck (same rules as delete_card). **Ask the user to confirm the exact card IDs before calling.** Refuses unless user_confirmed is true. Max 50 cards per request. Response lists deleted ids and per-id errors if any fail.

Parameters* required
deckIdstring
Deck containing all listed cards
card_idsarray
Non-empty list of card IDs to delete
user_confirmedboolean
Must be true. Only after the user explicitly confirmed bulk deletion.
create_cardCreate a new card from a template’s block layout. Requires hosted MCP with API key. Required: deckId. If templateId is omitted, uses the deck’s default template (defaultTemplateId from list_decks); if the deck has none, pass templateId from list_templates. If no templates exis...8 params

Create a new card from a template’s block layout. Requires hosted MCP with API key. Required: deckId. If templateId is omitted, uses the deck’s default template (defaultTemplateId from list_decks); if the deck has none, pass templateId from list_templates. If no templates exis...

Parameters* required
frontstring
Optional text for the template main block only (mainBlockId from get_template_schema). Does not fill other front blocks or back blocks.
deckIdstring
Deck ID (from list_decks or create_deck)
voice_idstring
ElevenLabs voice id from list_elevenlabs_voices. Alternative to audio_language + audio_gender.
block_textobject
Optional map blockId → string for text (and similar) blocks. **Include back-face blocks:** use blockIds where the template has side "back" so the card has content after flip.
templateIdstring
Optional. Template ID from list_templates. Omit to use the deck’s default template (set in the dashboard).
audio_genderstring
Required with audio_language when voice_id is omitted (same conditions as audio_language).one of female · male
audio_languagestring
ISO 639 language code (e.g. en, uk, fil). Required with audio_gender when voice_id is omitted and generate_audio is true and the template has an audio block.
generate_audioboolean
Optional. Default true. If true and template includes an audio block, generate ElevenLabs TTS when source text exists. Set false to skip TTS.
create_cardsBulk create cards in one deck using the same template resolution and validation as create_card (deck default or explicit templateId). Requires hosted MCP. Same front/back rules as create_card: use block_text per card for back-side blockIds from get_template_schema. For templat...7 params

Bulk create cards in one deck using the same template resolution and validation as create_card (deck default or explicit templateId). Requires hosted MCP. Same front/back rules as create_card: use block_text per card for back-side blockIds from get_template_schema. For templat...

Parameters* required
cardsarray
Non-empty array of per-card payloads (front?, block_text?, generate_audio?, voice_id?, audio_language?, audio_gender?). Max 50 items.
deckIdstring
voice_idstring
Optional default voice id for all cards (see create_card). Per-card voice_id overrides.
templateIdstring
Optional; omit to use deck default template
audio_genderstring
Optional default gender when using audio_language.one of female · male
audio_languagestring
Optional default ISO 639 code when using language+gender instead of voice_id.
generate_audioboolean
Optional. Default true. If false, skip ElevenLabs TTS for all cards (each card can still set generate_audio: false when this is true).
generate_audio_for_cardGenerate ElevenLabs TTS audio and attach it to an existing card’s audio block (updates values.mediaIds). Requires hosted MCP with API key. Required: deckId, cardId. Ask the user for voice settings, then pass voice_id from list_elevenlabs_voices OR pass audio_language (ISO 639)...9 params

Generate ElevenLabs TTS audio and attach it to an existing card’s audio block (updates values.mediaIds). Requires hosted MCP with API key. Required: deckId, cardId. Ask the user for voice settings, then pass voice_id from list_elevenlabs_voices OR pass audio_language (ISO 639)...

Parameters* required
textstring
Optional. Spoken text; if omitted, resolved from card content
cardIdstring
Card ID
deckIdstring
Deck containing the card
block_idstring
Required when the card has multiple audio blocks: target audio block blockId
voice_idstring
ElevenLabs voice id from list_elevenlabs_voices. Alternative to audio_language + audio_gender.
audio_genderstring
Use with audio_language when voice_id is omitted.one of female · male
audio_languagestring
ISO 639 code; use with audio_gender when voice_id is omitted.
generate_audioboolean
Default true. Set false to no-op (for symmetry with create_card)
replace_existingboolean
Default false. Set true to replace audio when mediaIds already exist
list_image_subject_promptsList subject starter presets for AI image generation (unified_id, label, prompt, tags) plus the user’s saved subjects from Firestore. Same sources as the web wizard. Subscribers only in production. Pass unified_id values as library_entry_ids on generate_image_for_card (with li...

List subject starter presets for AI image generation (unified_id, label, prompt, tags) plus the user’s saved subjects from Firestore. Same sources as the web wizard. Subscribers only in production. Pass unified_id values as library_entry_ids on generate_image_for_card (with li...

No parameter schema in public metadata yet.

list_image_style_promptsList curated style presets for AI image generation (id, label, description, snippet, tags). Same catalog as the web app. Subscribers only. Optional tag (kebab-case, e.g. vocabulary, anime, physics) filters presets. Use unified_id style:… with generate_image_for_card library_en...1 params

List curated style presets for AI image generation (id, label, description, snippet, tags). Same catalog as the web app. Subscribers only. Optional tag (kebab-case, e.g. vocabulary, anime, physics) filters presets. Use unified_id style:… with generate_image_for_card library_en...

Parameters* required
tagstring
Optional. Filter by tag (e.g. stem, watercolor, realistic).
generate_image_for_cardGenerate an AI image (fal.ai) and attach it to an existing card’s image block — **web wizard parity**: optional source_block_ids (default = image block defaultSourceBlockId + card mainBlockId like the dashboard), library_entry_ids (unified subject:… / style:… from list_image_s...15 params

Generate an AI image (fal.ai) and attach it to an existing card’s image block — **web wizard parity**: optional source_block_ids (default = image block defaultSourceBlockId + card mainBlockId like the dashboard), library_entry_ids (unified subject:… / style:… from list_image_s...

Parameters* required
cardIdstring
Card ID
deckIdstring
Deck containing the card
promptstring
Legacy: full T2I prompt, or fallback main text when using wizard fields with empty selected text blocks
block_idstring
Required when the card has multiple image blocks
model_idstring
Optional fal text-to-image model id when not using reference (default fal-ai/flux/schnell). Ignored for fal routing when a reference image is set (edit model).
media_tagsarray
Optional normalized tags stored on the media doc (merged with library preset tags when merge_library_tag_defaults is true).
final_promptstring
Optional. Exact merged prompt (Review step). When set, overrides block/library merge; style_prompt_id ignored.
style_prompt_idstring
Optional single style preset id (legacy). Merged server-side for simple prompt-only calls; with library_entry_ids, snippet is appended after wizard merge. Not allowed with reference images.
replace_existingboolean
Default false: append generated image to the block. true: replace existing images with this one
source_block_idsarray
Optional. Text blockIds whose values join with \n\n for the main anchor (wizard step 1). Omit to use template image defaultSourceBlockId + card mainBlockId defaults.
library_entry_idsarray
Optional. Unified ids from list_image_subject_prompts (subject:…) and list_image_style_prompts entries as style:{id} (same as web unified catalog).
reference_media_idstring
Optional. A mediaId already on this image block (mediaIds or originalMediaIds). Server uses a fresh signed URL for fal edit.
reference_image_urlstring
Optional HTTPS URL for reference edit (same constraints as web API).
reference_image_data_urlstring
Optional data URL for reference edit (size-limited).
merge_library_tag_defaultsboolean
Default true. When false, only media_tags are stored (no tag merge from library_entry_ids).
export_deckExport a deck (metadata + cards). Requires hosted MCP with API key. **file_format** (default json): json = full payload in the tool response; csv | xlsx | apkg = small marker JSON for the Deckbase assistant UI to download that file type (ask the user which format they want if...6 params

Export a deck (metadata + cards). Requires hosted MCP with API key. **file_format** (default json): json = full payload in the tool response; csv | xlsx | apkg = small marker JSON for the Deckbase assistant UI to download that file type (ask the user which format they want if...

Parameters* required
deckIdstring
Deck ID (from list_decks)
formatstring
Alias of file_format.
max_cardsnumber
Optional max cards to return (default 2000, hard cap 5000). Oldest-first ordering is not guaranteed.
fileFormatstring
Alias of file_format.
export_typestring
Optional when file_format is json. "full" (default): each card includes blocksSnapshot and values. "values_only": values only (smaller). Ignored when file_format is csv, xlsx, or apkg (always full).
file_formatstring
Optional. "json" (default) = return full JSON in the tool result. "csv" | "xlsx" | "apkg" = return a short marker for assistant chat file download (no card payload in the tool text). Aliases: fileFormat, format. Synonyms: excel → xlsx, anki → apkg.
export_cardsExport **only** the given cards in a deck (same per-card JSON shape as **export_deck**, plus `notFound` / `skippedWrongDeck` for bad ids). Use when the user wants a subset file or backup. **file_format** works like **export_deck** (json default; csv/xlsx/apkg only in the web A...7 params

Export **only** the given cards in a deck (same per-card JSON shape as **export_deck**, plus `notFound` / `skippedWrongDeck` for bad ids). Use when the user wants a subset file or backup. **file_format** works like **export_deck** (json default; csv/xlsx/apkg only in the web A...

Parameters* required
deckIdstring
Deck ID (from list_decks)
formatstring
Alias of file_format.
cardIdsarray
Alias of card_ids.
card_idsarray
Non-empty list of cardId strings (max 200). Aliases: cardIds.
fileFormatstring
Alias of file_format.
export_typestring
Optional when file_format is json. "full" (default) or "values_only". Ignored for csv/xlsx/apkg (always full).
file_formatstring
Same as export_deck: json (default), csv, xlsx, apkg; aliases fileFormat, format; excel → xlsx, anki → apkg.
list_cardsList cards in a deck with **values** and (when export_type is full) **blocksSnapshot** per card — same per-card shape as **export_deck**, without repeating full deck metadata. Use for read/edit flows when you only need card payloads. Requires hosted MCP with API key. Default e...3 params

List cards in a deck with **values** and (when export_type is full) **blocksSnapshot** per card — same per-card shape as **export_deck**, without repeating full deck metadata. Use for read/edit flows when you only need card payloads. Requires hosted MCP with API key. Default e...

Parameters* required
deckIdstring
Deck ID (from list_decks)
max_cardsnumber
Optional max cards to return (default 2000, hard cap 5000). Oldest-first ordering is not guaranteed.
export_typestring
Optional. "full" (default): each card includes blocksSnapshot and values. "values_only": values only (smaller).
create_templateCreate a flashcard template (block layout for new cards). Requires hosted MCP with API key. Call **list_template_block_types** first so the user can pick block types; pass the ordered selection as block_types. **When the user wants quizzes (multiple choice, single choice, or t...9 params

Create a flashcard template (block layout for new cards). Requires hosted MCP with API key. Call **list_template_block_types** first so the user can pick block types; pass the ordered selection as block_types. **When the user wants quizzes (multiple choice, single choice, or t...

Parameters* required
namestring
Template display name
blocksarray
Optional full block definitions. Mutually exclusive with block_types. Each: blockId (optional), type, label, side ("front" | "back"; default front), required (optional), configJson (required for quiz/image/audio per list_block_schemas). For quiz blocks, set type to quizSingleSelect | quizMultiSelect | quizTextAnswer and a complete configJson. For audio blocks, include configJson.defaultVoiceId or pass top-level voice_id (or audio_language + audio_gender). Empty or omitted uses header1 Question + hiddenText Answer unless block_types is set.
voice_idstring
When template includes an audio block without defaultVoiceId on every audio block: ElevenLabs id from list_elevenlabs_voices after the user chooses. Applied to all audio blocks. Alternatively pass audio_language + audio_gender instead.
subBlockIdstring
Optional; defaults from second block
block_typesarray
Ordered list of block type keys or numeric ids 0–16. Examples: ["header1", "hiddenText"] for Q&A; ["header1", "quizSingleSelect"] or [0, 9] for stem + single-choice quiz. Quiz keys: quizMultiSelect (8), quizSingleSelect (9), quizTextAnswer (10). Mutually exclusive with blocks.
descriptionstring
Optional description
mainBlockIdstring
Optional; defaults from first block
audio_genderstring
female | male. Use with audio_language when voice_id is omitted (same conditions as create_card).
audio_languagestring
ISO 639 language code (e.g. en, ja, uk). Use with audio_gender when voice_id is omitted and the layout includes audio without per-block defaultVoiceId. Same as create_card.
update_templateUpdate an existing template’s name, description, block layout (blocks or block_types), main/sub block ids, and/or default voice for audio blocks. Set each block’s `side` to "front" or "back". Requires hosted MCP. When adding or changing **quiz** blocks, use **list_block_schema...10 params

Update an existing template’s name, description, block layout (blocks or block_types), main/sub block ids, and/or default voice for audio blocks. Set each block’s `side` to "front" or "back". Requires hosted MCP. When adding or changing **quiz** blocks, use **list_block_schema...

Parameters* required
namestring
New name (optional)
blocksarray
Full block definitions to replace layout; mutually exclusive with block_types
voice_idstring
Sets defaultVoiceId on all audio blocks (see create_template). Required if layout has audio without defaultVoiceId unless audio_language + audio_gender are passed instead.
subBlockIdstring
templateIdstring
Template ID from list_templates
block_typesarray
Ordered block types to replace layout; mutually exclusive with non-empty blocks. Include quiz* keys or ids 8–10 when the user wants MCQ/quiz layout; use list_block_schemas for configJson when building `blocks` instead.
descriptionstring
New description (optional)
mainBlockIdstring
audio_genderstring
female | male with audio_language when voice_id is omitted.
audio_languagestring
ISO 639 code with audio_gender when voice_id is omitted (same as create_template).
Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Registryactive
Packagedeckbase-mcp-server
TransportSTDIO
UpdatedApr 26, 2026
View on GitHub