Create, review, and manage flashcards with spaced repetition.
flashcard-mcp
An MCP server that gives Claude (or any MCP client) the ability to create, review, and manage flashcards with spaced repetition (SM-2 algorithm).
Organize cards into projects, tag them by topic, and let the scheduling algorithm figure out when you need to see each card again.
100% vibecoded.
Blog post
Read about how I use this MCP to learn math: Flashcards MCP
Installation
The server URL is:
https://flashcards.louisarge.com/api/mcp
It works out of the box — just add it as a remote MCP server in your client and sign in with Google when prompted.
Video tutorials
Tools
create_project/list_projects— organize cards into projectsread_memory/write_memory/edit_memory— persistent per-project notes and contextcreate_flashcard/edit_flashcard/list_flashcards/delete_flashcard— manage cardsget_due_flashcards— get cards that are due for reviewreview_flashcard— record how well you remembered (1-4), updates the scheduleget_flashcard_answer— reveal the answer after quizzing yourself
Self-hosting
The api/mcp.ts endpoint runs as a Vercel serverless function, backed by Upstash Redis.
Connect an Upstash Redis database via Vercel's Storage integration — it'll set up KV_REST_API_URL and KV_REST_API_TOKEN automatically.
Firebase setup
Authentication uses Firebase Google Sign-In. You'll need a Firebase project with Google auth enabled.
Server environment variables (set in Vercel):
FIREBASE_PROJECT_ID— Firebase project IDFIREBASE_CLIENT_EMAIL— Firebase service account emailFIREBASE_PRIVATE_KEY— Firebase service account private key, PEM format
Client-side Firebase config lives in api/authorize.ts — update the firebase.initializeApp({...}) block with your own Firebase project credentials.
Tools (5)
create_projectOrganize cards into projects.list_projectsList all available projects.create_flashcardCreate a new flashcard.get_due_flashcardsGet cards that are due for review.review_flashcardRecord how well you remembered a card (1-4) to update the schedule.Environment Variables
KV_REST_API_URLrequiredUpstash Redis REST API URLKV_REST_API_TOKENrequiredUpstash Redis REST API TokenFIREBASE_PROJECT_IDrequiredFirebase project IDFIREBASE_CLIENT_EMAILrequiredFirebase service account emailFIREBASE_PRIVATE_KEYrequiredFirebase service account private keyConfiguration
{"mcpServers": {"flashcard": {"command": "curl", "args": ["https://flashcards.louisarge.com/api/mcp"]}}}