anki

star 1

Use the local AnkiMCP server through mcporter to sync Anki, fetch due/new/learning cards, present and rate reviews, inspect deck and collection stats, search notes, create or update notes, manage decks/tags/media, and open Anki GUI actions. Trigger when a user wants to study with Anki, review flashcards, inspect deck or note status, or control a local Anki desktop app via AnkiConnect from OpenClaw.

cs-qyzhang By cs-qyzhang schedule Updated 3/7/2026

name: anki description: Use the local AnkiMCP server through mcporter to sync Anki, fetch due/new/learning cards, present and rate reviews, inspect deck and collection stats, search notes, create or update notes, manage decks/tags/media, and open Anki GUI actions. Trigger when a user wants to study with Anki, review flashcards, inspect deck or note status, or control a local Anki desktop app via AnkiConnect from OpenClaw. metadata: { "openclaw": { "emoji": "🧠", "skillKey": "anki" } }

Anki MCP

Use bash {baseDir}/scripts/anki-mcp.sh as the default entrypoint. It wraps the exact mcporter + stdio launch sequence for @ankimcp/anki-mcp-server, so you do not need to retype the long MCP command each turn.

Quick Start

  • List tools and schemas: bash {baseDir}/scripts/anki-mcp.sh list --schema
  • Check the collection: bash {baseDir}/scripts/anki-mcp.sh call collection_stats --output json
  • Start a review session: bash {baseDir}/scripts/anki-mcp.sh call sync
  • Get due cards: bash {baseDir}/scripts/anki-mcp.sh call get_due_cards limit=10 include_learning=true include_new=false --output json
  • ALWAYS SYNC BEFORE AND AFTER MODIFICATIONS

Review Workflow

  1. Call sync before pulling cards.
  2. Call get_due_cards or get_cards.
  3. For each card, call present_card, show the prompt first, let the user answer, then reveal the back.
  4. Call rate_card with the user’s rating.
  5. Call sync again when the user ends the review session.

Use collection_stats and review_stats when the user asks for progress, workload, or deck-level review summaries.

Notes, Decks, Tags, and Media

  • Search first with findNotes, then expand with notesInfo before editing.
  • Create or bulk-create notes with addNote or addNotes.
  • Update fields with updateNoteFields.
  • Use modelNames, modelFieldNames, modelStyling, createModel, and updateModelStyling for note type work.
  • Use deckActions, tagActions, and mediaActions for organization and media file tasks.
  • Confirm before destructive or bulk-write actions such as deleteNotes or wide deck/tag/media changes.

GUI Actions

Use GUI tools only when the user explicitly wants Anki’s desktop UI to open or change state.

  • Preferred GUI actions: guiBrowse, guiSelectCard, guiSelectedNotes, guiAddCards, guiEditNote, guiDeckOverview, guiDeckBrowser
  • Inspect current review UI state only on request: guiCurrentCard, guiShowQuestion, guiShowAnswer, guiUndo
  • Do not use GUI helpers for a normal chat-driven review session; use get_due_cards, present_card, and rate_card instead.

Guardrails

  • Assume local Anki desktop and the AnkiConnect addon are running at ANKI_CONNECT_URL (default http://localhost:8765).
  • Prefer --output json whenever you need structured fields for follow-up actions.
  • Use the wrapper script instead of rewriting raw mcporter invocations.
  • If a call fails to connect, ask the user to open Anki and verify the AnkiConnect endpoint.
  • Read references/tool-map.md when you need the grouped tool list or raw command equivalents.
Install via CLI
npx skills add https://github.com/cs-qyzhang/anki-skill --skill anki
Repository Details
star Stars 1
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator