Anki MCP Server logo

Anki MCP Server

by MCP-Mirror

Anki MCP Server is a Model Context Protocol (MCP) server that enables LLMs to interact with Anki flashcard software through AnkiConnect. It provides tools to manage Anki decks and notes programmatically.

View on GitHub

Last updated: N/A

Anki MCP Server

A Model Context Protocol (MCP) server that enables LLMs to interact with Anki flashcard software through AnkiConnect.

Anki Icon

Anki Icon

Features

Tools

  • list_decks - List all available Anki decks
  • create_deck - Create a new Anki deck
  • create_note - Create a new note (Basic or Cloze)
  • batch_create_notes - Create multiple notes at once
  • search_notes - Search for notes using Anki query syntax
  • get_note_info - Get detailed information about a note
  • update_note - Update an existing note
  • delete_note - Delete a note
  • list_note_types - List all available note types
  • create_note_type - Create a new note type
  • get_note_type_info - Get detailed structure of a note type

Resources

  • anki://decks/all - Complete list of available decks
  • anki://note-types/all - List of all available note types
  • anki://note-types/all-with-schemas - Detailed structure information for all note types
  • anki://note-types/{modelName} - Detailed structure information for a specific note type

Prerequisites

  1. Anki installed on your system
  2. AnkiConnect add-on installed in Anki

Configuration

Usage with Claude Desktop

Add the server to your claude_desktop_config.json:

{
  "mcpServers": {
    "anki": {
      "command": "npx",
      "args": ["--yes","anki-mcp-server"]
    }
  }
}

Configuration for Cline

Add the server to your Cline MCP settings file inside VSCode's settings cline_mcp_settings.json

{
  "mcpServers": {
    "anki": {
      "command": "npx",
      "args": ["--yes","anki-mcp-server"]
    }
  }
}

Development

Setup

  1. Install dependencies:
npm install
  1. Build the server:
npm run build
  1. For development with auto-rebuild:
npm run watch

Testing

Run the test suite:

npm test

This executes tests for:

  • Server initialization
  • AnkiConnect communication
  • Note operations (create/read/update/delete)
  • Deck management
  • Error handling

Debugging

Since MCP servers communicate over stdio, we recommend using the MCP Inspector:

npm run inspector

This provides a browser-based interface for:

  • Monitoring MCP messages
  • Testing tool invocations
  • Viewing server logs
  • Debugging communication issues

Example Usage

  1. Create a new deck:
Create a new Anki deck called "Programming"
  1. Add a basic card:
Create an Anki card in the "Programming" deck with:
Front: What is a closure in JavaScript?
Back: A closure is the combination of a function and the lexical environment within which that function was declared.
  1. Add a cloze deletion card:
Create a cloze card in the "Programming" deck with:
Text: In JavaScript, {{c1::const}} declares a block-scoped variable that cannot be {{c2::reassigned}}.

Contributing

  1. Fork the repository
  2. Create your feature branch
  3. Run tests: npm test
  4. Submit a pull request

Credits

Icon courtesy of macOS Icons

License

MIT License - see LICENSE file for details