{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-05T20:45:16.121Z","url":"https://verifymcp.io/servers/nietus-anki-mcp/anki-mcp","markdownUrl":"https://verifymcp.io/servers/nietus-anki-mcp/anki-mcp.md","server":{"slug":"nietus-anki-mcp","name":"Anki","registryName":"io.github.nietus/anki-mcp","description":"Study and manage Anki flashcards via AnkiConnect: quizzes, stats, leeches, bulk edits.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"anki-mcp","type":"mcpb","identifier":"https://github.com/nietus/anki-mcp/releases/download/v0.2.0/anki-mcp.mcpb","withdrawn":false,"url":"https://verifymcp.io/servers/nietus-anki-mcp/anki-mcp","version":null,"transport":"stdio","scoredAt":"2026-11-05T10:42:48.497Z"},"score":{"total":57,"tier":"low","status":"scored","weekDelta":3,"history":[{"date":"2026-11-05","total":57},{"date":"2026-11-04","total":57},{"date":"2026-11-03","total":56},{"date":"2026-11-02","total":56},{"date":"2026-11-01","total":55},{"date":"2026-10-31","total":55},{"date":"2026-10-30","total":54},{"date":"2026-10-29","total":54},{"date":"2026-10-28","total":54},{"date":"2026-10-27","total":53},{"date":"2026-10-26","total":53},{"date":"2026-10-25","total":52},{"date":"2026-10-24","total":52},{"date":"2026-10-23","total":51},{"date":"2026-10-22","total":51},{"date":"2026-10-21","total":47},{"date":"2026-10-20","total":47},{"date":"2026-10-19","total":47},{"date":"2026-10-18","total":47},{"date":"2026-10-17","total":47},{"date":"2026-10-16","total":47},{"date":"2026-10-15","total":47},{"date":"2026-10-14","total":16},{"date":"2026-10-13","total":16},{"date":"2026-10-12","total":16},{"date":"2026-10-10","total":16},{"date":"2026-10-08","total":16},{"date":"2026-10-06","total":16}]},"categories":[{"name":"Supply Chain Security","score":23,"verdict":"partial","reasons":["No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.","Known CVEs were checked across the 105 of 105 dependencies we could resolve, so this covers what we could see, not the whole tree.","No install/post-install scripts declared.","32 of 105 dependencies flagged as unhealthy."],"codes":[{"code":"supplychain.malware_inconclusive","args":{"reason":"ecosystem_unsupported"}},{"code":"cve.tree_partial","args":{"seen":"105","resolved":"105"}},{"code":"installscript.none","args":{}},{"code":"dephealth.assessed","args":{"deps":"105","unhealthy":"32"}}]},{"name":"Provenance & Transparency","score":45,"verdict":"fail","reasons":["Source repository is publicly reachable at the declared URL.","Provenance check failed: no build-provenance attestation is published.","Clear OSI-approved license (MIT).","Actively maintained (last published 30 days ago).","Disclosure check failed: no security disclosure policy was found in the source repository."],"codes":[{"code":"provenance.repo_verified","args":{}},{"code":"provenance.none","args":{}},{"code":"license.osi","args":{"spdx":"MIT"}},{"code":"maintenance.recent","args":{"age_days":"30"}},{"code":"disclosure.absent","args":{}}]},{"name":"Schema Quality & AI Usability","score":79,"verdict":"fail","reasons":["100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).","AI-judged instruction clarity (good).","Tool/resource definitions use about 3438 tokens (~88/item across 39 items; 35 tools + 4 resources), lean.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.descriptions","args":{"pct":"100"}},{"code":"schema.ai_quality","args":{"band":"good"}},{"code":"schema.footprint_lean","args":{"avg":"88","items":"39","tools":"35","tokens":"3438","resources":"4"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":70,"verdict":"partial","reasons":["Stability observed for 21 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"21"}}]},{"name":"Tool Coverage","score":92,"verdict":"partial","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","77% of tool parameters carry a description."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"77"}}]},{"name":"Tool Safety","score":100,"verdict":"pass","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.","An AI judge read all 37 captured unit(s) of tool text and found none that tries to manipulate the model reading it."],"codes":[{"code":"toolsafety.injection_clean","args":{}},{"code":"toolsafety.destructive_declared","args":{"pct":"100","annotated":"1","destructive":"1"}},{"code":"toolsafety.manipulation_clean","args":{"units":"37","judged":"37"}}]},{"name":"Capabilities","score":100,"verdict":"pass","reasons":["Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28."],"codes":[{"code":"protocol.supported","args":{"latest":"2026-07-28","version":"2025-11-25"}}]}],"inconclusive":["No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package."],"malware":[],"components":[{"slug":"anki-mcp","type":"mcpb","identifier":"https://github.com/nietus/anki-mcp/releases/download/v0.2.0/anki-mcp.mcpb","withdrawn":false,"score":57,"current":true,"url":"https://verifymcp.io/servers/nietus-anki-mcp/anki-mcp","markdownUrl":"https://verifymcp.io/servers/nietus-anki-mcp/anki-mcp.md"}],"facts":[{"label":"Registry","value":"mcpb"},{"label":"Package","value":"https://github.com/nietus/anki-mcp/releases/download/v0.2.0/anki-mcp.mcpb"},{"label":"Transport","value":"stdio"},{"label":"SHA-256","value":"79f429e01b4abb8af26a23a05900d9aced901a468fa0ffa3a648d675043c7a25"}],"install":{"available":true,"bundleSha256":"79f429e01b4abb8af26a23a05900d9aced901a468fa0ffa3a648d675043c7a25"},"tools":[{"name":"get_deck_names","title":null,"description":"List all deck names.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":15},{"name":"create_deck","title":null,"description":"Create a deck (use '::' for subdecks, e.g. 'Japanese::Verbs').","inputs":[{"name":"deckName","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":39},{"name":"get_deck_model_info","title":null,"description":"Which note types a deck uses. Call before adding cards to an existing deck to pick the right modelName and fields.","inputs":[{"name":"deckName","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":43},{"name":"get_study_overview","title":null,"description":"Today's study plan: new/learning/review counts per deck, cards reviewed today, streak, and 7/30-day review totals. A good first call for a study session.","inputs":[{"name":"deckNames","type":"array","required":false,"description":"Decks to include (default: all top-level decks)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":67},{"name":"get_retention_stats","title":null,"description":"Learning analytics for a deck (subdecks included) over the last N days: true retention (young/mature), reviews per day, average seconds per review.","inputs":[{"name":"days","type":"number","required":false,"description":"Look-back window, 1-365 (default 30)."},{"name":"deckName","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":70},{"name":"sync","title":null,"description":"Sync the collection with AnkiWeb (user must be logged in inside Anki).","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":24},{"name":"get_due_cards","title":null,"description":"Get cards due for review now (learning cards first, then oldest due). Each card includes the interval every button would give (nextIntervals).","inputs":[{"name":"deckName","type":"string","required":false,"description":"Optional deck to study (subdecks included)."},{"name":"num","type":"number","required":true,"description":"How many cards to return (1-100)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":70},{"name":"get_new_cards","title":null,"description":"Get new, never-studied cards (suspended cards excluded).","inputs":[{"name":"deckName","type":"string","required":false,"description":"Optional deck (subdecks included)."},{"name":"num","type":"number","required":true,"description":"How many cards to return (1-100)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":54},{"name":"answer_cards","title":null,"description":"Record the user's answers to cards you quizzed them on (1=Again, 2=Hard, 3=Good, 4=Easy). Returns each card's new interval.","inputs":[{"name":"answers","type":"array","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":54},{"name":"undo","title":null,"description":"Undo the most recent action in Anki (a review, a field edit, a suspend...). One action per call.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":31},{"name":"find_cards","title":null,"description":"Search cards with an Anki query and return a page of results. Choose the sections you need to keep output small; use 'fields' when you plan to edit notes.","inputs":[{"name":"include","type":"array","required":false,"description":"Sections to return (default: question, answer)."},{"name":"limit","type":"number","required":false,"description":"Page size, 1-100 (default 20)."},{"name":"offset","type":"number","required":false,"description":"Number of cards to skip (default 0)."},{"name":"query","type":"string","required":true,"description":"Anki search query, e.g. '\"deck:My Deck\" tag:verbs -is:suspended'. Empty field: 'Field:'; non-empty: 'Field:_*'."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":136},{"name":"suspend_cards","title":null,"description":"Deactivate (suspend) cards so they stop appearing in reviews until unsuspend_cards is called. Scheduling (interval, ease, due date) is kept intact. Pass a label when the user will want to resume this exact group later.","inputs":[{"name":"cardIds","type":"array","required":false,"description":"Card IDs (override filters)."},{"name":"deckName","type":"string","required":false,"description":"Deck (subdecks included)."},{"name":"dryRun","type":"boolean","required":false,"description":"Preview without changing anything."},{"name":"label","type":"string","required":false,"description":"Name for this pause (e.g. 'hsk5-6'). Tags the notes with paused::<label>."},{"name":"query","type":"string","required":false,"description":"Extra Anki search, ANDed."},{"name":"tags","type":"array","required":false,"description":"Notes with any of these tags."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":151},{"name":"unsuspend_cards","title":null,"description":"Reactivate (unsuspend) cards with their original scheduling. With a label, resumes exactly the cards paused under it (cards suspended for other reasons stay suspended); list groups with manage_tags { action: 'list', prefix: 'paused' }.","inputs":[{"name":"cardIds","type":"array","required":false,"description":"Card IDs (override filters)."},{"name":"deckName","type":"string","required":false,"description":"Deck (subdecks included)."},{"name":"dryRun","type":"boolean","required":false,"description":"Preview without changing anything."},{"name":"label","type":"string","required":false,"description":"Resume the group paused under this label."},{"name":"query","type":"string","required":false,"description":"Extra Anki search, ANDed."},{"name":"tags","type":"array","required":false,"description":"Notes with any of these tags."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":139},{"name":"move_cards","title":null,"description":"Move cards to another deck (created automatically if it doesn't exist).","inputs":[{"name":"cardIds","type":"array","required":false,"description":"Card IDs (override filters)."},{"name":"deckName","type":"string","required":false,"description":"Deck (subdecks included)."},{"name":"dryRun","type":"boolean","required":false,"description":"Preview without changing anything."},{"name":"query","type":"string","required":false,"description":"Extra Anki search, ANDed."},{"name":"tags","type":"array","required":false,"description":"Notes with any of these tags."},{"name":"targetDeck","type":"string","required":true,"description":"Destination deck name."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":98},{"name":"reschedule_cards","title":null,"description":"Change card scheduling: set a due date (e.g. vacation backlog), forget (reset to new) or relearn. Reversible only via undo, so preview with dryRun on broad filters.","inputs":[{"name":"action","type":"string","required":true,"description":"set_due_date: make cards due on given days; forget: reset to new; relearn: put back into relearning."},{"name":"cardIds","type":"array","required":false,"description":"Card IDs (override filters)."},{"name":"days","type":"string","required":false,"description":"For set_due_date: '0' = today, '1' = tomorrow, '3-7' = spread randomly over 3-7 days, suffix '!' also sets the interval (e.g. '1!')."},{"name":"deckName","type":"string","required":false,"description":"Deck (subdecks included)."},{"name":"dryRun","type":"boolean","required":false,"description":"Preview without changing anything."},{"name":"query","type":"string","required":false,"description":"Extra Anki search, ANDed."},{"name":"tags","type":"array","required":false,"description":"Notes with any of these tags."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":200},{"name":"find_leeches","title":null,"description":"Find the user's weakest cards (leech tag or many lapses), ranked by lapses and ease. Good for focused drills or rewriting confusing cards.","inputs":[{"name":"deckName","type":"string","required":false,"description":"Deck (subdecks included)."},{"name":"includeSuspended","type":"boolean","required":false,"description":"Include suspended cards (Anki auto-suspends leeches). Default true."},{"name":"limit","type":"number","required":false,"description":"How many cards to return, 1-50 (default 15)."},{"name":"minLapses","type":"number","required":false,"description":"Minimum lapses to count as weak (default 3)."},{"name":"query","type":"string","required":false,"description":"Extra Anki search, ANDed."},{"name":"tags","type":"array","required":false,"description":"Notes with any of these tags."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":146},{"name":"get_card_history","title":null,"description":"Full review log of specific cards (date, button, interval change, time spent), to explain why a card keeps being forgotten.","inputs":[{"name":"cardIds","type":"array","required":true,"description":"Up to 20 card IDs."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":49},{"name":"add_card","title":null,"description":"Create ONE new note. For several notes use add_bulk; to change existing notes use update_note_fields.","inputs":[{"name":"deckName","type":"string","required":false,"description":"Target deck (default 'Default')."},{"name":"fields","type":"object","required":true,"description":"Field name → HTML content, e.g. {\"Front\": \"...\", \"Back\": \"...\"}. Names must match the note type."},{"name":"modelName","type":"string","required":true,"description":"Note type name (see get_deck_model_info / get_model_names)."},{"name":"tags","type":"array","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":105},{"name":"add_bulk","title":null,"description":"Create many new notes in one call. Duplicates and invalid notes are skipped and reported with the reason. Use dryRun to check before adding.","inputs":[{"name":"dryRun","type":"boolean","required":false,"description":"Preview without changing anything."},{"name":"notes","type":"array","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":57},{"name":"add_cloze_cards","title":null,"description":"Create cloze notes from text. Either pass 'terms' to hide (each becomes {{c1::}}, {{c2::}}...) or text that already has {{c1::...}} markup.","inputs":[{"name":"deckName","type":"string","required":false,"description":null},{"name":"dryRun","type":"boolean","required":false,"description":"Preview without changing anything."},{"name":"items","type":"array","required":true,"description":null},{"name":"modelName","type":"string","required":false,"description":"Cloze note type (default 'Cloze')."},{"name":"tags","type":"array","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":102},{"name":"update_note_fields","title":null,"description":"Update fields of ONE existing note. For many notes use bulk_update_notes.","inputs":[{"name":"fields","type":"object","required":true,"description":"Field name → new HTML content."},{"name":"noteId","type":"number","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":45},{"name":"bulk_update_notes","title":null,"description":"Update fields of many existing notes in one call.","inputs":[{"name":"notes","type":"array","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":26},{"name":"find_and_replace","title":null,"description":"Find and replace text across notes (plain text or regex), optionally only in some fields. Returns before/after samples; use dryRun to preview.","inputs":[{"name":"caseSensitive","type":"boolean","required":false,"description":"Default false."},{"name":"deckName","type":"string","required":false,"description":"Deck (subdecks included)."},{"name":"dryRun","type":"boolean","required":false,"description":"Preview without changing anything."},{"name":"fields","type":"array","required":false,"description":"Only these fields (default: all)."},{"name":"find","type":"string","required":true,"description":null},{"name":"noteIds","type":"array","required":false,"description":"Note IDs (override filters)."},{"name":"query","type":"string","required":false,"description":"Extra Anki search, ANDed."},{"name":"regex","type":"boolean","required":false,"description":"Treat 'find' as a JavaScript regex (default false)."},{"name":"replace","type":"string","required":true,"description":"Replacement (regex mode supports $1 groups). Empty string deletes."},{"name":"tags","type":"array","required":false,"description":"Notes with any of these tags."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":174},{"name":"delete_notes","title":null,"description":"Permanently delete notes (and all their cards). Two steps: call without confirmToken to preview and get a token, show the preview to the user, then call again with the token after they confirm.","inputs":[{"name":"confirmToken","type":"string","required":false,"description":"Token from the preview call. Only valid while the same notes still match."},{"name":"deckName","type":"string","required":false,"description":"Deck (subdecks included)."},{"name":"noteIds","type":"array","required":false,"description":"Note IDs (override filters)."},{"name":"query","type":"string","required":false,"description":"Extra Anki search, ANDed."},{"name":"tags","type":"array","required":false,"description":"Notes with any of these tags."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":125},{"name":"manage_tags","title":null,"description":"Tag management: list tags (with a deck/filter it returns tag counts for those notes), add/remove tags on notes, rename a tag, or clear unused tags.","inputs":[{"name":"action","type":"string","required":true,"description":null},{"name":"deckName","type":"string","required":false,"description":"Deck (subdecks included)."},{"name":"dryRun","type":"boolean","required":false,"description":"Preview without changing anything."},{"name":"newTag","type":"string","required":false,"description":"For rename."},{"name":"noteIds","type":"array","required":false,"description":"Note IDs (override filters)."},{"name":"oldTag","type":"string","required":false,"description":"For rename."},{"name":"prefix","type":"string","required":false,"description":"For list: only tags starting with this."},{"name":"query","type":"string","required":false,"description":"Extra Anki search, ANDed."},{"name":"tags","type":"array","required":false,"description":"Notes with any of these tags."},{"name":"tagsToChange","type":"array","required":false,"description":"For add/remove: the tags to add or remove."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":168},{"name":"add_image","title":null,"description":"Attach an image to a note field from a URL, a local file path, or base64 data. The image is stored in Anki's media folder.","inputs":[{"name":"data","type":"string","required":false,"description":"Base64-encoded image data."},{"name":"field","type":"string","required":true,"description":"Field that receives the <img> tag."},{"name":"filename","type":"string","required":false,"description":"Optional file name (needed with 'data' to set the extension)."},{"name":"mode","type":"string","required":false,"description":"Append to the field (default) or replace it."},{"name":"noteId","type":"number","required":true,"description":null},{"name":"path","type":"string","required":false,"description":"Absolute path of a local image file."},{"name":"url","type":"string","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":134},{"name":"add_card_with_audio","title":null,"description":"Create ONE new note with Azure TTS audio generated from one of its fields.","inputs":[{"name":"audioField","type":"string","required":true,"description":"Field that receives the [sound:...] tag."},{"name":"deckName","type":"string","required":false,"description":null},{"name":"fields","type":"object","required":true,"description":null},{"name":"language","type":"string","required":false,"description":"Language code, default 'en' (e.g. es, fr, de, ja, zh, pt)."},{"name":"modelName","type":"string","required":true,"description":null},{"name":"sourceField","type":"string","required":true,"description":"Field whose text is spoken."},{"name":"tags","type":"array","required":false,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":115},{"name":"update_card_with_audio","title":null,"description":"Generate audio for ONE existing note from one of its fields.","inputs":[{"name":"audioField","type":"string","required":true,"description":"Field that receives the [sound:...] tag."},{"name":"language","type":"string","required":false,"description":"Language code, default 'en' (e.g. es, fr, de, ja, zh, pt)."},{"name":"noteId","type":"number","required":true,"description":null},{"name":"sourceField","type":"string","required":true,"description":"Field whose text is spoken."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":89},{"name":"bulk_generate_audio","title":null,"description":"Generate audio for many notes at once (e.g. a whole deck). By default only notes whose audio field is empty are processed.","inputs":[{"name":"audioField","type":"string","required":true,"description":"Field that receives the [sound:...] tag."},{"name":"deckName","type":"string","required":false,"description":"Deck (subdecks included)."},{"name":"dryRun","type":"boolean","required":false,"description":"Preview without changing anything."},{"name":"language","type":"string","required":false,"description":"Language code, default 'en' (e.g. es, fr, de, ja, zh, pt)."},{"name":"limit","type":"number","required":false,"description":"Max notes per call, 1-200 (default 50). Call again for the rest."},{"name":"noteIds","type":"array","required":false,"description":"Note IDs (override filters)."},{"name":"overwrite","type":"boolean","required":false,"description":"Also regenerate notes that already have audio (default false)."},{"name":"query","type":"string","required":false,"description":"Extra Anki search, ANDed."},{"name":"sourceField","type":"string","required":true,"description":"Field whose text is spoken."},{"name":"tags","type":"array","required":false,"description":"Notes with any of these tags."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":204},{"name":"get_model_names","title":null,"description":"List all note type (model) names.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":18},{"name":"get_model_details","title":null,"description":"Fields, card templates and CSS of a note type.","inputs":[{"name":"modelName","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":28},{"name":"edit_note_type_field","title":null,"description":"Add, remove, rename or reposition a field of a note type. 'remove' deletes that field's content from every note of the type.","inputs":[{"name":"action","type":"string","required":true,"description":null},{"name":"fieldName","type":"string","required":true,"description":"Field to act on (the current name when renaming)."},{"name":"index","type":"number","required":false,"description":"For add (optional) and reposition: 0-based position."},{"name":"modelName","type":"string","required":true,"description":null},{"name":"newFieldName","type":"string","required":false,"description":"For rename."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":103},{"name":"update_note_type_templates","title":null,"description":"Replace the Front/Back HTML of card templates of a note type.","inputs":[{"name":"modelName","type":"string","required":true,"description":null},{"name":"templates","type":"object","required":true,"description":"Template name → {Front, Back}, e.g. {\"Card 1\": {\"Front\": \"...\", \"Back\": \"...\"}}."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":66},{"name":"update_note_type_styling","title":null,"description":"Replace the CSS of a note type.","inputs":[{"name":"css","type":"string","required":true,"description":null},{"name":"modelName","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":35},{"name":"create_model","title":null,"description":"Create a new note type.","inputs":[{"name":"cardTemplates","type":"array","required":true,"description":null},{"name":"css","type":"string","required":false,"description":null},{"name":"fieldNames","type":"array","required":true,"description":null},{"name":"isCloze","type":"boolean","required":false,"description":"Default false."},{"name":"modelName","type":"string","required":true,"description":null}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":56}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T10:42:48.000Z","track":"package","endpoint":null,"declaredUrl":null,"truncated":false,"tls":null,"dnssec":null,"auth":null,"httpsRedirect":null,"transports":[],"provenance":{"outcome":"none","label":"No attestation","reason":"no_attestation","reasonLabel":"No attestation published","discovery":null,"discoveryLabel":null,"sourceRepo":null,"attestationSkipped":null,"attestationSkippedLabel":null},"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":{"nodes":105,"partial":false,"deprecated":null,"stale":32,"noRepo":null}},"mismatches":[],"changelog":{"trackingSince":"2026-10-06","recent":[{"id":"chg_01a1a623-ffa5-793e-ac26-0b499a505811","kind":"score.total_changed","summary":"Trust score (56 → 57)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/nietus-anki-mcp/anki-mcp#chg-chg_01a1a623-ffa5-793e-ac26-0b499a505811"},{"id":"chg_01a19bd5-6607-7d6d-b8d5-587074904cd2","kind":"score.total_changed","summary":"Trust score (55 → 56)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/nietus-anki-mcp/anki-mcp#chg-chg_01a19bd5-6607-7d6d-b8d5-587074904cd2"},{"id":"chg_01a19187-72d7-73e5-bde0-aba1ded6767c","kind":"score.total_changed","summary":"Trust score (54 → 55)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/nietus-anki-mcp/anki-mcp#chg-chg_01a19187-72d7-73e5-bde0-aba1ded6767c"},{"id":"chg_01a18213-56c9-7ee1-a531-1a1663b7f1a2","kind":"score.total_changed","summary":"Trust score (53 → 54)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/nietus-anki-mcp/anki-mcp#chg-chg_01a18213-56c9-7ee1-a531-1a1663b7f1a2"},{"id":"chg_01a177c6-bfd8-7a90-90f4-a361ee4a7cd1","kind":"score.total_changed","summary":"Trust score (52 → 53)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/nietus-anki-mcp/anki-mcp#chg-chg_01a177c6-bfd8-7a90-90f4-a361ee4a7cd1"},{"id":"chg_01a16d7a-31e1-74a2-b2b3-93ae8217b9d8","kind":"score.total_changed","summary":"Trust score (51 → 52)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-24","url":"https://verifymcp.io/servers/nietus-anki-mcp/anki-mcp#chg-chg_01a16d7a-31e1-74a2-b2b3-93ae8217b9d8"},{"id":"chg_01a1632f-5554-7c1d-be2d-dcc06485f7ee","kind":"check.reverified","summary":"Stability (unverified → 0.23)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-22","url":"https://verifymcp.io/servers/nietus-anki-mcp/anki-mcp#chg-chg_01a1632f-5554-7c1d-be2d-dcc06485f7ee"},{"id":"chg_01a1632f-5555-7b6a-a11b-233d22d004c1","kind":"score.total_changed","summary":"Trust score (47 → 51)","materiality":"functional","direction":"improvement","scoreDelta":4,"occurredOn":"2026-10-22","url":"https://verifymcp.io/servers/nietus-anki-mcp/anki-mcp#chg-chg_01a1632f-5555-7b6a-a11b-233d22d004c1"},{"id":"chg_01a13d76-6e17-7990-a6a3-d7bc2d061a98","kind":"check.reverified","summary":"Injection markers (unverified → pass)","materiality":"security","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-15","url":"https://verifymcp.io/servers/nietus-anki-mcp/anki-mcp#chg-chg_01a13d76-6e17-7990-a6a3-d7bc2d061a98"},{"id":"chg_01a13d76-6e18-79b2-b5a8-a336227d89df","kind":"check.appeared","summary":"First check of Judged manipulation (pass)","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-15","url":"https://verifymcp.io/servers/nietus-anki-mcp/anki-mcp#chg-chg_01a13d76-6e18-79b2-b5a8-a336227d89df"},{"id":"chg_01a13d76-6e18-7ecd-9c55-970f6d7bbc67","kind":"check.reason","summary":"Stability (Stability not yet verified: not enough scan history yet (needs a 30-day window).)","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-15","url":"https://verifymcp.io/servers/nietus-anki-mcp/anki-mcp#chg-chg_01a13d76-6e18-7ecd-9c55-970f6d7bbc67"},{"id":"chg_01a13d76-6e19-73e9-9cae-616426efa00b","kind":"check.reverified","summary":"Tool coverage (unverified → 100)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-15","url":"https://verifymcp.io/servers/nietus-anki-mcp/anki-mcp#chg-chg_01a13d76-6e19-73e9-9cae-616426efa00b"},{"id":"chg_01a13d76-6e19-7864-a8d1-0faff0883c4e","kind":"check.reverified","summary":"Schema quality (unverified → 100)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-15","url":"https://verifymcp.io/servers/nietus-anki-mcp/anki-mcp#chg-chg_01a13d76-6e19-7864-a8d1-0faff0883c4e"},{"id":"chg_01a13d76-6e19-7cff-bc32-76c9f1a02fc9","kind":"check.reverified","summary":"MCP protocol (unverified → pass)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-15","url":"https://verifymcp.io/servers/nietus-anki-mcp/anki-mcp#chg-chg_01a13d76-6e19-7cff-bc32-76c9f1a02fc9"},{"id":"chg_01a13d76-6e1a-7210-8dfd-c488a2916f3b","kind":"check.appeared","summary":"First check of Schema quality (fail)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-15","url":"https://verifymcp.io/servers/nietus-anki-mcp/anki-mcp#chg-chg_01a13d76-6e1a-7210-8dfd-c488a2916f3b"},{"id":"chg_01a13d76-6e1a-75dd-a41f-f68f272ee51d","kind":"check.appeared","summary":"First check of Destructive annotations (100)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-15","url":"https://verifymcp.io/servers/nietus-anki-mcp/anki-mcp#chg-chg_01a13d76-6e1a-75dd-a41f-f68f272ee51d"},{"id":"chg_01a13d76-6e1a-799c-a4c9-29ce66f0badd","kind":"check.appeared","summary":"First check of Schema quality (pass)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-15","url":"https://verifymcp.io/servers/nietus-anki-mcp/anki-mcp#chg-chg_01a13d76-6e1a-799c-a4c9-29ce66f0badd"},{"id":"chg_01a13d76-6e1a-7d49-ba8e-196406957498","kind":"check.appeared","summary":"First check of Tool coverage (77)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-15","url":"https://verifymcp.io/servers/nietus-anki-mcp/anki-mcp#chg-chg_01a13d76-6e1a-7d49-ba8e-196406957498"},{"id":"chg_01a13d76-6e1b-725a-8288-d66b113bc7ea","kind":"check.appeared","summary":"First check of Schema quality (good)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-15","url":"https://verifymcp.io/servers/nietus-anki-mcp/anki-mcp#chg-chg_01a13d76-6e1b-725a-8288-d66b113bc7ea"},{"id":"chg_01a13d76-6e1b-77ab-bd05-8854a50a38ee","kind":"score.total_changed","summary":"Trust score (16 → 47)","materiality":"functional","direction":"improvement","scoreDelta":31,"occurredOn":"2026-10-15","url":"https://verifymcp.io/servers/nietus-anki-mcp/anki-mcp#chg-chg_01a13d76-6e1b-77ab-bd05-8854a50a38ee"}],"truncated":true,"feedUrl":"https://verifymcp.io/servers/nietus-anki-mcp/anki-mcp/changelog.json"},"links":{"html":"https://verifymcp.io/servers/nietus-anki-mcp/anki-mcp","markdown":"https://verifymcp.io/servers/nietus-anki-mcp/anki-mcp.md","changelogJson":"https://verifymcp.io/servers/nietus-anki-mcp/anki-mcp/changelog.json","changelogRss":"https://verifymcp.io/servers/nietus-anki-mcp/anki-mcp.xml","external":[{"label":"Repository","href":"https://github.com/nietus/anki-mcp"}]}}