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:
- "Quiz me on Japanese vocabulary I haven't seen in 3 days"
- "Test me on challenging cards from my medical deck"
- "Show me cards I've been struggling with recently"
- "Create flashcards about photosynthesis with diagrams"
- "Turn this PDF chapter into spaced repetition cards"
- "Generate cloze deletion cards from my lecture notes"
- "Which topics am I struggling with most?"
- "Show me my study patterns for the last month"
- "What's my retention rate for different card types?"
- "Tag all my chemistry cards with 'exam-prep'"
- "Move cards with low retention to an intensive review deck"
- "Find and fix duplicate cards across my decks"
- Full Anki Integration: Complete access to decks, cards, notes, and statistics via all 115 AnkiConnect API methods
- Conversational Interface: Natural language commands through your AI assistant
- Bulk Operations: Efficiently manage thousands of cards at once
- Real-time Statistics: Get insights into your learning progress
- Media Support: Handle images, audio, and other media in your cards
- Advanced Querying: Find cards using complex search criteria
- Type Safety: Fully typed API with comprehensive error handling
- Node.js: Runtime environment (18+ required)
- TypeScript: Type safety and developer experience
- MCP SDK: Model Context Protocol implementation
- yanki-connect: 🙏 Fully-typed, isomorphic AnkiConnect API client
- tsup: Fast TypeScript bundler
- PNPM: Efficient package manager
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.
- Open Anki
- Go to Tools → Add-ons
- Click Get Add-ons...
- Enter code:
2055492159
- Restart Anki
📋 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:
- Go to Tools → Add-ons
- Select AnkiConnect and click Config
- Default settings should work fine for most users
-
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!
- Make sure Anki is running with AnkiConnect enabled
- Ask Claude: "Show me my Anki decks" or "Quiz me with 5 cards"
💡 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:
- MCP Inspector: Interactive debugging tool
- Cline: VS Code extension for AI coding
- Custom MCP clients: Build your own using the MCP SDK
For stdio transport, run:
node dist/index.js
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...
This MCP server provides comprehensive access to your Anki collection through these capabilities:
- List all decks with statistics
- Create new decks
- Rename and delete decks
- Get deck configuration
- Find cards by search criteria
- Answer cards (simulate reviews)
- Get card information and statistics
- Suspend/unsuspend cards
- Bulk card operations
- Add new notes with custom fields
- Update existing notes
- Delete notes
- Find notes by search query
- Bulk note operations
- Deck statistics and performance metrics
- Card ease and interval data
- Review history and patterns
- Learning progress insights
- Access note types and field definitions
- Media file management
- Template customization support
- Complex search queries using Anki's search syntax
- Batch operations for efficiency
- Real-time synchronization with Anki
- Error handling and validation
- Organized API methods grouped by functionality (cards, decks, notes, models, statistics, media, etc.)
- Direct access to all 115 AnkiConnect API methods with full type safety
# 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:
- "Failed to connect to AnkiConnect": Ensure Anki is running and AnkiConnect plugin is installed
- "No decks found": Make sure you have at least one deck in Anki
- Claude doesn't respond: Restart Claude Desktop after configuration changes
-
Permission errors: Check that the global npm install worked correctly with
npm list -g @arielbk/anki-mcp
We welcome contributions! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
MIT - see LICENSE file for details.
- yanki-connect - Excellent TypeScript client for AnkiConnect
- AnkiConnect - The plugin that makes Anki automation possible
- Model Context Protocol - Enabling seamless AI integrations
Transform your flashcard experience with AI-powered conversations! 🚀