Flashcard MCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
git clone https://github.com/louislva/flashcards-mcp
cd flashcards-mcp

Then follow the repository README for any remaining dependency or build steps before continuing.

2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add -e "KV_REST_API_URL=${KV_REST_API_URL}" -e "KV_REST_API_TOKEN=${KV_REST_API_TOKEN}" -e "FIREBASE_PROJECT_ID=${FIREBASE_PROJECT_ID}" -e "FIREBASE_CLIENT_EMAIL=${FIREBASE_CLIENT_EMAIL}" -e "FIREBASE_PRIVATE_KEY=${FIREBASE_PRIVATE_KEY}" flashcard-mcp -- node "<FULL_PATH_TO_FLASHCARDS_MCP>/dist/index.js"

Replace <FULL_PATH_TO_FLASHCARDS_MCP>/dist/index.js with the actual folder you prepared in step 1.

Required:KV_REST_API_URLKV_REST_API_TOKENFIREBASE_PROJECT_IDFIREBASE_CLIENT_EMAILFIREBASE_PRIVATE_KEY
README.md

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 projects
  • read_memory / write_memory / edit_memory — persistent per-project notes and context
  • create_flashcard / edit_flashcard / list_flashcards / delete_flashcard — manage cards
  • get_due_flashcards — get cards that are due for review
  • review_flashcard — record how well you remembered (1-4), updates the schedule
  • get_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 ID
  • FIREBASE_CLIENT_EMAIL — Firebase service account email
  • FIREBASE_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 URL
KV_REST_API_TOKENrequiredUpstash Redis REST API Token
FIREBASE_PROJECT_IDrequiredFirebase project ID
FIREBASE_CLIENT_EMAILrequiredFirebase service account email
FIREBASE_PRIVATE_KEYrequiredFirebase service account private key

Configuration

claude_desktop_config.json
{"mcpServers": {"flashcard": {"command": "curl", "args": ["https://flashcards.louisarge.com/api/mcp"]}}}

Try it

Create a new project called 'Spanish Vocabulary' for my language learning.
Add a new flashcard to the 'Spanish Vocabulary' project with the question 'Hello' and answer 'Hola'.
Show me all the flashcards that are due for review today in my 'Math' project.
I just reviewed my card and remembered it perfectly, record a score of 4 for card ID 123.
List all my current flashcard projects.

Frequently Asked Questions

What are the key features of Flashcard MCP?

Implements SM-2 spaced repetition algorithm for optimized learning. Supports project-based organization for flashcards. Persistent storage for notes and context per project. Automated review scheduling based on user performance. Integration with Firebase for authentication.

What can I use Flashcard MCP for?

Learning a new language by creating daily vocabulary flashcards. Memorizing complex mathematical formulas for academic study. Organizing technical interview prep questions into specific topics. Managing long-term retention of facts for professional certification exams.

How do I install Flashcard MCP?

Install Flashcard MCP by running: https://flashcards.louisarge.com/api/mcp

What MCP clients work with Flashcard MCP?

Flashcard MCP works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Flashcard MCP docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare