A server to integrate with Anki via the AnkiConnect plugin
This is a TypeScript-based MCP server that integrates with Anki via the AnkiConnect plugin. It demonstrates core MCP concepts by providing:
- Resources representing Anki decks and note models with URIs
- Tools for creating and managing Anki notes
- Integration with AnkiConnect API
- List and access Anki decks via
anki://decks/{id}
URIs - List and access note models via
anki://models/{id}
URIs - JSON representation of Anki objects
listDecks
- Get names of all deckslistModels
- Get names of all note modelsgetModel
- Get details of a specific note modeladdNote
- Create a single note- Specify deck name, model name, fields and tags
addNotes
- Create multiple notes in bulk- Create many notes with specified parameters
Install dependencies:
npm install
Build the server:
npm run build
For development with auto-rebuild:
npm run watch
To use with Claude Desktop, add the server config:
On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"anki-mcp": {
"command": "/path/to/anki-mcp/build/index.js"
}
}
}
Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector, which is available as a package script:
npm run inspector
The Inspector will provide a URL to access debugging tools in your browser.