Skip to main content
Glama

Memora MCP

License: MIT MCP Apps TypeScript React

Verwandle jedes Gespräch in eine interaktive Lernsitzung, direkt in Claude Desktop. Frag Claude, ein Deck zu erstellen – es generiert die Karten und rendert sie als Inline-Übersicht, die du durchklicken kannst: Drehe Karteikarten um, beantworte Multiple-Choice-Quizze und fülle Lückentext-Lücken aus. Jede Antwort aktualisiert einen Spaced-Repetition-Zeitplan, und die Ergebnisse fließen an Claude zurück, damit es genau das weiter üben kann, was du noch nicht konntest.

Keywords: Model Context Protocol, MCP-Server, MCP-Apps, Claude Desktop, Karteikarten, Quiz, Spaced Repetition, SRS, FSRS, Anki-Alternative.

Basierend auf der MCP-Apps-Erweiterung (SEP-1865): MCP-Kernspezifikation 2025-11-25 plus Apps-Erweiterung 2026-01-26.

Drei Lernarten, inline in Claude dargestellt

Funktionen

Drei Lernarten, alle inline dargestellt und alle nach dem gleichen Schema bewertet:

  • Karteikarten: Zum Umdrehen klicken, dann mit Gewusst / Nicht gewusst bewerten.

  • Multiple-Choice-Quiz: Eine Option auswählen und die richtige/falsche Antwort erscheint sofort.

  • Lückentext: Die Lücke wird an Ort und Stelle aufgedeckt, sodass der Satz intakt bleibt. Schreib eine Lücke als [...] auf die Kartenvorderseite, und sie wird automatisch zu einer Lückentext-Karte.

Spaced Repetition: Jede Bewertung aktualisiert einen FSRS-Zeitplan pro Karte (über ts-fsrs). Schwache Karten tauchen also früher wieder auf, fällige Karten kommen zuerst. Frag „Was ist heute fällig?“ für eine Zusammenfassung über alle deine Decks.

Mit Kategorien organisieren: Nenne Decks mit :: geschachtelt (z. B. LLM::Attention). Durchsuche den Kategorienbaum oder denselben Baum als interaktive Mind-Map und lerne einen gesamten Zweig in einer zusammengeführten Sitzung. Quiz-Decks werden mit einem Badge markiert.

Decks verwalten: Decks und Karten direkt im Chat erstellen, erweitern, bearbeiten, umbenennen und löschen. Übergib beim Erstellen eines Decks reverse, um jede Karte auch in der umgekehrten Richtung zu üben (praktisch für Vokabeln).

Einfach JSON: Decks liegen in data/decks.json, das bei jedem Aufruf live gelesen wird. Du kannst sie manuell bearbeiten oder von Claude anlegen lassen. Keine Datenbank, kein externer Dienst.

Decks als Kategorienbaum oder Mind-Map durchsuchen

Related MCP server: EduChain MCP Server

Die Tools

Nur review_deck und study öffnen das Inline-Karteikarten-UI; alle anderen Tools liefern eine textuelle Zusammenfassung. So stört das Bearbeiten oder Erstellen im Chat nicht durch unerwartet aufgehende Widgets.

Tool

Was es tut

review_deck

Öffnet ein Deck zur Wiederholung (fällige Karten zuerst, pro Sitzung begrenzt).

study

Wiederholt einen ganzen Kategorie-Unterbaum, zusammengeführt in eine Sitzung (pro Sitzung begrenzt).

create_deck

Erzeugt Karteikarten oder Lückentext-Karten; reverse fügt außerdem Karten in umgekehrter Richtung hinzu.

create_quiz

Erzeugt Multiple-Choice-Fragen.

grade_card

Speichert ein Bewertungsergebnis und aktualisiert den FSRS-Zeitplan der Karte (von der UI aufgerufen).

due_today

Fasst zusammen, was über alle Decks fällig ist, und markiert Karten mit Lernschwierigkeiten (3+ Fehlversuche).

edit_card

Ändert Vorder- und/oder Rückseite einer Karte.

refine_card

Schlägt vor, eine Karte in atomare Einzelkarten zu zerlegen oder sie umzuschreiben, um das Verständnis zu testen.

apply_refinement

Speichert eine Überarbeitung, nachdem der Benutzer die vorgeschlagenen Karten genehmigt hat.

capture

Verwandelt etwas, das dir gerade Schwierigkeiten gemacht hat (einen Bug, eine falsch beantwortete Frage) in Kartenentwürfe.

apply_capture

Speichert erfasste Karten, nachdem der Benutzer sie genehmigt hat.

rename_deck

Benennt ein Deck um und verschiebt es auch im Kategorienbaum.

delete_card

Entfernt einen einzelnen Karte. (sollte "eine einzelne Karte" sein)

delete_deck

Entfernt ein ganzes Deck.

Die Kartengenerierung folgt den Qualitätsregeln von Memora (atomare Ein-Internation Karten, Antworten mit 1–5 Wörtern, aktives Abrufen, Eindeutigkeit, keine Hinweise auf die Lösung, praktische Anwendung vor Definition), die auf Wozniaks 20 Regeln zur Formulierung von Wissen basiert. Neue Karten werden beim Schreiben geltet und markiert (jedoch nie blockiert), damit Claude sie ablehnen kann.

