anki-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ANKI_DB_PATH | No | Path to Anki's collection.anki2 | Platform-aware (macOS: ~/Library/Application Support/Anki2/User 1/collection.anki2, Linux: ~/.local/share/Anki2/User 1/collection.anki2) |
| ANKI_MCP_OUTPUT_DIR | No | Directory for daily progress reports | ~/Anki Progress |
| ANKI_MCP_ARCHIVE_DIR | No | Directory for .apkg exports/imports | ~/.local/share/anki-mcp/archive |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tasks | {
"list": {},
"cancel": {},
"requests": {
"tools": {
"call": {}
},
"prompts": {
"get": {}
},
"resources": {
"read": {}
}
}
} |
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| add_notesA | Create flashcards in Anki. Handles bulk creation with duplicate detection. Args: notes: List of notes, each with front, back, tags, deck, model Returns: Count of added/skipped cards and any errors |
| search_notesA | Search for existing cards using Anki query syntax. Examples: 'deck:Default', 'tag:python', 'front:terraform', 'added:7' (last 7 days), 'deck:AWS tag:iam' Args: query: Anki search query string limit: Max results to return (default 20) Returns: Matching notes with their fields, tags, and IDs |
| update_noteA | Edit an existing card's fields or tags. Args: note_id: The note ID (from search_notes results) front: New front field content (optional) back: New back field content (optional) tags: New tag list — replaces all existing tags (optional) Returns: Confirmation of update |
| delete_notesC | Delete cards by their note IDs. Args: note_ids: List of note IDs to delete Returns: Confirmation of deletion |
| list_decksA | List all Anki decks with card counts. Returns: All decks with new/learn/review counts and total cards |
| create_deckA | Create a new deck. Supports :: for nested hierarchy (e.g. 'AWS::IAM'). Args: name: Deck name (use :: for sub-decks) Returns: Deck ID of the created deck |
| export_deckA | Export a deck to .apkg file in the configured archive directory. Args: deck: Deck name to export archive: If true, also delete the deck from Anki after export Returns: Path to the exported .apkg file |
| import_deckA | Import/restore a .apkg file from the archive directory. Args: filename: Name of the .apkg file in the configured archive directory Returns: Confirmation of import |
| syncA | Trigger AnkiWeb sync. Returns: Confirmation that sync completed |
| progressA | Show learning progress: deck maturity, Interest Heat Score, study consistency. Interest Heat Score ranks tags by how well knowledge consolidates — high scores reveal where genuine interest lives (effortless retention). Syncs with AnkiWeb first to include mobile reviews. Args: deck: Optional deck name to scope the report (default: all decks) top_n: Number of top tags to show in heat ranking (default: 15) Returns: Markdown report with deck overview, interest heat, and study streak |
| healthA | Check if AnkiConnect is reachable and get Anki version. Returns: Connection status and Anki version info |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/chaosisnotrandomitisrhythmic/anki-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server