Skip to main content

A Model Context Protocol server for creating Anki flashcards via AnkiConnect

Project description

Anki MCP Connector

A Model Context Protocol (MCP) server that enables AI assistants to create Anki flashcards programmatically via AnkiConnect.

Overview

Anki MCP Connector provides a set of tools that allow MCP clients (like Claude Desktop) to interact with Anki, enabling automated flashcard creation and deck management. This makes it easy to create study materials directly from your conversations with AI assistants.

Features

  • 📚 List all Anki decks - Get all available decks in your Anki collection
  • 🎴 Get note type models - Discover available card templates (Basic, Cloze, etc.)
  • 🔍 Inspect model fields - See what fields are available for each note type
  • Create flashcards - Add notes with custom fields, tags, and content
  • 🏷️ Automatic tagging - All created cards are tagged with "Automatic" for easy filtering

Prerequisites

  1. Anki - Download and install from ankiweb.net
  2. AnkiConnect - Install the AnkiConnect add-on for Anki:
    • Open Anki
    • Go to Tools → Add-ons → Get Add-ons
    • Enter code: 2055492159
    • Restart Anki

AnkiConnect will run automatically whenever Anki is open, listening on http://127.0.0.1:8765.

Installation

pip install anki-mcp-connector

Usage

With Claude Desktop

Add this to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "anki": {
      "command": "anki-mcp-connector"
    }
  }
}

Then restart Claude Desktop. With Anki running, you can now ask Claude to create flashcards!

Example Conversations

You: "Create a flashcard with 'What is MCP?' on the front and 'Model Context Protocol' on the back in my 'Programming' deck"

You: "Add 5 vocabulary cards for common Spanish greetings to my Spanish deck"

You: "Create a cloze deletion card about Python list comprehensions"

Available Tools

The MCP server exposes the following tools:

get_deck_list()

Returns a list of all deck names in your Anki collection.

get_model_names()

Returns available note type models (e.g., "Basic", "Basic (and reversed card)", "Cloze").

get_model_field_names(modelName: str)

Returns the field names for a specific model.

Example: For "Basic" model, returns ["Front", "Back"]

add_note(deckName: str, modelName: str, fields: dict, tags: list = None)

Creates a new flashcard in the specified deck.

Parameters:

  • deckName: Target deck name
  • modelName: Note type to use
  • fields: Dictionary mapping field names to content
  • tags: Optional list of tags (always includes "Automatic")

Example:

add_note(
    deckName="Japanese",
    modelName="Basic",
    fields={"Front": "こんにちは", "Back": "Hello"},
    tags=["greetings", "basic"]
)

Development

Setup

# Clone the repository
git clone https://github.com/yourusername/anki-mcp-connector.git
cd anki-mcp-connector

# Install in development mode
pip install -e .

Building

# Install build tools
pip install build twine

# Build the package
python -m build

# Upload to PyPI (requires credentials)
python -m twine upload dist/*

Troubleshooting

"Connection refused" errors

  • Make sure Anki is running
  • Verify AnkiConnect is installed (Tools → Add-ons)
  • Check that AnkiConnect is listening on port 8765

"Deck not found" errors

  • Use get_deck_list() to see exact deck names (case-sensitive)
  • Create the deck in Anki first if it doesn't exist

Duplicate cards

The server prevents duplicates by default. If a card with the same content exists, you'll get an error.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License - see LICENSE file for details.

Links


Note: This package requires Anki to be running with the AnkiConnect add-on installed. It communicates locally and does not send any data over the internet.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

anki_mcp_connector-0.1.4.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

anki_mcp_connector-0.1.4-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file anki_mcp_connector-0.1.4.tar.gz.

File metadata

  • Download URL: anki_mcp_connector-0.1.4.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.5

File hashes

Hashes for anki_mcp_connector-0.1.4.tar.gz
Algorithm Hash digest
SHA256 80ea6c98a1332a4923dcae3ff44eae1104e06f7573350f67b65a6dde8d5181c4
MD5 0b425d0aa7f29118f2fd0d7ec9722927
BLAKE2b-256 16649f781f3527786c385187b0dc22eb7b96f2d7af35fb0a5a841926037c0aa7

See more details on using hashes here.

File details

Details for the file anki_mcp_connector-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for anki_mcp_connector-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 52a6c1d07117255332cdefff08cacb217de5a6d091c350bd9a8a95034bb25a29
MD5 ebc5c373385a20d60dd5db54467d207c
BLAKE2b-256 e1a7771ae0c777b4ef431bbf97ccb4b81f38280da2fe3d9a72b92d9a18fc52fb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page