A side-by-side look at the Anki and Ictexam MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Anki for education work as a local process; choose Ictexam MCP for education as a local process. You can also run both side by side in one mcpServers block.
get_study_overview, get_due_cards, answer_cards.ICTEXAM_BASE_URL, ICTEXAM_EMAIL, ICTEXAM_PASSWORD, ICTEXAM_API_PREFIX, ICTEXAM_MCP_ALLOW_WRITE, ICTEXAM_TIMEOUT_MS, ICTEXAM_TLS_INSECURE.ictexam_list_exams, ictexam_get_exam, ictexam_list_classes.Rows where the two servers differ are marked.
| Spec | A Anki | |
|---|---|---|
| Category | Education | Education |
| Quality signal | 56/100 · Good | 55/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | None listed | ICTEXAM_BASE_URLICTEXAM_EMAILICTEXAM_PASSWORDICTEXAM_API_PREFIXICTEXAM_MCP_ALLOW_WRITEICTEXAM_TIMEOUT_MSICTEXAM_TLS_INSECURE |
| Verified owner | Community listing | Community listing |
| GitHub stars | 42 | 17 |
| Directory activity | 0 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 29 | 9 |
| Full listing | View Anki | View Ictexam MCP |
get_study_overviewToday's new/learning/review counts per deck, cards reviewed today, streak, 7/30-day totals.get_due_cardsnum` cards to study (optionally from one `deckName`), with the interval each button would give.answer_cardsRecord answers (`cardId`, `ease` 1-4) and get each card's new interval. *(Previously `update_cards`.)*find_leechesWeakest cards (leech tag / many lapses), ranked by lapses and ease.get_card_historyFull review log of up to 20 cards.get_retention_statsTrue retention (young/mature), reviews per day and time spent for a deck over N days.undoUndo the last action in Anki.find_cardsPaginated search (`query`, `limit`, `offset`); pick the sections to return with `include`: `question`, `answer`, `fields`, `stats`.suspend_cardsDeactivate/reactivate cards, e.g. all cards with tag X in deck Y. Scheduling is preserved. Pass a `label` when suspending (notes get the tag `paused::<label>`) and `unsuspend_cards { label }` later resumes exactly that group, leaving cards suspended for other reasons alone.move_cardsMove cards to `targetDeck` (created if missing).reschedule_cardsset_due_date` (`days`: `0`, `1!`, `3-7`), `forget` (reset to new) or `relearn`.add_cardCreate one note.ictexam_list_examsList exam papers (id, title, status, class, subject)ictexam_get_examOne paper's settings, share links and questionsictexam_list_classesClasses (course groups)ictexam_list_subjectsSubjects, each tied to a classictexam_gradebookPer-exam totals and student marksictexam_item_analysisPer-question difficulty, p-value and average markictexam_parse_question_paperUpload a local PDF/DOCX and AI-extract the questionsictexam_publish_examPublish a paper; returns student and teacher share URLsictexam_unpublish_examSet a paper back to draftPaste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"anki": {
"command": "npx",
"args": [
"-y",
"github:nietus/anki-mcp"
]
}
}
}
{
"mcpServers": {
"ictexam-mcp": {
"command": "npx",
"args": [
"-y",
"ictexam-mcp"
],
"env": {
"ICTEXAM_BASE_URL": "YOUR_ICTEXAM_BASE_URL_HERE",
"ICTEXAM_EMAIL": "YOUR_ICTEXAM_EMAIL_HERE",
"ICTEXAM_PASSWORD": "YOUR_ICTEXAM_PASSWORD_HERE",
"ICTEXAM_API_PREFIX": "YOUR_ICTEXAM_API_PREFIX_HERE",
"ICTEXAM_MCP_ALLOW_WRITE": "YOUR_ICTEXAM_MCP_ALLOW_WRITE_HERE",
"ICTEXAM_TIMEOUT_MS": "YOUR_ICTEXAM_TIMEOUT_MS_HERE",
"ICTEXAM_TLS_INSECURE": "YOUR_ICTEXAM_TLS_INSECURE_HERE"
}
}
}
}