Anki MCP Server
The Anki MCP Server enables interaction with Anki flashcard software, allowing you to:
List decks: View all available decks
Create decks: Establish new decks by name
Manage notes:
Create individual notes (Basic or Cloze)
Batch create multiple notes
Search notes using Anki query syntax
View detailed note information
Update existing notes (modify tags and fields)
Delete notes
Handle note types:
List available note types
Create custom note types with fields, templates, and CSS
Get detailed structure information
Access resources via endpoints like
anki://decks/allandanki://note-types/all
Enables interaction with Anki flashcard software through AnkiConnect, providing tools for managing decks, creating various types of flashcards (Basic and Cloze), searching notes, and manipulating note types.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Anki MCP Servercreate a flashcard for the capital of France"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Anki MCP Server
A Model Context Protocol (MCP) server that enables LLMs to interact with Anki flashcard software through AnkiConnect.
![]()
Features
Tools
anki_check_connection- Check whether AnkiConnect is reachableanki_list_decks- List all available Anki decks, optionally with deck IDsanki_create_deck- Create a new Anki deckanki_list_tags- List all tags currently used in the collectionanki_add_note_tags- Add tags to one or more notesanki_remove_note_tags- Remove tags from one or more notesanki_create_note- Create a new noteanki_batch_create_notes- Create multiple notes at onceanki_search_notes- Search for notes using Anki query syntaxanki_get_note_info- Get detailed information about a noteanki_update_note- Update an existing note's fields and/or tagsanki_delete_note- Delete one or multiple notesanki_list_note_types- List all available note typesanki_create_note_type- Create a new note typeanki_get_note_type_info- Get detailed structure of a note typeanki_sync- Trigger AnkiWeb sync (fire-and-forget; success means Anki accepted the request, not that AnkiWeb received the data; a blocking dialog in Anki can silently keep the sync queued)
Legacy unprefixed tool names such as create_note and list_decks remain callable for existing clients, but new agent integrations should use the anki_* names.
Resources
anki://decks/all- Complete list of available decks with deck IDsanki://tags/all- Complete list of tagsanki://note-types/all- List of all available note typesanki://note-types/all-with-schemas- Detailed structure information for all note typesanki://note-types/{modelName}- Detailed structure information for a specific note type
Related MCP server: Anki MCP Server
Prerequisites
Anki installed on your system
AnkiConnect add-on installed in Anki
Node.js 20.11 or newer
Configuration
Install via Desktop Extension (.mcpb)
This repository supports Anthropic Desktop Extensions (MCPB). The easiest way to use this server in Claude Desktop is by installing the packaged .mcpb bundle.
Generate the
.mcpbfile locally using the provided script:
npm run mcpbOpen Claude Desktop Settings → Extensions and drag the generated
.mcpbfile in, then click Install.
This validates manifest.json and outputs a .mcpb archive you can install as above. Learn more about Desktop Extensions in Anthropic's announcement: Desktop Extensions: One-click MCP server installation for Claude Desktop.
Usage with Claude Desktop
Add the server to your claude_desktop_config.json:
{
"mcpServers": {
"anki": {
"command": "npx",
"args": ["--yes", "anki-mcp-server"]
}
}
}Using Custom AnkiConnect Port
If your AnkiConnect is running on a different port, you can specify it using the --port parameter:
{
"mcpServers": {
"anki": {
"command": "npx",
"args": ["--yes", "anki-mcp-server", "--port", "8080"]
}
}
}Configuration for Cline
Add the server to your Cline MCP settings file inside VSCode's settings cline_mcp_settings.json
{
"mcpServers": {
"anki": {
"command": "npx",
"args": ["--yes", "anki-mcp-server"]
}
}
}Using Custom AnkiConnect Port
For Cline, you can also specify a custom port:
{
"mcpServers": {
"anki": {
"command": "npx",
"args": ["--yes", "anki-mcp-server", "--port", "8080"]
}
}
}Agent Skills (Claude Code)
Install the Anki skill to give Claude Code built-in knowledge of all Anki tools and workflows:
npx skills add nailuoGG/anki-mcp-server@ankiOnce installed, Claude Code will automatically use the skill when you ask it to create flashcards, manage decks, or batch import notes.
Note: Do not use the
.mcpbpackaged version as the MCP server — it outputs Electron metadata to stdout which breaks the MCP stdio protocol. Usenpx -y anki-mcp-serverinstead.
Development
Packaging a Desktop Extension (.mcpb)
Create a distributable Desktop Extension bundle for Claude Desktop:
npm run mcpbThis will build the project and generate a .mcpb archive from the current repository, validating manifest.json. Test by dragging it into Claude Desktop's Extensions settings. Reference: Desktop Extensions: One-click MCP server installation for Claude Desktop.
Publishing to MCP Registry
This server is automatically published to the MCP Registry when a new version is released. The publishing process includes:
Automated CI/CD: GitHub Actions automatically publishes to both NPM and MCP Registry on successful releases
Schema Validation: The
server.jsonfile is validated against the MCP schema before publishingVersion Synchronization: Versions are kept in sync between
package.json,manifest.json, andserver.jsonComprehensive Testing: Multi-version Node.js testing, linting, and validation before publishing
Beta Support: Automated beta releases for testing new features
Manual Validation
You can validate the MCP server configuration locally:
npm run validate-mcpThis will download the latest MCP schema and validate your server.json file.
Manual Publishing
If you need to publish manually, you can use the MCP Publisher CLI:
# Install MCP Publisher
curl -L "https://github.com/modelcontextprotocol/registry/releases/download/v1.1.0/mcp-publisher_1.1.0_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" | tar xz mcp-publisher
chmod +x mcp-publisher
sudo mv mcp-publisher /usr/local/bin/
# Login to MCP Registry
mcp-publisher login github-oidc
# Publish to MCP Registry
mcp-publisher publishSetup
Install dependencies:
npm installBuild the server:
npm run buildFor development with auto-rebuild:
npm run watchTesting
Run the test suite:
npm testThis executes unit tests for MCP tool schemas, structured tool results, note creation, search/update/delete workflows, and error handling. These tests use mocked AnkiConnect clients; use MCP Inspector with a running Anki instance for manual integration checks.
MCP Evaluations
Read-only agent evaluation assets live in evals/. Load the fixture into a disposable Anki profile, then run the XML questions against the MCP server to verify that agents can discover decks, tags, note type schemas, resources, and structured tool results.
Debugging
Since MCP servers communicate over stdio, we recommend using the MCP Inspector:
npm run inspectorThis provides a browser-based interface for:
Monitoring MCP messages
Testing tool invocations
Viewing server logs
Debugging communication issues
Example Usage
Create a new deck:
Create a new Anki deck called "Programming"Add a basic card:
Create an Anki card in the "Programming" deck with:
Front: What is a closure in JavaScript?
Back: A closure is the combination of a function and the lexical environment within which that function was declared.Add a cloze deletion card:
Create a cloze card in the "Programming" deck with:
Text: In JavaScript, {{c1::const}} declares a block-scoped variable that cannot be {{c2::reassigned}}.Delete a single note:
Delete note ID 1234567890Delete multiple notes at once:
Delete note IDs 1234567890, 9876543210, and 1122334455Add tags to notes:
Add tags "review" and "mcp" to note IDs 1234567890 and 9876543210Contributing
Fork the repository
Create your feature branch
Run tests:
npm testSubmit a pull request
Star History
Credits
Icon courtesy of macOS Icons
License
MIT License - see LICENSE file for details
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- 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/nailuoGG/anki-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server