Wie es funktioniert (MCP-Apps)

Ein Tool deklariert eine ui://-Ressource. Wenn Claude das Tool aufruft, holt der Host (Claude Desktop) diese Ressource, rendert das HTML in einem Sandbox-Service-iFrame, übergibt das Tool-Ergebnis an die UI, und die UI spricht über JSON-RPC mit dem Host (zur Bewertung der Karten und zum Melden des Fortschritts an das Modell).

Der MCP-Apps-Requestverlauf

Schnellstart

Voraussetzungen

  • Node.js 20.11+

Mit Claude Desktop verbinden

Öffne Einstellungen > Entwickler > Konfiguration bearbeiten und füge Memora unter mcpServers hinzu:

{
  "mcpServers": {
    "memora": {
      "command": "npx",
      "args": ["-y", "@servation/memora-mcp", "--stdio"]
    }
  }
}

Beende Claude Desktop dann vollständig (über das System-Tray) und starte es neu. memora erscheint unter Einstellungen > Entwickler, mit einigen Beispield-ecks vorinstalliert.

Deine Decks werden in ~/.memora/decks.json gespeichert (du kannst den Pfad über die Umgebungsvariable MEMORA_DECKS überschreiben). Bearbeite die Datei manuell oder lass Claude die Verwaltung übernehmen.

git clone https://github.com/Servation/memora-mcp.git
cd memora-mcp
npm install
npm run build

Richte die Konfiguration auf den gebauten Einstiegspunkt mit einem absoluten Pfad aus (die Decks liegen dann in data/decks.json des Repos):

{
  "mcpServers": {
    "memora": {
      "command": "node",
      "args": ["C:\\path\\to\\memora-mcp\\dist\\main.js", "--stdio"]
    }
  }
}

Ausprobieren (im Claude-Desktop-Chat)

  • review my World Capitals deck

  • make me a deck of 10 Spanish travel phrases

  • make a reusable deck of 10 Spanish words (übt beide Richtungen)

  • make a multiple-choice quiz on the solar system (übt falschliche)

  • turn what we just discussed into a deck called "Photosynthesis"

  • study my LLM category

  • what's due today?

Tech-Stack

  • Server: TypeScript, @modelcontextprotocol/sdk plus @modelcontextprotocol/ext-apps, stdio-Transport (Streamable HTTP ebenfalls verfügbar).

  • UI: React plus Vite, über vite-plugin-singlefile zu einer einzigen, eingebetteten HTML-Datei gebündelt.

  • Zeitplanung: ts-fsrs (FSRS).

  • Nach dem Build läuft das Ganze mit reinem node – ohne bun oder tsx.

Deck-Format

{
  "Deck Name": [
    { "front": "Capital of France?", "back": "Paris" }
  ]
}
  • Bei installierter Version gespeichert in ~/.memora/decks.json (aus dem Quellcode: data/decks.json); überschreibbar mit MEMORA_DECKS.

  • Liegt live beim Aufruf (mtime-gecacht). create_deck, create_quiz und grade_card schreiben atomar in die Datei.

  • Eine Quiz-Karte erhält ein Feld "options": ["...", "..."]; ihre back ist die richtige Antwort.

  • Eine Lückentext-Karte notiert die Lücke als [...] in der Vorderseite und den verborgenen Begriff als back.

  • Beim Wiederholen erhalten Karten ein fällig/-Datum und einen FSRS-srs`-Block; Karten ohne diese werden als neu behandelt.

  • Die Datei muss gültiges JSON bleiben, sonst fällt der Server auf ein eingebautes Standard-Deck zurück.

Projektstruktur

memora-mcp/
├── server.ts            # MCP tools + the ui:// resource
├── decks.ts             # data model, decks.json storage, result builder
├── scheduling.ts        # FSRS scheduling + review ordering
├── main.ts              # entry: stdio (Claude Desktop) or Streamable HTTP
├── mcp-app.html         # UI entry HTML (bundled by Vite)
├── src/
│   ├── mcp-app.tsx      # review orchestrator (flip / quiz / cloze, grade -> model)
│   ├── deck-lib.tsx     # tree, mind map, card list, quiz/cloze views, helpers
│   ├── mcp-app.module.css
│   └── global.css       # host theme variable fallbacks (light/dark)
├── data/decks.json      # editable decks, read live
├── media/               # README images
├── vite.config.ts       # single-file bundle config
└── tsconfig*.json

Entwicklung

npm run dev        # vite watch (UI) plus tsx server on http://localhost:3001/mcp
npm run typecheck  # tsc --noEmit

Für schnelle lokale Iteration kannst du die App auch gegen den MCP-Apps-Referenzhost (basic-host) aus dem ext-apps-Repository ausprobieren.

Roadmap

Siehe TODO.md für den Backlog: npm- und MCP-Registry-Veröffentlichung, clientübergreifend bit hosting (Streamable HTTP), Tests für Parsing und Planung sowie eine echte Screen-Capture-Demo als GIF.

Lizenz

MIT

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Servation/memora-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server