io.github.deckbase/deckbase-mcp-server
NPM · DECKBASE-MCP-SERVER · SCANNED AUG 3
MCP server for Deckbase - exposes docs, template blocks, and project context
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security88
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 1 of 1 dependencies flagged as unhealthy (1 deprecated). View diagnostics → Partial
Provenance & Transparency6
- Repository check failed: the declared repository URL returned HTTP 404. See how to fix → View diagnostics → Fail
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- License check failed: no license is declared. See how to fix → Fail
- Actively maintained (last published 98 days ago).Pass
- Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability78
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 2881 tokens (~80/item across 36 items; 35 tools + 1 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
- Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage70
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 11% of tool parameters carry a description.Partial
Capabilities20
- Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28. See how to fix → Fail
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · deckbase-mcp-server
claude mcp add deckbase-deckbase-mcp-server -- npx -y deckbase-mcp-server
codex mcp add deckbase-deckbase-mcp-server -- npx -y deckbase-mcp-server
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"deckbase-deckbase-mcp-server": {
"type": "local",
"command": [
"npx",
"-y",
"deckbase-mcp-server"
],
"enabled": true
}
}
} openclaw mcp add deckbase-deckbase-mcp-server --command npx --arg -y --arg deckbase-mcp-server
mcp_servers:
deckbase-deckbase-mcp-server:
command: "npx"
args: ["-y", "deckbase-mcp-server"] {
"mcpServers": {
"deckbase-deckbase-mcp-server": {
"command": "npx",
"args": [
"-y",
"deckbase-mcp-server"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.
- 2 Aug 26 +14
- Malware scan: unverified → pass ▲ security
- Dependency health: 1.00 → 0.00 ▼ functional
- Stability: unverified → 0.20 ▲ functional
- 1 Aug 26 −9
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 31 Jul 26 −18
- Malware scan: pass → unverified ▼ security
- 27 Jul 26 +30
- Schema quality: unverified → 100 ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- First check of Schema quality: good functional
- First check of Schema quality: pass functional
- First check of Schema quality: fail functional
- First check of Tool coverage: 11 functional
- 26 Jul 26 37
First indexed and scored.
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Analysed npm/[email protected]
Provenance none
Ecosystem: npm · Outcome: none
Dependencies 1 package
1 package in the resolved dependency tree · 1 deprecated.
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
bulk_append_blocks ~137
Insert same new empty blocks on many cards; insert_before/after/index + voice for audio. Max 50. Hosted MCP.
| Name | Type | Req | Description |
|---|---|---|---|
| append_block_side | string | — | — |
| append_block_types | array | — | — |
| append_blocks | array | — | — |
| audio_gender | string | — | — |
| audio_language | string | — | — |
| card_ids | array | yes | — |
| deckId | string | yes | — |
| dry_run | boolean | — | — |
| insert_after_block_id | string | — | — |
| insert_before_block_id | string | — | — |
| insert_index | integer | — | — |
| voice_id | string | — | — |
No output schema declared.
No examples provided.
bulk_move_block ~106
Move or flip front/back for one block on many cards; block_side, keep_position, insert_*. Max 50. Hosted MCP.
| Name | Type | Req | Description |
|---|---|---|---|
| block_side | string | — | — |
| card_ids | array | yes | — |
| deckId | string | yes | — |
| insert_after_block_id | string | — | — |
| insert_before_block_id | string | — | — |
| insert_index | integer | — | — |
| keep_position | boolean | — | — |
| move_block_id | string | — | — |
No output schema declared.
No examples provided.
bulk_remove_card_fields ~69
Clear same blockIds on many cards; user_confirmed required. Hosted MCP.
| Name | Type | Req | Description |
|---|---|---|---|
| card_ids | array | yes | — |
| deckId | string | yes | — |
| removeBlockIds | array | — | — |
| remove_block_ids | array | — | — |
| user_confirmed | boolean | yes | — |
No output schema declared.
No examples provided.
bulk_set_block_side ~64
Set front/back for one block on many cards. Hosted MCP.
| Name | Type | Req | Description |
|---|---|---|---|
| block_side | string | — | — |
| card_ids | array | yes | — |
| deckId | string | yes | — |
| dry_run | boolean | — | — |
| move_block_id | string | — | — |
No output schema declared.
No examples provided.
bulk_set_main_sub_blocks ~110
Set main_block_id / sub_block_id on many cards (ids or labels). Hosted MCP.
| Name | Type | Req | Description |
|---|---|---|---|
| card_ids | array | yes | — |
| deckId | string | yes | — |
| dry_run | boolean | — | — |
| main_block_id | string | — | — |
| main_block_label | string | — | — |
| main_semantic_key | string | — | — |
| sub_block_id | string | — | — |
| sub_block_label | string | — | — |
| sub_semantic_key | string | — | — |
No output schema declared.
No examples provided.
bulk_update_cards ~100
Bulk merge: same patch (card_ids+front/block_text), or parallel card_ids+texts+block_id or block_ids. Hosted MCP.
| Name | Type | Req | Description |
|---|---|---|---|
| block_id | string | — | — |
| block_ids | array | — | — |
| block_text | object | — | — |
| card_ids | array | — | — |
| deckId | string | yes | — |
| front | string | — | — |
| per_card | array | — | — |
| texts | array | — | — |
No output schema declared.
No examples provided.
copy_template_blocks_to_cards ~70
Append template block copies to cards. Hosted MCP.
| Name | Type | Req | Description |
|---|---|---|---|
| block_labels | array | — | — |
| card_ids | array | yes | — |
| deckId | string | yes | — |
| dry_run | boolean | — | — |
| template_block_ids | array | — | — |
| template_id | string | — | — |
No output schema declared.
No examples provided.
create_card ~126
Create a card from a template. front = main block only; block_text = all blockIds including side back (see get_template_schema). Audio: voice_id or audio_language+audio_gender. Hosted MCP.
| Name | Type | Req | Description |
|---|---|---|---|
| audio_gender | string | — | — |
| audio_language | string | — | — |
| block_text | object | — | blockId→text, including back-face blocks |
| deckId | string | yes | — |
| front | string | — | Main block text only |
| generate_audio | boolean | — | — |
| templateId | string | — | — |
| voice_id | string | — | — |
No output schema declared.
No examples provided.
create_cards ~95
Bulk create cards; per-card front + block_text (back blocks same as create_card). Voice defaults + per-card overrides. Max 50. Hosted MCP.
| Name | Type | Req | Description |
|---|---|---|---|
| audio_gender | string | — | — |
| audio_language | string | — | — |
| cards | array | yes | — |
| deckId | string | yes | — |
| generate_audio | boolean | — | — |
| templateId | string | — | — |
| voice_id | string | — | — |
No output schema declared.
No examples provided.
create_deck ~102
Create a new flashcard deck. No emoji catalog API—use standard Unicode. Pass icon_emoji/iconEmoji: one emoji matching title/description unless user opts out (hosted MCP only).
| Name | Type | Req | Description |
|---|---|---|---|
| description | string | — | — |
| iconEmoji | string | — | Alias for icon_emoji |
| icon_emoji | string | — | One emoji; infer from title/description if user did not specify (alias: iconEmoji) |
| title | string | yes | — |
No output schema declared.
No examples provided.
create_template ~144
Create a flashcard template (block layout). If layout includes audio: ask the user for voice first, then pass voice_id OR audio_language + audio_gender (same as create_card). Requires hosted MCP with API key.
| Name | Type | Req | Description |
|---|---|---|---|
| audio_gender | string | — | female | male with audio_language |
| audio_language | string | — | ISO 639 with audio_gender when voice_id omitted |
| block_types | array | — | Ordered type keys or numeric ids; use list_template_block_types first |
| blocks | array | — | — |
| description | string | — | — |
| name | string | yes | — |
| voice_id | string | — | Curated ElevenLabs voice id when template has audio |
No output schema declared.
No examples provided.
delete_card ~68
Soft-delete one card. DESTRUCTIVE. Hosted MCP only. Ask the user first; pass user_confirmed: true only after explicit consent.
| Name | Type | Req | Description |
|---|---|---|---|
| cardId | string | yes | — |
| deckId | string | yes | — |
| user_confirmed | boolean | yes | Must be true after user confirms |
No output schema declared.
No examples provided.
delete_cards ~57
Soft-delete multiple cards in one deck. Same consent as delete_card. Max 50 per request. Hosted MCP only.
| Name | Type | Req | Description |
|---|---|---|---|
| card_ids | array | yes | — |
| deckId | string | yes | — |
| user_confirmed | boolean | yes | — |
No output schema declared.
No examples provided.
export_cards ~75
Export specific cards by id in one deck (subset). Pass card_ids array (max 200). Same export_type as export_deck. Requires hosted MCP with API key.
| Name | Type | Req | Description |
|---|---|---|---|
| cardIds | array | — | — |
| card_ids | array | — | — |
| deckId | string | yes | — |
| export_type | string | — | — |
No output schema declared.
No examples provided.
export_deck ~81
Export a deck as JSON (metadata and cards). export_type: full (default) or values_only. Requires hosted MCP with API key.
| Name | Type | Req | Description |
|---|---|---|---|
| deckId | string | yes | — |
| export_type | string | — | Optional: "full" or "values_only" |
| max_cards | number | — | Optional; default 2000, max 5000 |
No output schema declared.
No examples provided.
generate_audio_for_card ~136
ElevenLabs TTS: add or replace audio on an existing card’s audio block. Required: deckId, cardId. Pass voice_id OR audio_language + audio_gender (ask user first). Optional block_id, text, replace_existing. Requires hosted MCP with API key.
| Name | Type | Req | Description |
|---|---|---|---|
| audio_gender | string | — | — |
| audio_language | string | — | — |
| block_id | string | — | — |
| cardId | string | yes | — |
| deckId | string | yes | — |
| generate_audio | boolean | — | — |
| replace_existing | boolean | — | — |
| text | string | — | — |
| voice_id | string | — | — |
No output schema declared.
No examples provided.
generate_image_for_card ~183
fal.ai image on card image block (web wizard parity on hosted MCP + FAL_KEY). deckId + cardId required; prompt OR wizard fields; choose model_id via list_ai_image_models. See hosted MCP docs.
| Name | Type | Req | Description |
|---|---|---|---|
| block_id | string | — | — |
| cardId | string | yes | — |
| deckId | string | yes | — |
| final_prompt | string | — | — |
| library_entry_ids | array | — | — |
| media_tags | array | — | — |
| merge_library_tag_defaults | boolean | — | — |
| model_id | string | — | — |
| prompt | string | — | — |
| reference_image_data_url | string | — | — |
| reference_image_url | string | — | — |
| reference_media_id | string | — | — |
| replace_existing | boolean | — | — |
| source_block_ids | array | — | — |
| style_prompt_id | string | — | — |
No output schema declared.
No examples provided.
get_template_schema ~66
Template layout: blockIds, side front|back, configJson, create_card hints. Back content → create_card block_text with those blockIds. Hosted MCP. Args: templateId or deckId.
| Name | Type | Req | Description |
|---|---|---|---|
| deckId | string | — | — |
| templateId | string | — | — |
No output schema declared.
No examples provided.
list_ai_image_models ~34
List allowed AI text-to-image models for generate_image_for_card model_id (id, label, credits) plus defaults.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_block_schemas ~30
JSON shapes for each block type (block definition + value + configJson). For MCP/mobile clients.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_cards ~89
List cards with values and (default) blocksSnapshot per card; slimmer than export_deck. export_type: full (default) or values_only. Requires hosted MCP with API key.
| Name | Type | Req | Description |
|---|---|---|---|
| deckId | string | yes | — |
| export_type | string | — | Optional: "full" or "values_only" |
| max_cards | number | — | Optional; default 2000, max 5000 |
No output schema declared.
No examples provided.
list_decks ~44
List the user's flashcard decks (deckId, title, description, defaultTemplateId, iconEmoji). iconEmoji is optional deck icon. Requires hosted MCP with API key.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_docs ~21
List all Markdown documentation files in the Deckbase docs/ folder.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_elevenlabs_voices ~117
ElevenLabs TTS voice ids from the Deckbase curated catalog (multilingual; docs/api/ELEVENLABS_VOICES.md). Optional: language (ISO code), gender (female|male), search (substring). Returns languageOptions, filtersApplied, totalVoicesInCatalog.
| Name | Type | Req | Description |
|---|---|---|---|
| gender | string | — | — |
| language | string | — | Optional ISO 639 code (e.g. en, uk, ja). |
| search | string | — | Optional filter on label, group, id, or language code. |
No output schema declared.
No examples provided.
list_image_style_prompts ~59
Curated AI image style presets (tags, snippets). Subscribers only on hosted MCP. Optional tag filter. Use style:{id} as library_entry_ids or style_prompt_id.
| Name | Type | Req | Description |
|---|---|---|---|
| tag | string | — | Optional kebab-case tag filter |
No output schema declared.
No examples provided.
list_image_subject_prompts ~38
Subject starter presets + user-saved subjects (unified_id for generate_image_for_card library_entry_ids). Subscribers only on hosted MCP.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_template_block_types ~37
List all template block types for create_template. Show the user the list so they can pick multiple in order, then pass block_types.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_templates ~25
List card templates (templateId for create_card). Requires hosted MCP with API key.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
normalize_cards_to_template ~57
Align all cards to current template layout; optional dry_run. Hosted MCP.
| Name | Type | Req | Description |
|---|---|---|---|
| card_ids | array | — | — |
| deckId | string | yes | — |
| dry_run | boolean | — | — |
| template_id | string | — | — |
No output schema declared.
No examples provided.
read_doc ~55
Read a Deckbase doc by path (e.g. STATE_BASED_SYNC_MOBILE.md or docs/FIRESTORE_FLASHCARDS_MIGRATION.md).
| Name | Type | Req | Description |
|---|---|---|---|
| path | string | yes | Doc path or deckbase://docs/<filename> |
No output schema declared.
No examples provided.
remove_card_fields ~72
Clear block content on one card; user_confirmed required. Separate from update_card. Hosted MCP.
| Name | Type | Req | Description |
|---|---|---|---|
| cardId | string | yes | — |
| deckId | string | yes | — |
| removeBlockIds | array | — | — |
| remove_block_ids | array | — | — |
| user_confirmed | boolean | yes | — |
No output schema declared.
No examples provided.
update_card ~166
Merge, append_block_types/blocks, or replace values/blocks_snapshot. Hosted MCP.
| Name | Type | Req | Description |
|---|---|---|---|
| append_block_types | array | — | — |
| append_blocks | array | — | — |
| audio_gender | string | — | — |
| audio_language | string | — | — |
| block_side | string | — | — |
| block_text | object | — | — |
| blocks_snapshot | array | — | — |
| cardId | string | yes | — |
| deckId | string | yes | — |
| front | string | — | — |
| insert_after_block_id | string | — | — |
| insert_before_block_id | string | — | — |
| insert_index | integer | — | — |
| keep_position | boolean | — | — |
| move_block_id | string | — | — |
| values | array | — | — |
| voice_id | string | — | — |
No output schema declared.
No examples provided.
update_deck ~103
Update deck title, description, default template, icon. Pass icon_emoji or iconEmoji as empty string to clear. Requires hosted MCP with API key.
| Name | Type | Req | Description |
|---|---|---|---|
| deckId | string | yes | — |
| default_template_id | string | — | — |
| description | string | — | — |
| iconEmoji | string | — | Alias for icon_emoji |
| icon_emoji | string | — | Set/clear deck icon (alias: iconEmoji) |
| title | string | — | — |
No output schema declared.
No examples provided.
update_template ~98
Update template metadata and/or block layout. Same voice_id / audio_language + audio_gender rules as create_template. Requires hosted MCP with API key.
| Name | Type | Req | Description |
|---|---|---|---|
| audio_gender | string | — | — |
| audio_language | string | — | — |
| block_types | array | — | — |
| blocks | array | — | — |
| description | string | — | — |
| name | string | — | — |
| templateId | string | yes | — |
| voice_id | string | — | — |
No output schema declared.
No examples provided.
validate_deck_layout ~35
Report template vs card drift. Hosted MCP.
| Name | Type | Req | Description |
|---|---|---|---|
| deckId | string | yes | — |
| template_id | string | — | — |
No output schema declared.
No examples provided.