anki-mcp
An MCP server that enables Claude Code to create, manage, and search Anki flashcards directly from the terminal. It supports batch card creation, deck statistics retrieval, and synchronization with AnkiWeb for cross-platform review.
README
anki-mcp
An MCP (Model Context Protocol) server that enables Claude Code to create and manage Anki flashcards. Create flashcards during your coding sessions and review them later on mobile via AnkiWeb sync.
Why
Learning happens during work, but knowledge fades without review. This tool lets you capture learnings as flashcards without leaving your terminal, then review them on your phone using Anki's spaced repetition system.
Features
- Create single or batch flashcards with tags
- Create and list decks (supports nested decks via
::syntax) - Search cards using Anki's query syntax
- Get deck statistics (new, due, total cards)
- Sync to AnkiWeb for mobile access
- Check AnkiConnect connection status
Prerequisites
- macOS (tested on macOS 14+)
- Python 3.12+
- uv package manager
- Claude Code CLI
Setup
1. Install Anki Desktop
brew install --cask anki
2. Install AnkiConnect Add-on
- Open Anki
- Go to Tools > Add-ons > Get Add-ons...
- Enter code:
2055492159 - Click OK
- Restart Anki
3. Configure AnkiConnect Port (if needed)
AnkiConnect defaults to port 8765. If that port is in use, change it:
- Go to Tools > Add-ons
- Select AnkiConnect > Config
- Change
"webBindPort": 8765to another port (e.g.,8766) - Restart Anki
The config file is located at:
~/Library/Application Support/Anki2/addons21/2055492159/config.json
4. Clone and Install anki-mcp
git clone https://github.com/hbd/anki-mcp.git
cd anki-mcp
uv sync
5. Configure Claude Code
Add to your .mcp.json (project-level) or ~/.claude/settings.json (global):
{
"mcpServers": {
"anki": {
"command": "uv",
"args": [
"run",
"--directory",
"/path/to/anki-mcp",
"fastmcp",
"run",
"server.py"
],
"env": {
"ANKI_CONNECT_URL": "http://localhost:8766"
}
}
}
}
Update the --directory path and ANKI_CONNECT_URL port to match your setup.
6. Restart Claude Code
The MCP server will be available after restart.
7. Configure AnkiWeb Sync (for mobile access)
- Create an account at ankiweb.net
- In Anki desktop: Tools > Preferences > Syncing
- Sign in with your AnkiWeb credentials
- Install AnkiMobile (iOS, paid) or AnkiDroid (Android, free)
- Sign in to the mobile app with the same account
Usage
Once configured, you can use natural language in Claude Code:
"Create a flashcard about Python decorators"
"Add these concepts to my Programming deck"
"Sync my cards to AnkiWeb"
"How many cards are due today?"
Available Tools
| Tool | Description |
|---|---|
list_decks |
List all Anki decks |
create_deck |
Create a new deck |
add_flashcard |
Add a single flashcard |
add_flashcards |
Add multiple flashcards in batch |
search_cards |
Search using Anki query syntax |
get_deck_stats |
Get deck statistics |
sync_anki |
Trigger AnkiWeb sync |
anki_connection_status |
Check if AnkiConnect is responding |
Search Query Examples
deck:Default # Cards in Default deck
tag:python # Cards with python tag
is:new # New cards not yet studied
is:due # Cards due for review
added:1 # Cards added today
front:*decorator* # Cards with "decorator" in front
Architecture
Claude Code --> MCP Server --> AnkiConnect --> Anki Desktop
|
AnkiWeb (cloud)
|
Mobile App (iOS/Android)
Requirements
- Anki desktop must be running for the MCP server to work
- AnkiConnect add-on must be installed and enabled
- Sync is not automatic - use the
sync_ankitool or sync manually in Anki
Troubleshooting
"AnkiConnect not responding"
- Ensure Anki desktop is running
- Check that AnkiConnect is installed (Tools > Add-ons)
- Verify the port in your config matches AnkiConnect's port
Port conflict
If port 8765 is in use:
- Check what's using it:
lsof -i :8765 - Change AnkiConnect to a different port (see step 3 above)
- Update
ANKI_CONNECT_URLin your MCP config
Sync fails with "auth not configured"
Sign in to AnkiWeb in Anki desktop (Tools > Preferences > Syncing).
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.