Isaac Friedenson948 downloadsTurn a testbank into trackable MCQs and FRQs, study with spaced repetition flashcards, and plan around exams with an exam-style interface. Integrated calendar and notes. Optional AI tutor.
Practise multiple-choice questions in your notes, see why you miss them, and review on a schedule. Timed tests, a confidence rating and mistake tags on every answer, and spaced review — with every attempt saved on the question note it came from.
Website · Source · Give feedback
Try it in 2 minutes: install, press Ctrl/Cmd+P, run Open welcome guide, then choose Try the example question.
No AI needed: run Quick add questions from pasted text and paste questions you already have; it works offline.
Tell me what confused you: 2-minute form — I read every answer.
Not affiliated with or endorsed by the College Board. AP and Bluebook are trademarks of their owners. MCQ Tracker ships no AP questions, rubrics or question banks.
MCQ Tracker is the question-first study plugin for Obsidian. Turn notes and PDFs into exam-style practice across seven question formats, review notes and cards with spaced repetition, sit timed tests, and keep every attempt on the note it came from. It is free, local-first, and works on desktop and mobile. No MCQ Tracker account is required; AI is optional and uses your own provider key or the OpenCode desktop agent.
Practice demo, in twelve real Obsidian screenshots (app 1.15.1, 1440×900, the Primary community theme, both sidebars hidden): pick filters, answer a two-source AP World History question, use the testing tools (calculator, reference sheet, question menu, option eliminator), submit, read the result, write a note, open the explanation, and see that note land in ## My Notes in the question's own file. The passage sits on the left and the question on the right, as it does in the plugin. Full-size PNGs are in docs/images/practice-run/.
| You are... | Start here |
|---|---|
| Already using Obsidian | For Obsidian users |
| A student who has never heard of Obsidian | For students new to Obsidian |
Both paths end at the same place: your first practice question. Settings and Troubleshooting appear once below, and the deeper feature reference is in Reference.
| Cards and vocabulary | Insights |
|---|---|
Most of MCQ Tracker works with AI turned off. One everyday workflow does not: turning a PDF or another document into question notes. There is no offline converter.
Document import needs AI. Import questions from a file (PDF, PowerPoint, Word) needs AI features turned on, plus either a Direct API provider key or the OpenCode agent on desktop. The file's text is sent to that provider, which may charge for long files. Without AI set up, the import checks the file first, then asks you to connect a provider.
| Works with AI off | Needs AI turned on and a provider or the OpenCode agent |
|---|---|
| Writing question notes by hand, the example question, practice, timed tests, review and Today | Turning a PDF, PowerPoint, Word/OpenDocument, HTML, RTF, Markdown, CSV or text file into question notes |
Making cards by hand, card review, cram, .apkg import/export and AnkiConnect |
Tutor chat and the Study agent; AI grading of free response and the optional AI second opinion on typed answers |
| Calendar, classes, exams, assignments, grades and GPA | Generating questions, quizzes or cards from a document, photo or handwritten page |
| Reference tools, AP resources and the unofficial AP score calculator | Summarising a course note, and turning PDF pages into a LaTeX note |
Ready-made card imports: Quizlet, Kahoot, Moodle XML, QTI, GIFT, CSV, Markdown, .apkg, CrowdAnki JSON, Mochi Markdown and Anki text |
AI-assisted import with the OpenCode agent |
If you do not have AI: run Quick add questions from pasted text and paste questions you already have; it works offline. You can also import ready-made flashcards, write question notes by hand, and use practice, review, cards, the calendar and the reference tools normally.
Desktop: open Settings → Community plugins → Browse, search for MCQ Tracker, then Install → Enable.
From the website: open https://community.obsidian.md/plugins/mcq-tracker and choose Add to Obsidian. If Obsidian does not open the listing, use the Browse path above.
Mobile: open the sidebar, go to Settings → Community plugins, turn off Restricted mode, then Browse → MCQ Tracker → Install → Enable. Close Settings when you are done.
Here is the whole desktop install, start to finish (real Obsidian 1.15.1, Primary theme):
On a phone the same pages open full screen, with Settings in the sidebar. The six frames are also saved full size in docs/images/install-run/.
Download main.js, manifest.json and styles.css from the latest release and put them in <your vault>/.obsidian/plugins/mcq-tracker/. Then enable MCQ Tracker under Community plugins.
Use Check for updates on the Community plugins page. If you installed manually, download the three files from the latest release and replace the copies in <your vault>/.obsidian/plugins/mcq-tracker/.
question_id property can be a question. There is no database and no proprietary format.data.json stores settings, presets, the running timer, local events, chat history and other plugin state. Your other notes stay ordinary Markdown.A small question note looks like this:
---
question_id: BIO-001
course: Biology
skill: Cells
question_type: mcq
answer: B
---
## Question
Which organelle produces most of the cell's ATP?
## Answer Choices
- A. Nucleus
- B. Mitochondrion
- C. Ribosome
## Answer
> [!answer]- Reveal answer
> **Correct Answer: B**
>
> Mitochondria produce ATP by oxidative phosphorylation.
## Stimulus is optional. You can also add difficulty, unit and test properties, and use ## My Notes for your own notes. See the sample vault for working notes.
Ctrl/Cmd+P, type Open Start here note, and press Enter.Ctrl/Cmd+P, type Open welcome guide, and press Enter. Click Try the example question. It writes one ordinary note under Questions/ and opens Practice on that question. Open Start here note opens the Markdown guide; Open welcome guide opens this modal.
![]()
Reopen the note any time with Open Start here note. The interactive guide is still available as Open welcome guide. After an update, a short What's new note lists that version's changes once; reopen it with Show what's new.
The plugin sends no telemetry. The optional AI and CouchDB sync features use the network only after you turn them on and configure them. AnkiConnect talks only to a local Anki desktop. Full details are in Data, privacy and network use.
You do not need to know anything about Obsidian, programming or note-taking apps. This section goes from nothing to your first practised question and takes about 10 minutes.
Study), pick a folder, and open it. You should see an empty file list on the left and a blank note area.MCQ Tracker, and open the result. You should see a page with an Install button.The same five clicks are recorded in the install demo above.
Once enabled, Settings → Community plugins lists the installed plugin and version:
On desktop you can also open https://community.obsidian.md/plugins/mcq-tracker and choose Add to Obsidian. The manual install route is under Install.
Ctrl/Cmd+P (Windows/Linux) or Cmd+P (Mac), type Open Start here note, and press Enter. On mobile, use the command palette the same way.Ctrl/Cmd+P, type Open welcome guide, and press Enter, then click Try the example question. This is the welcome modal, not the note.
![]()
Open Obsidian and click Today. It lists the questions that are due for review. Do those first, then practise something new. That daily habit is the whole method.
The no-AI route, start to finish: Practice, then Paste questions (offline), then paste one question per block.
The five frames are also saved full size in docs/images/quick-add-run/.
.apkg, CrowdAnki JSON, Mochi Markdown and Anki text.These are off until you switch them on under Settings → App & documents → Modules and global options → Modules, except Assignments, which is already on:
| Word | Meaning |
|---|---|
| Vault | The folder where Obsidian keeps all your notes. |
| Note | One file in your vault. Each question is one note. |
| Community plugin | An add-on you install inside Obsidian. MCQ Tracker is one. |
| Properties | Small labelled fields at the top of a note, such as course or answer. |
| MCQ | Multiple-choice question. |
| FRQ | Free-response question, where you write your own answer. |
| Cloze card | A flashcard with a blank for you to fill in. |
| Spaced repetition | Reviewing at growing intervals so you remember for longer. |
Everything is stored as normal files in your vault folder on your own device. The plugin sends no telemetry, and AI and sync features do nothing on the network until you turn them on. The full explanation is in Data, privacy and network use.
Settings are grouped by category, with a page list beside the selected category. The most useful starting switches are under Settings → App & documents → Modules and global options → Modules. MCQ Tracker and Assignments are on by default; Cards and vocabulary, Calendar and AI features are opt-in.
| Setting | What it does | Default |
|---|---|---|
| MCQ Tracker | Turns practice, tests, filters and import on or off. Notes stay. | On |
| Cards and vocabulary | Adds flashcards, vocabulary and card review. | Off |
| Calendar | Adds classes, exams and exam-aware study planning. | Off |
| Assignments | Adds the gradebook and task list. | On |
| AI features | Adds tutor, grading and AI-assisted import. Needs your key or the OpenCode desktop agent. | Off |
| Review intervals (days) | Days before a correct answer returns. Misses return tomorrow. | 1, 3, 7, 21, 60 |
| Explanation after answering | When to show the answer explanation. | Only after a miss |
The optional Study Workspace adds twenty-one independent modules and twenty-one local workflows, including Feynman, Recall, Time blocks, Reading library and Quiz index. Its settings are on their own pages.
Other settings pages include Whole-note review, Spaced Everything, Daily quiz, Simple quiz blocks, Simple note quiz, Decks, AnkiConnect, CouchDB sync, Auto Anki and Text2Anki. Each has its own page or tab.
MCQ Tracker. If it still does not appear, use the manual install above.question_id property, a ## Question heading and an answer property. Check Question folder in the plugin's Practice settings and clear any folder filter.Ctrl/Cmd+P, and run Retry saving offline practice results. Check that the vault folder is writable.The sections below are the full reference. The two paths above are enough to start.
| Area | Included |
|---|---|
| Practice | Multiple choice, student-produced response, fill-in, matching, true/false, select-all and free response (FRQ); hints, confidence, cross-out, flags and per-question timing. |
| Tests | Timed multi-section tests, resume, a question navigator, mark for review, option shuffle, a pass mark and Bluebook-style tools. |
| Review | Whole-note review in a dock under the note, a review sidebar, a due-date calendar, FSRS, SM-2 and the interval ladder; Again/Hard/Good/Easy previews, keyboard grading, requeue, skip, postpone, undo and lapse checkpoints. |
| Cards | Flashcards, cloze, reversed, multiple-choice, typed and image-occlusion cards; decks, vocabulary, cram, .apkg import/export and optional AnkiConnect sync. |
| Study agent | Optional note-grounded chat with tutor roles, an Objective coach role, local cited vault search, PDF context, plan-then-act, write review, memory and saved conversations. |
| Study tools | Feynman sessions, recall queues, Cornell notes, study flow, reading library, mind maps, study plans, time blocks, citations and reference sheets. |
| Calendar | Classes and exams from .ics or Full Calendar notes, local event CRUD with categories and recurrence, assignment deadlines, grades and study planning. |
| Statistics | Attempts, accuracy, confidence calibration, weak spots, study activity, true retention by maturity, memory-now, distributions, leeches and per-deck summaries. |
| Import/export | Document-to-question import (AI required), local card imports (Quizlet, Kahoot, Moodle, QTI, GIFT, .apkg, CrowdAnki JSON, Mochi Markdown, Anki text), and study-bundle, card-archive, .apkg, ICS, CSV, Markdown or JSON export where supported. |
| Focus | Pomodoro timer with work/short-break/long-break phases, a completion sound, a daily goal and a study log. |
![]()
Practice is one note per question by default, which keeps each attempt, explanation and review date attached to the material it belongs to. Quick add can turn a pasted block into several notes at once, and the importers can bring in a whole question bank.
A three-question timed test, end to end: the section setup, the test with its own clock and the finished score.
The three frames are also saved full size in docs/images/timed-test-run/.
The review schedule is shared by questions, cards and whole notes. Nothing is locked behind a second account or a cloud service.
The optional Cards module adds flashcards without changing the question workflow.
.apkg, export .apkg, and keep decks in step with a running Anki desktop through the AnkiConnect add-on..apkg there and use Cards: import existing decks. The plugin does not ask for or store an AnkiWeb password.AI is off by default and only uses the provider you configure. The Study agent is a normal Obsidian chat with local note grounding and a review window around file writes.
/guide, /quiz, /confuse, /gap, /predict, /feynman and /mock.[[note]] or [[note#L12]] and to say when the vault does not contain the answer..ics schedule, read Full Calendar notes, see the next class, mark attendance and create a class note.Bring material in as notes, not as a locked database.
Document import (needs AI). PDF, PowerPoint (.pptx, .pptm, .ppsx), Word (.docx, .docm), OpenDocument (.odt, .odp), HTML (.html, .htm), RTF, Markdown (.md, .markdown), CSV/TSV and plain text (.txt) can be turned into question notes. This requires AI features plus either a provider key or the OpenCode desktop agent; there is no offline converter. The Direct AI route previews what it found before writing. The desktop OpenCode agent writes the notes itself, then reports what it created.
Import questions from a file accepts several PDFs, PowerPoint or Word files in one picker and runs them one after another. Each file keeps its own review, gets its own subfolder under the destination folder, and a failed file does not stop the rest. On desktop the import is a real Obsidian window, so it stays open and keeps working when you return to the main vault. The window shows the queue and Undo everything, Finish this file, then stop, and Discard this file.
Progress stays in the main window's notice area, so you can keep working while the queue runs:
When the batch finishes, the completion popup lists every file and offers Practice these questions, which opens Practice limited to the imported folder:
If you stop, the summary reports what was kept and which file was stopped:
Local imports. Ready-made cards can be imported without AI from Quizlet, Kahoot, Moodle XML, QTI, GIFT, .apkg, CrowdAnki JSON, Mochi Markdown and Anki text, plus CSV and Markdown. Export a study bundle, a card archive, .apkg, ICS, CSV, Markdown or JSON where the format supports it.
Open the command palette with Ctrl/Cmd+P and search MCQ Tracker, Cards, Review, Study agent or Calendar. The palette has more than 200 commands, including:
Open Start here note, Open welcome guide, Show what's new.Open practice view, Quick Practice, Start a timed test, Practice this note only, Show weak spots, Find or generate quiz questions.Open review sidebar, Next review note, Previous review note, Review current note, Add current note to review schedule, Open review calendar, Open study statistics.Open cards, Cards: import existing decks, Cards: export to Quizlet, Anki package, Anki text, Mochi, LearnKit, Kahoot, Blooket or Gimkit, Cards: find a deck on AnkiWeb, Cards: export a portable archive, Cards: import a portable archive.Study agent: open the sidebar, Study agent: Quick Chat, Study agent: plan a multi-step task, Study agent: attach a PDF, Study agent: export a conversation as Markdown.Open calendar, Open local events, Local events: create an event, Calendar: add an .ics schedule, Calendar: export the visible schedule to .ics.Export a study bundle (backup of questions and cards), Import a study bundle (restore questions and cards).Spaceforge is a strong spaced-repetition and study suite. This comparison is based on its public README (reference dralkh/spaceforge at 1.2.92) and on this 1.301.24 build. The point is to show the trade-offs, not to claim that one plugin wins every row.
| Capability | MCQ Tracker | Spaceforge | The practical difference |
|---|---|---|---|
| Whole-note review | Yes: docked bar, review sidebar, due calendar | Yes: docked bar and review sidebar | Both keep the note in view. MCQ Tracker also has question and card lanes that share the same scheduling vocabulary. |
| Spaced repetition | FSRS, SM-2 and a simple ladder | FSRS and SM-2 | MCQ Tracker keeps the ladder for question notes and offers FSRS/SM-2 for whole notes and cards. |
| AI-generated MCQs | Yes, optional, with a blind-verification pass | Yes | Both are BYOK and optional. MCQ Tracker treats generated items as ordinary question notes and can verify the answer key. |
| Adaptive objective tutor | Partial: Study agent Objective coach role and local concept record | Yes: dedicated objective rail and per-objective transcripts | MCQ Tracker's coach runs in a saved conversation; it does not have a separate objective dashboard. |
| Web lookup while studying | Local cited vault search only | Optional cited web search | Deliberate: MCQ Tracker does not send study text to a search provider. |
| Anki decks | .apkg, AnkiConnect and a separate deck lane |
.apkg, AnkiConnect and an in-app AnkiWeb browser |
MCQ Tracker opens AnkiWeb's search in your browser and imports the downloaded file. |
| AnkiWeb | Finder link; no password stored | Search, inspect and import in the plugin | The download step is outside Obsidian, which keeps the plugin out of AnkiWeb's session. |
| Local calendar events | Yes: categories, recurrence, location, description | Yes, integrated into the main calendar | MCQ Tracker uses a separate Local events view; imported classes and exams stay in the Calendar view. |
| Statistics | Heatmap, streaks, retention by maturity, memory-now, distributions, leeches, per-deck | Similar Anki-style dashboard | Both compute locally. MCQ Tracker also has confidence calibration and weak-spot charts. |
| Pomodoro | Work, short break, long break, sound, sidebar and status bar | Yes | Equivalent. |
| Provider breadth | OpenAI, Anthropic, Gemini, OpenRouter, Together, Qwen, Ollama, LM Studio, llama.cpp, Jan, any OpenAI-compatible endpoint, and the OpenCode local agent | 20+ named providers and several agent CLIs | MCQ Tracker's custom endpoint covers the same broad class; OpenCode is the only bundled local agent CLI. |
| Data storage | Review state in each note; settings in data.json |
One central data file | Deliberate: notes are portable, inspectable and survive a plugin reinstall. There is no custom data-path setting because there is no central review database. |
| Progress carried with the vault | Yes, by design: the progress is in the notes | Optional progress.json mirror |
A vault sync that excludes .obsidian still carries MCQ Tracker review state. Shared settings do not travel that way. |
| Mobile | Yes | Yes | Both use the same Obsidian app. |
| Data export | Study bundle, card archive, .apkg, ICS, CSV, Markdown |
Central JSON backup and recovery | Different export shapes; both avoid a lock-in. |
| Question-first exam tools | Yes: timed tests, confidence, error tags, numeric/units, FRQ, gradebook, AP tools | No | This is where MCQ Tracker leads. |
Why the differences exist. MCQ Tracker deliberately keeps schedules in the notes, keeps web search off the network, and only runs a local agent CLI through OpenCode. Those are product boundaries, not forgotten rows. The full audit, including the Spaceforge rows already closed and the few that remain partial, is in docs/PARITY_AUDIT.md.
These are real captures of the shipped views.
The Study agent at a 296 px sidebar width. A physical-phone screenshot is not included because no device was available for this pass; the mobile layout is covered by the layout tests, and no mockup is presented as a phone capture.
data.json holds settings, presets, local events, chat history, the running timer and other plugin state. There is no central review database.MIT. The plugin sends no telemetry. Third-party notices are in NOTICES.md.