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.8.tar.gz (9.5 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.8-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: anki_mcp_connector-0.1.8.tar.gz
  • Upload date:
  • Size: 9.5 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.8.tar.gz
Algorithm Hash digest
SHA256 896b0b79b68206ca2a5164ab4b911bbf05e1e3fa42cd1d4d1c75d9275b1be073
MD5 26ef41373728245b514a0a7f0768955f
BLAKE2b-256 7d0e2b876a93273c37395d61e123bb4e7f975d24aca5496ec83130b60b35a630

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for anki_mcp_connector-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 072af78ec873adc58b4c1863db73848f7be627a542d517b73f2473117efdc29e
MD5 c8e53767d9bb39eab44ed43ce993978b
BLAKE2b-256 a4d4ee4e0d41aafb68c5f8945bba8ce70ab9f9e5c65f08f9aeb84791257489eb

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