anki-mcp-server

MCP.Pizza Chef: nailuoGG

The anki-mcp-server is a Model Context Protocol server that integrates LLMs with Anki flashcard software through the AnkiConnect API. It exposes tools for managing decks, notes, and note types, allowing creation, updating, searching, and deletion of flashcards. This server enables real-time, structured interaction with Anki, facilitating advanced workflows like batch note creation and detailed note type management, making it ideal for educational and memorization applications.

Use This MCP server To

List all Anki decks for flashcard management Create new decks to organize study materials Add single or multiple notes to Anki decks Search notes using advanced Anki query syntax Update or delete existing flashcards Retrieve detailed note and note type information Create and manage custom note types for specialized cards

README

Anki MCP Server

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

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

anki-mcp-server FAQ

How does anki-mcp-server connect to Anki software?
It uses the AnkiConnect API to communicate with the locally running Anki application.
Can I create multiple flashcards at once with this server?
Yes, the batch_create_notes tool allows creating multiple notes simultaneously.
Does this server support custom note types?
Yes, you can list, create, and get detailed info on custom note types.
Is it possible to search flashcards using complex queries?
Yes, the search_notes tool supports Anki's query syntax for advanced searching.
Can I update or delete existing notes through this server?
Yes, update_note and delete_note tools provide full note management capabilities.
What kind of decks can I manage with anki-mcp-server?
You can list all decks and create new ones to organize your flashcards.
Is this server compatible with multiple LLM providers?
Yes, it is designed to work with any MCP-compatible LLM, including OpenAI, Claude, and Gemini.
How do I get detailed structure information about note types?
Use the get_note_type_info tool or the anki://note-types/all-with-schemas resource.