MCP server for Mochi flashcard integration, allowing you to manage your flashcards through the Model Context Protocol.
- Create, update, and delete flashcards
- Create cards from templates with automatic field name-to-ID mapping
- Add attachments (images, audio) to cards
- Get cards due for review
- List flashcards, decks, and templates
Add the following to your claude_desktop_config.json:
{
"mcpServers": {
"mochi": {
"command": "npx",
"args": ["-y", "@fredrika/mcp-mochi"],
"env": {
"MOCHI_API_KEY": "<YOUR_TOKEN>"
}
}
}
}{
"mcpServers": {
"mochi": {
"command": "node",
"args": ["/path/to/mcp-mochi/dist/index.js"],
"env": {
"MOCHI_API_KEY": "<YOUR_TOKEN>"
}
}
}
}-
Clone and install dependencies:
git clone https://github.com/fredrika/mcp-mochi.git cd mcp-mochi npm install -
Build the project:
npm run build
-
Test with MCP Inspector:
MOCHI_API_KEY=<YOUR_TOKEN> npx @modelcontextprotocol/inspector node dist/index.js
| Tool | Description |
|---|---|
mochi_create_flashcard |
Create a new flashcard in Mochi |
mochi_create_card_from_template |
Create a flashcard using a template with field names (auto-maps to IDs) |
mochi_update_flashcard |
Update a flashcard's content, deck, template, or fields. Can also soft-delete with trashed property |
mochi_delete_flashcard |
Permanently delete a flashcard and its attachments (cannot be undone) |
mochi_archive_flashcard |
Archive or unarchive a flashcard |
mochi_add_attachment |
Add an attachment (image, audio, etc.) to a card using base64 data |
mochi_list_flashcards |
List flashcards, optionally filtered by deck |
mochi_list_decks |
List all decks |
mochi_list_templates |
List all templates with their field definitions |
mochi_get_template |
Get a single template by ID |
mochi_get_due_cards |
Get flashcards due for review |
| URI | Description |
|---|---|
mochi://decks |
List of all decks |
mochi://templates |
List of all templates |
| Prompt | Description |
|---|---|
write-flashcard |
Generates a well-structured flashcard following best practices (atomic questions, cloze deletions, etc.) |
{
"tool": "mochi_create_flashcard",
"params": {
"content": "What is MCP?\n---\nModel Context Protocol - a protocol for providing context to LLMs",
"deckId": "<DECK_ID>"
}
}{
"tool": "mochi_create_card_from_template",
"params": {
"templateId": "<TEMPLATE_ID>",
"deckId": "<DECK_ID>",
"fields": {
"Front": "What is the capital of France?",
"Back": "Paris"
}
}
}{
"tool": "mochi_get_due_cards",
"params": {}
}