MCP server for Mochi flashcard system to create flashcards with Claude.
Overview
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:
README
Mochi MCP Server
MCP server for Mochi flashcard integration, allowing you to manage your flashcards through the Model Context Protocol.
Features
- 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
Usage with Claude Desktop
Add the following to your claude_desktop_config.json:
NPX (recommended)
{
"mcpServers": {
"mochi": {
"command": "npx",
"args": ["-y", "@fredrika/mcp-mochi"],
"env": {
"MOCHI_API_KEY": ""
}
}
}
}
Local Development
{
"mcpServers": {
"mochi": {
"command": "node",
"args": ["/path/to/mcp-mochi/dist/index.js"],
"env": {
"MOCHI_API_KEY": ""
}
}
}
}
Local Development Setup
-
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= npx @modelcontextprotocol/inspector node dist/index.js
Available Tools
| 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 |
Resources
| URI | Description |
|---|---|
mochi://decks |
List of all decks |
mochi://templates |
List of all templates |
Prompts
| Prompt | Description |
|---|---|
write-flashcard |
Generates a well-structured flashcard following best practices (atomic questions, cloze deletions, etc.) |
Examples
Create a simple flashcard
{
"tool": "mochi_create_flashcard",
"params": {
"content": "What is MCP?\n---\nModel Context Protocol - a protocol for providing context to LLMs",
"deckId": ""
}
}
Create a card from template
{
"tool": "mochi_create_card_from_template",
"params": {
"templateId": "",
"deckId": "",
"fields": {
"Front": "What is the capital of France?",
"Back": "Paris"
}
}
}
Get today’s due cards
{
"tool": "mochi_get_due_cards",
"params": {}
}
Install
npx -y @fredrika/mcp-mochiConfiguration
{
"mcpServers": {
"mochi": {
"command": "npx",
"args": ["-y", "@fredrika/mcp-mochi"],
"env": {
"MOCHI_API_KEY": "<YOUR_TOKEN>"
}
}
}
}