MCP server for integrating with Anki flashcards through conversational AI
Transform your Anki flashcard experience with AI! This MCP (Model Context Protocol) server bridges your Anki flashcard collection with AI assistants like Claude, enabling natural conversations about your study materials.
Imagine having an AI tutor that knows your entire flashcard collection and can:
Special thanks to the yanki-connect library for providing the robust AnkiConnect interface that powers this integration!
Download and install Anki if you haven't already.
2055492159๐ Version Requirements: This server requires AnkiConnect version 25.2.25.0 or newer (released 2025-02-25) for full compatibility. Most features work with older versions, but we recommend updating for the best experience.
AnkiConnect works out of the box, but you can customize settings:
Install the package
npm install -g @arielbk/anki-mcp
Configure Claude Desktop
Edit your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Add this configuration:
{
"mcpServers": {
"anki": {
"command": "anki-mcp",
"args": []
}
}
}
Restart Claude Desktop
Start using it!
๐ก Pro Tip: You can test your setup by asking Claude simple questions like "How many Anki decks do I have?" or "What's in my largest deck?"
Clone the repository
git clone https://github.com/arielbk/anki-mcp.git
cd anki-mcp
Install dependencies
pnpm install
Build the project
pnpm build
Test the server
# Use the MCP inspector to test functionality
pnpm inspect
This server works with any MCP-compatible client. You can also use it with:
For stdio transport, run:
node dist/index.js
For localhost HTTP (Streamable HTTP) transport, run:
node dist/index.js --http --host=127.0.0.1 --port=3000
# The MCP endpoint will be at http://127.0.0.1:3000/mcp
Clients that support Streamable HTTP can connect directly. Legacy SSE clients may still work via client-side fallback.
Once configured with Claude Desktop, you can have natural conversations like:
You: "I have a Japanese exam tomorrow. Can you quiz me on Hiragana cards I haven't reviewed in a week?"
Claude: I'll find your Hiragana cards that need review and start a quiz session...
You: "Create flashcards for the major battles of World War II with dates and significance"
Claude: I'll create comprehensive flashcards covering the key WWII battles...
You: "How am I doing with my medical terminology deck? Show me my weak areas."
Claude: Let me analyze your performance on the medical terminology deck...
You: "Tag all cards about cardiovascular system with 'cardiology' and move them to my MCAT prep deck"
Claude: I'll help you organize those cards...
The server provides 7 intuitive tools that cover everything you need:
Create, update, delete, and search your flashcards. Perfect for content creation, bulk updates, and organization.
Run interactive quiz sessions, manage card scheduling, and track which cards need review.
Create and organize decks, move cards around, and configure deck settings.
Dive into your study statistics, review history, and learning patterns.
Customize note types, add fields, modify templates, and style your cards.
Handle sync, media files, imports/exports, and other utility operations.
Retrieve media files (images, audio, etc.) from your Anki collection. AI assistants can analyze images directly (though they won't display in the UI).
๐ก Pro Tip: Many operations support pagination to prevent overwhelming your context window. Use
limitandoffsetparameters when working with large result sets.
# Run in development mode with auto-reloading
pnpm dev
# Lint the code
pnpm lint
# Format the code
pnpm format
# Test with MCP inspector
pnpm inspect
The server connects to AnkiConnect on localhost:8765 by default. If you've customized your AnkiConnect configuration, you may need to adjust the connection settings.
Important: Make sure Anki is running and AnkiConnect is installed before using the MCP server. The server will fail to connect if AnkiConnect is not accessible.
๐ก Note: The underlying yanki-connect library supports auto-launching Anki on macOS, but this feature is not currently exposed in the MCP server configuration. You'll need to start Anki manually.
For advanced users, you can pass additional parameters:
{
"mcpServers": {
"anki": {
"command": "anki-mcp",
"args": ["--verbose"],
"env": {
"ANKI_CONNECT_HOST": "localhost",
"ANKI_CONNECT_PORT": "8765"
}
}
}
}
Common Issues:
npm list -g @arielbk/anki-mcpWe welcome contributions! Please:
MIT - see LICENSE file for details.
Transform your flashcard experience with AI-powered conversations! ๐
Source-derived launch command. Check the maintainerโs required arguments and credentials before running:
npx -y @arielbk/anki-mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-arielbk-anki-mcp": {
"command": "npx",
"args": [
"-y",
"@arielbk/anki-mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the clientโs tool list, then try a read-only example from its documentation.
Claude Desktop setup referenceio.github.arielbk/anki-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.