flashcards-mcp logo

flashcards-mcp

zcsabbagh/flashcards-mcp
0 starsMITUpdated 2026-04-04Community

Is this your server?

Add your score badge to your README and get your server in front of 45k+ builders a month.

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

A spaced repetition flashcard MCP server using the FSRS-5 algorithm that provides interactive card review, text-to-speech, and image support.

README.md

flashcards-mcp

A spaced repetition flashcard MCP server for Claude. Uses the FSRS-5 algorithm (successor to Anki's SM-2) with an interactive card UI, text-to-speech, and image support.

Install

npx (quickest)

npx flashcards-mcp

Add to ~/.claude/.mcp.json:

{
  "mcpServers": {
    "flashcards": {
      "command": "npx",
      "args": ["flashcards-mcp"]
    }
  }
}

curl (auto-configures Claude)

curl -fsSL https://raw.githubusercontent.com/zcsabbagh/flashcards-mcp/main/install.sh | bash

Homebrew

brew tap zcsabbagh/tap
brew install flashcards-mcp

Then add to ~/.claude/.mcp.json:

{
  "mcpServers": {
    "flashcards": {
      "command": "flashcards-mcp"
    }
  }
}

Usage

After restarting Claude, try:

  • "create a deck called Algorithms" — creates a new deck
  • "add a card: What is Big O? / A notation for algorithm time complexity" — adds a card
  • "get due cards" — opens the interactive flashcard UI
  • "get due cards for deck 1" — filters to a specific deck

Keyboard shortcuts (in the flashcard UI)

| Key | Action | |-----|--------| | Space / Enter | Flip card | | 1-4 | Rate (Again, Hard, Good, Easy) | | Arrow Left/Right | Previous/Next card | | V | Toggle voiceover (requires ElevenLabs API key) |

Images

Cards support images on front and back faces:

"add a card with front_image from /path/to/image.png"
"set card 5 front image to https://example.com/photo.jpg"

Text-to-Speech

Add your ElevenLabs API key to the MCP config:

{
  "mcpServers": {
    "flashcards": {
      "command": "npx",
      "args": ["flashcards-mcp"],
      "env": {
        "ELEVENLABS_API_KEY": "sk_..."
      }
    }
  }
}

Tools

| Tool | Description | |------|-------------| | create_deck | Create a new deck | | list_decks | List all decks with stats | | add_card | Add a single card (supports markdown, images) | | bulk_add_cards | Add multiple cards at once | | get_due_cards | Get due cards with interactive UI | | review_card | Submit a rating (1-4) | | search_cards | Search cards by keyword | | get_deck_stats | Mastery distribution, retention rate | | get_card_image | Lazy-load card images | | set_card_image | Add/replace card images | | tts | Text-to-speech via ElevenLabs | | delete_card | Delete a card | | delete_deck | Delete a deck and all its cards | | get_review_history | Card scheduling history |

How it works

  • FSRS-5 algorithm schedules reviews based on stability, difficulty, and elapsed time
  • SQLite stores everything locally at ~/.claude/mcp-servers/flashcards/data/flashcards.db
  • MCP App UI renders an interactive flashcard widget directly in Claude's chat
  • Images stored as base64 in the database, lazy-loaded one at a time
  • Markdown supported in card content (code blocks, lists, headers, etc.)

License

MIT

See related servers & alternatives →

Related MCP servers

Browse all →

Related guides

Hand-picked reading to help you choose and use AI & ML servers.