MCP Hub
Back to servers

anki-mcp-server-addon

A specialized MCP server that exposes Anki flashcard collections to AI assistants, enabling automated card creation, study sessions, and GUI management.

Stars
3
Forks
1
Tools
28
Updated
Jan 11, 2026
Validated
Jan 17, 2026

AnkiMCP Server (Addon)

An Anki addon that exposes your collection to AI assistants via the Model Context Protocol (MCP).

What is this?

AnkiMCP Server runs a local MCP server inside Anki, allowing AI assistants like Claude to interact with your flashcard collection. This enables AI-powered study sessions, card creation, and collection management.

Part of the ankimcp.ai project.

Note on First Run

On first run, this addon downloads pydantic_core (~2MB) from PyPI. This is required because pydantic_core contains platform-specific binaries (Windows/macOS/Linux) that cannot be bundled in a single addon file.

Features

  • Local HTTP server - Runs on http://127.0.0.1:3141/ by default
  • MCP protocol - Compatible with any MCP client (Claude Desktop, etc.)
  • Auto-start - Server starts automatically when Anki opens
  • Tunnel-friendly - Works with Cloudflare Tunnel, ngrok, etc.
  • Cross-platform - Works on macOS, Windows, and Linux (x64 and ARM)

Installation

From AnkiWeb (recommended)

  1. Open Anki and go to Tools → Add-ons → Get Add-ons...
  2. Enter code: 124672614
  3. Restart Anki

From GitHub Releases

  1. Download anki_mcp_server.ankiaddon from Releases
  2. Double-click to install, or use Tools → Add-ons → Install from file...
  3. Restart Anki

Usage

The server starts automatically when you open Anki. Check status via Tools → AnkiMCP Server Settings...

Connect with Claude Desktop

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "anki": {
      "url": "http://127.0.0.1:3141/"
    }
  }
}

Configuration

Edit via Anki's Tools → Add-ons → AnkiMCP Server → Config:

{
  "mode": "http",
  "http_port": 3141,
  "http_host": "127.0.0.1",
  "cors_origins": [],
  "cors_expose_headers": ["mcp-session-id", "mcp-protocol-version"],
  "auto_connect_on_startup": true
}

CORS Configuration

To allow browser-based MCP clients (like web-hosted MCP Inspector), add allowed origins:

{
  "cors_origins": ["https://inspector.example.com", "http://localhost:5173"]
}

Use ["*"] to allow all origins (not recommended for production).

The cors_expose_headers setting controls which response headers browsers can read. The defaults (mcp-session-id, mcp-protocol-version) are required for the MCP Streamable HTTP protocol to work in browsers.

Available Tools

Essential Tools

ToolDescription
syncSynchronize collection with AnkiWeb
list_decksList all decks in the collection
create_deckCreate a new deck
find_notesSearch for notes using Anki's search syntax
notes_infoGet detailed information about notes
add_noteAdd a new note to a deck
update_note_fieldsUpdate fields of existing notes
delete_notesDelete notes from the collection
get_due_cardsGet cards due for review
present_cardGet card content for review
rate_cardRate a card after review (Again/Hard/Good/Easy)
model_namesList available note types
model_field_namesGet field names for a note type
model_stylingGet CSS styling for a note type
update_model_stylingUpdate CSS styling for a note type
create_modelCreate a new note type
store_media_fileStore a media file (image/audio)
get_media_files_namesList media files matching a pattern
delete_media_fileDelete a media file

GUI Tools

These tools interact with Anki's user interface:

ToolDescription
gui_browseOpen the card browser with a search query
gui_add_cardsOpen the Add Cards dialog
gui_edit_noteOpen the note editor for a specific note
gui_current_cardGet info about the currently displayed card
gui_show_questionShow the question side of current card
gui_show_answerShow the answer side of current card
gui_select_cardSelect a specific card in the reviewer
gui_deck_browserNavigate to deck browser
gui_undoUndo the last operation

Resources

ResourceDescription
system_infoAnki version and system information

Prompts

PromptDescription
review_sessionGuided review session workflow

Requirements

  • Anki 25.x or later (Python 3.13)

Architecture

The addon runs an MCP server in a background thread with HTTP transport (FastMCP + uvicorn). All Anki operations are bridged to the main Qt thread via a queue system, following the same proven pattern as AnkiConnect.

For details, see Anki Add-on Development Documentation.

Development

Running E2E Tests

E2E tests run against a real Anki instance in Docker using headless-anki.

# Install test dependencies
python -m venv .venv
source .venv/bin/activate
pip install -r requirements-dev.txt

# Build the addon
./package.sh

# Start Anki container
cd .docker && docker compose up -d && cd ..

# Run tests (waits for server automatically)
pytest tests/e2e/ -v

# Stop container
cd .docker && docker compose down

Or use the Makefile shortcuts:

make e2e        # Build, start container, run tests, stop
make e2e-up     # Just start container
make e2e-test   # Just run tests
make e2e-down   # Just stop container

CI

E2E tests run automatically on push to main and feature/* branches, and on PRs. See .github/workflows/e2e.yml.

License

AGPL-3.0-or-later

Links

Reviews

No reviews yet

Sign in to write a review