Anki MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GOOGLE_CLOUD_API_KEY | No | API key for Google Cloud Text-to-Speech API. Required for high-quality audio generation features. |
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
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_decksB | List all available Anki decks. |
| get_deck_notesC | Get all notes/cards from a specific deck. |
| get_deck_sampleB | Get a random sample of notes from a specific deck to understand typical note structure. |
| get_deck_note_typesB | Get the note types (models) and their field definitions used in a specific deck. |
| create_noteC | Create a new note in the specified deck with the given fields and tags. |
| update_noteB | Update specific fields of an existing note. Perfect for adding audio or other content to existing cards. |
| create_deck_with_note_typeC | Create a new deck and optionally a new note type with specified fields and card templates. |
| list_note_typesA | List all available note types (models) with their fields and card templates. |
| generate_audioC | Generate audio file from text using Google Cloud Chirp TTS API and return base64 encoded audio data. |
| create_notes_bulkA | Create multiple notes in a single batch operation for efficiency. Handles duplicates gracefully by reporting which notes are duplicates while still creating non-duplicate notes. |
| save_media_fileC | Save base64 encoded media data as a file in Anki's media collection for use in cards. |
| generate_and_save_audioA | Generate audio from text and save it to Anki's media collection, returning filename for use in cards. |
| update_notes_bulkB | Update multiple notes in a single batch operation for efficiency. Each update should contain note_id and fields to update. |
| find_similar_notesA | Find notes that contain the search text as a substring in any field. Simple and reliable text matching. |
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 14 tools
Most tools have distinct purposes, such as create_deck_with_note_type for deck creation and generate_audio for audio generation, but there is some overlap between generate_audio and generate_and_save_audio, which could cause confusion as both handle audio generation with similar names. The descriptions help clarify that generate_audio returns base64 data while generate_and_save_audio saves to media, but the naming similarity might lead to misselection.
Tool names follow a consistent verb_noun pattern throughout, such as create_deck_with_note_type, list_decks, update_note, and get_deck_notes, with no deviations in style or convention. This predictability makes it easy for agents to understand and use the tools without confusion from mixed naming schemes.
With 14 tools, the server is well-scoped for managing Anki decks and notes, covering operations like creation, retrieval, updating, and audio handling. Each tool serves a clear purpose, such as bulk operations for efficiency and specific functions like audio generation, making the count appropriate without being excessive or insufficient.
The tool surface provides comprehensive coverage for Anki management, including CRUD operations for decks and notes, bulk handling, and audio integration. Minor gaps exist, such as no direct tools for deleting decks or notes, but agents can work around this by using update or other methods, and core workflows are well-supported.