Memora MCP
Memora MCP
あらゆる会話を、Claude Desktop の中でそのまま操作できるインタラクティブな学習セッションに変えます。Claude にデッキ作成を依頼するとカードを生成し、インラインで表示されたレビューをクリックして進められます。フラッシュカードをめくったり、多肢選択クイズに答えたり、穴埋め(cloze)の空欄を埋めたりできます。すべての回答は間隔反復スケジュールを更新し、結果は Claude にフィードバックされるので、間違えた問題を重点的にドリルできます。
キーワード: Model Context Protocol、MCP サーバー、MCP Apps、Claude Desktop、フラッシュカード、クイズ、間隔反復、SRS、FSRS、Anki の代替。
MCP Apps 拡張機能(SEP-1865)上に構築: コア MCP 仕様 2025-11-25 に加え、Apps 拡張機能 2026-01-26 をサポート。
特徴
3つの学習モード。すべてインラインで表示され、すべて同じ方法で採点されます:
フラッシュカード: クリックしてめくり、「わかった」/「わからなかった」 で評価します。
多肢選択クイズ: 選択肢を選ぶと、正解/不正解が即座に表示されます。
穴埋め(空欄補充): 空欄がその場で表示されるため、文の流れが保たれます。カードの表面に
[...]と書くと、自動的に穴埋めカードになります。
間隔反復: すべての評価がカードごとの FSRS スケジュール(ts-fsrs 経由)を更新するため、苦手なカードはより早く再登場し、期限が来たカードが優先されます。「今日の予定は?」 と聞けば、全デッキのサマリーが表示されます。
カテゴリで整理: デッキ名に :: を使うと階層化できます(例: LLM::Attention)。カテゴリツリー、または同じツリーをインタラクティブなマインドマップとして閲覧でき、ブランチ全体を1つの統合セッションで学習できます。クイズデッキにはバッジが表示されます。
デッキの管理: チャットから離れることなく、デッキの作成、追加、編集、名前変更、削除ができます。デッキ作成時に reverse を渡すと、各カードを逆方向からもドリルできます(語彙学習に便利)。
JSON だけ: デッキは data/decks.json に保存され、毎回の呼び出しでライブに読み込まれます。手動で編集することも、Claude に作成させることもできます。データベースも外部サービスも不要です。
Related MCP server: EduChain MCP Server
ツール
インラインのフリップカード UI を開くのは review_deck と study だけです。それ以外はすべてテキストのサマリーを返すため、チャット内での編集や作成でウィジェットが表示されることはありません。
ツール | 機能 |
| 1つのデッキをレビュー用に開く(期限が来たカードが優先、セッションごとに上限あり)。 |
| カテゴリのサブツリー全体を1つのセッションに統合してレビューする(セッションごとに上限あり)。 |
| フラッシュカードまたは穴埋めカードを生成する。 |
| 多肢選択問題を生成する。 |
| レビュー結果を記録し、カードの FSRS スケジュールを更新する(UI から呼び出される)。 |
| 全デッキの期限が来たカードを要約し、苦戦中のカード(3回以上の失念)をフラグ付けする。 |
| カードの表面や裏面を変更する。 |
| カードを原子的な断片に分割するか、理解度を試す形に書き直すことを提案する。 |
| ユーザーが提案されたカードを承認した後、リファインメントを永続化する。 |
| 直近でつまずいたこと(バグ、間違えた問題)をドラフトカードに変換する。 |
| ユーザーが承認した後、キャプチャしたカードを永続化する。 |
| デッキ名を変更する(カテゴリツリー内での移動も行う)。 |
| 単一のカードを削除する。 |
| デッキ全体を削除する。 |
カード生成は Memora の品質ルール(原子的な単一コンセプトのカード、1〜5語の回答、能動的想起、曖昧さの排除、回答の漏洩なし、定義よりも応用)に従います。これは Wozniak の『知識を定式化するための20のルール』に基づいています。新しいカードは書き込み時に lint され、フラグ付けされます(ブロックはされません)。Claude が修正できます。
仕組み(MCP Apps)
ツールが ui:// リソースを宣言します。Claude がツールを呼び出すと、ホスト(Claude Desktop)がそのリソースを取得し、サンドボックス化された iframe 内で HTML をレンダリングし、ツールの結果を UI に渡します。UI は JSON-RPC を介してホストに応答を返します(カードの採点とモデルへの進捗報告のため)。
クイックスタート
前提条件
Node.js 20.11+
Claude Desktop に接続
設定 > 開発者 > 設定を編集 を開き、mcpServers の下に Memora を追加します:
{
"mcpServers": {
"memora": {
"command": "npx",
"args": ["-y", "@servation/memora-mcp", "--stdio"]
}
}
}その後、Claude Desktop を完全に終了し(システムトレイから)、再起動します。memora が 設定 > 開発者 の下に表示され、いくつかのサンプルデッキがプリロードされています。
デッキは ~/.memora/decks.json に保存されます(MEMORA_DECKS 環境変数でパスを上書き可能)。そのファイルを手動で編集するか、Claude に管理させます。
git clone https://github.com/Servation/memora-mcp.git
cd memora-mcp
npm install
npm run buildビルド済みエントリを絶対パスで設定に指定します(デッキはリポジトリの data/decks.json に保存されます):
{
"mcpServers": {
"memora": {
"command": "node",
"args": ["C:\\path\\to\\memora-mcp\\dist\\main.js", "--stdio"]
}
}
}試してみる(Claude Desktop のチャットで)
review my World Capitals deckmake me a deck of 10 Spanish travel phrasesmake a reversible deck of 10 Spanish words(両方向をドリル)make a fill-in-the-blank deck about the water cycle(穴埋めカード)quiz me with 10 multiple-choice questions on the solar systemturn what we just discussed into a deck called "Photosynthesis"study my LLM categorywhat's due today?
技術スタック
サーバー: TypeScript、
@modelcontextprotocol/sdkと@modelcontextprotocol/ext-apps、stdio トランスポート(Streamable HTTP も利用可能)。UI: React と Vite。
vite-plugin-singlefileで単一のインライン HTML ファイルにバンドル。スケジューリング:
ts-fsrs(FSRS)。ビルド後のランタイムは素の
node(bun や tsx は不要)。
デッキ形式
{
"Deck Name": [
{ "front": "Capital of France?", "back": "Paris" }
]
}インストール時は
~/.memora/decks.jsonに保存(ソースから実行時はdata/decks.json)。MEMORA_DECKSで上書き可能。ライブで読み込み(mtime キャッシュ)。
create_deck、create_quiz、grade_cardはここにアトミックに書き込みます。クイズカードは
"options": ["...", "..."]を追加します。backが正解の選択肢です。穴埋めカードは表面に
[...]として空欄を書き、非表示の用語をbackとします。カードはレビューすると
due日付と FSRS のsrsブロックが追加されます。これらがないカードは新規として扱われます。有効な JSON に保ってください。そうでない場合、サーバーは組み込みのデフォルトデッキにフォールバックします。
プロジェクト構造
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開発
npm run dev # vite watch (UI) plus tsx server on http://localhost:3001/mcp
npm run typecheck # tsc --noEmitローカルでの高速な反復には、ext-apps リポジトリ の MCP Apps リファレンスホスト(basic-host)に対してアプリを実行することもできます。
ロードマップ
バックログは TODO.md を参照してください: npm と MCP Registry への公開、クロスクライアントホスティング(Streamable HTTP)、パースとスケジューリングに関するテスト、実際のスクリーンキャプチャデモ GIF。
ライセンス
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
- create_deckAApp
- create_quizAApp
- delete_cardAApp
- delete_deckA
- due_todayA
- edit_cardAApp
- grade_cardAApp
- rename_deckAApp
Related MCP Servers
- AlicenseAqualityBmaintenanceAn MCP server that integrates Claude with Anki flashcards, allowing users to review due cards and create new flashcards directly through conversation.1413MIT
- AlicenseAqualityDmaintenanceIntegrates EduChain's educational content generation capabilities with Claude Desktop, enabling creation of multiple-choice questions, comprehensive lesson plans, and flashcards for any educational topic.31MIT
- FlicenseNot gradedqualityNot gradedmaintenanceConnects Claude to Anki flashcard software via AnkiConnect, enabling users to review due cards, create flashcards, and manage spaced repetition learning through natural language conversations.
- AlicenseCqualityAmaintenanceFlashcard AI - MCP server providing AI-powered tools and automation by MEOK AI Labs410MIT
Related MCP Connectors
Voice-led, FSRS-scheduled flashcards from YouTube, PDFs, web, or text. Auto-graded quizzes.
AI-powered YouTube to flashcards with spaced repetition and Anki export
Free: turn your AI chats into spaced-repetition vocabulary. 13 tools, reads and writes.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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