Mochi MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Mochi MCP Server search for cards about machine learning"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Mochi MCP Server
A Model Context Protocol server that enables AI agents (Claude, Codex, etc.) to manage your Mochi.cards flashcards.
Features
Browse decks and cards
Search cards by content or tags
Create/Update cards with two-phase commit (preview before applying)
Delete cards with typed confirmation (safety first)
Robust safety - deck deletion disabled by default
Related MCP server: Mochi MCP Server
Quick Start
# Install
npm install
# Build
npm run build
# Run (needs your Mochi API key)
MOCHI_API_KEY=your_key_here node dist/index.jsGet your API key from the Mochi app: Settings → Account → API Key.
Usage with Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"mochi": {
"command": "node",
"args": ["/path/to/mochi-mcp/dist/index.js"],
"env": {
"MOCHI_API_KEY": "your_api_key"
}
}
}
}Then ask Claude: "List my Mochi decks" or "Search for cards about gradients".
Tools
Read Operations
Tool | Description |
| List all decks |
| Get deck with card list |
| Get full card content |
| Get multiple cards by ID |
| Search by text, tags, or date. Returns rich results (deckId, createdAt, etc.) |
| Paginated card listing with bookmark |
| Find decks by name (case-insensitive partial match) |
Write Operations (Two-Phase Commit)
Tool | Description |
| Preview new card → returns token |
| Apply creation with token |
| Preview edit with diff → returns token |
| Preview Q/A edit → returns token |
| Apply update with token |
| Preview batch updates |
| Apply batch updates |
Tag Operations (Two-Phase)
Tool | Description |
| Preview adding tags to cards |
| Preview removing tags |
| Apply tag changes with token |
Delete Operations (Requires Confirmation)
Tool | Description |
| Soft-delete (requires: "delete card <id>") |
| Disabled by default |
Performance Notes
Global search scans at most 1000 cards
Per-deck search scans at most 5000 cards
Use
list_cards_pagewith pagination for larger collectionsDate filters use UTC (ISO 8601 format:
YYYY-MM-DDTHH:mm:ss.sssZ)
Configuration
Variable | Required | Default | Description |
| ✅ | - | Your Mochi API key |
| ❌ |
| Enable deck deletion |
| ❌ |
| Preview token validity |
Safety Design
Two-phase commit: Create/update operations show a preview first. You approve by using the returned token.
Typed confirmations: Delete requires typing
"delete card <id>"exactly.Deck deletion disabled: Must set
MOCHI_ALLOW_DECK_DELETE=trueto enable.Soft delete default: Cards go to trash (recoverable in Mochi app).
Development
# Run tests
npm test
# Type check
npm run lint
# Development mode
MOCHI_API_KEY=your_key npm run dev
# Test with MCP Inspector
npm run inspectLicense
MIT
Available Tools
20 toolsadd_tags_previewA
Preview adding tags to one or more cards. Returns a token for apply_tags_update.
Inputs: cardIds (required), tagsToAdd (required).
apply_create_cardB
Execute card creation after user confirms
Inputs: token (required), confirmation (required).
apply_tags_updateA
Apply tag changes after user confirms. Use with token from add_tags_preview or remove_tags_preview.
Inputs: token (required), confirmation (required).
apply_update_cardC
Execute card update after user confirms
Inputs: token (required), confirmation (required).
apply_update_cards_batchC
Apply a batch of card updates.
Inputs: token (required), confirmation (required).
create_card_previewA
Preview a new card. IMPORTANT: After calling this, you MUST show the preview to the user and ask for explicit confirmation before calling apply_create_card. Do NOT chain these calls automatically.
Inputs: deckId (required), content (required), tags.
create_deckC
Create a new deck
Inputs: name (required), parentId.
delete_cardA
Delete a card (soft-delete by default). Requires typed confirmation.
Inputs: cardId (required), confirmation (required), permanent.
delete_deckA
Delete a deck (disabled by default, requires MOCHI_ALLOW_DECK_DELETE=true)
Inputs: deckId (required), confirmation (required).
find_deck_by_nameA
Find decks by name (case-insensitive partial match). Useful when you know the deck name but not its ID.
Inputs: query (required).
get_cardB
Get full content of a single card
Inputs: cardId (required).
get_cardsC
Get content of multiple cards (bulk)
Inputs: cardIds (required).
get_deckC
Get deck details and list of cards
Inputs: deckId (required).
list_cards_pageA
Fetch a single page of cards with explicit pagination. Use for iterating through large collections.
Inputs: deckId, bookmark, pageSize.
list_decksB
List all Mochi flashcard decks
Inputs: includeArchived.
remove_tags_previewA
Preview removing tags from one or more cards. Returns a token for apply_tags_update.
Inputs: cardIds (required), tagsToRemove (required).
search_cardsB
Search cards by content, tags, or date. Returns rich results with deckId, createdAt, updatedAt. Includes scannedCount and truncated flags.
Inputs: query, deckId, tags, createdAfter, +2 more.
update_card_fields_previewB
Preview changes to specific fields (Question, Answer, Tags). Reconstructs full markdown.
Inputs: cardId (required), question, answer, tags.
update_card_previewA
Preview changes to a card with diff. IMPORTANT: After calling this, you MUST show the diff to the user and ask "Do you want to apply this change?" WAIT for explicit confirmation before calling apply_update_card.
Inputs: cardId (required), content (required), tags.
update_cards_batch_previewC
Preview updates for multiple cards at once.
Inputs: updates (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 20 tools
Most tools have distinct purposes, such as create_card_preview vs. apply_create_card for previewing and confirming card creation, or get_card vs. get_cards for single vs. bulk retrieval. However, there is some overlap between update_card_preview and update_card_fields_preview, both used for previewing card updates, which could cause minor confusion for agents.
Tool names follow a consistent snake_case pattern with clear verb_noun structures, such as create_card_preview, apply_create_card, and list_decks. The naming is predictable and readable throughout the set, with no deviations or mixed conventions.
With 20 tools, the count is slightly high but reasonable for a flashcard management server, covering operations like creation, updates, deletion, searching, and deck management. It includes necessary preview and confirmation steps, though it could be streamlined without losing functionality.
The tool set provides comprehensive coverage for flashcard management, including full CRUD operations for cards and decks (e.g., create, get, update, delete), batch processing, tagging, searching, and pagination. There are no obvious gaps, and agents can handle typical workflows without dead ends.
Maintenance
Related MCP Connectors
Build and study spaced-repetition flashcards with your agent.
Connect AI to your flomo notes. Search, create, edit notes and manage tags via MCP.
List and create Manthan concept-card decks from an AI agent — no AI quota spent for imports.
Read, write, and conversationally review open-source flashcards through split read/write MCP tools.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI assistants to manage Anki flashcard decks and cards through natural language, supporting deck creation, card additions (basic and cloze types), and review queue management.66 npm2MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to create and manage Mochi Cards flashcards, including card operations, deck management, templates, and spaced repetition reviews through the Mochi API.12 npm1MIT
- AlicenseAqualityDmaintenanceEnables AI tools to manage Anki flashcards, including deck management, card search, creation, editing, deletion, and statistics.1030 npm3Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to interact with Anki flashcard collections, including deck management, note search, viewing contents, and editing fields.16 npmMIT