@lifeng688/anki-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ANKI_LOG_LEVEL | No | Log verbosity: error / warn / info / debug | info |
| ANKI_CONNECT_KEY | No | AnkiConnect API key (if configured) | |
| ANKI_CONNECT_URL | No | Full AnkiConnect HTTP endpoint (highest priority). Overrides HOST:PORT. | |
| ANKI_CONNECT_HOST | No | Host part, used when ANKI_CONNECT_URL is not set. | 127.0.0.1 |
| ANKI_CONNECT_PORT | No | Port part, used when ANKI_CONNECT_URL is not set. | 8765 |
| ANKI_DEFAULT_DECK | No | Default deck for note operations | Default |
| ANKI_DEFAULT_MODEL | No | Default note model | Basic |
| ANKI_CONNECT_VERSION | No | AnkiConnect API version | 6 |
| ANKI_REQUEST_TIMEOUT_MS | No | HTTP request timeout in milliseconds | 10000 |
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 |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| pingA | Health check for the MCP server. Returns server metadata without requiring Anki to be running. |
| check_anki_connectionA | Check if AnkiConnect is reachable and return the connection status. |
| list_decksA | List all available Anki decks. |
| create_deckB | Create a new Anki deck. Supports hierarchical decks using :: separator. |
| list_note_modelsA | List all available note models (card types). |
| get_note_model_fieldsB | Get the field names for a specific note model. |
| add_noteA | Add a single note (flashcard) to Anki. |
| add_notesB | Batch add multiple notes to Anki. Supports dryRun for preview. |
| search_notesB | Search for notes in Anki using Anki search syntax. |
| get_notes_infoB | Get detailed information about specific notes by their IDs. |
| update_note_fieldsB | Update specific fields of an existing note. Supports dryRun. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Each tool has a clearly distinct purpose: single vs batch note addition, deck vs model listing, search vs info retrieval, etc. No overlapping responsibilities.
All tools follow a consistent snake_case verb_noun pattern (e.g., add_note, list_decks, search_notes). No deviations or mixed conventions.
11 tools provide a well-scoped set for Anki interaction—covering deck creation, note operations, search, and health checks—without being excessive or insufficient.
The set covers core note and deck operations, but lacks delete functionality (delete_note, delete_deck) and update deck operations, leaving some lifecycle gaps.