Stefanwille Anki MCP Server
Anki MCP server for flashcard management
Ask AI about Stefanwille Anki MCP Server
Powered by Claude · Grounded in docs
I know everything about Stefanwille Anki MCP Server. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
Anki MCP Server
A Model Context Protocol (MCP) server for managing Anki flashcards. Connects to AnkiConnect to enable AI assistants to create, read, and update flashcards.
Prerequisites
- Anki with AnkiConnect add-on installed
- Node.js 24+ (Download)
- Anki running, with AnkiConnect on
http://127.0.0.1:8765(default)
Installation in Claude Desktop
- Open Claude Desktop
- Go to: "Claude" / "Settings..."
- Tab "Developer"
- Click "Edit Config"
Edit your Claude Desktop config (claude_desktop_config.json), and add:
{
"mcpServers": {
"anki": {
"command": "npx",
"args": ["-y", "stefanwille-anki-mcp-server@latest"]
}
}
}
Restart Claude Desktop to activate.
Troubleshooting
"Failed to spawn process" / "command not found: npx" on macOS
Claude Desktop launches with a restricted PATH that doesn't include Node.js when installed via version managers like Volta or nvm. You'll see errors like:
Failed to spawn process: No such file or directory
or
node: command not found
Fix: Use the full path to npx and add the Node.js bin directory explicitly via env:
{
"mcpServers": {
"anki": {
"command": "/Users/YOUR_USERNAME/.volta/bin/npx",
"args": ["-y", "stefanwille-anki-mcp-server@latest"],
"env": {
"PATH": "/Users/YOUR_USERNAME/.volta/bin:/usr/local/bin:/usr/bin:/bin"
}
}
}
}
Replace YOUR_USERNAME with your macOS username and adjust the path if you use nvm (~/.nvm/versions/node/vX.X.X/bin/) or another version manager.
Find your actual npx path by running in a terminal:
which npx
Example Prompts
- "What decks do I have in Anki?"
- "Show the cards in my Spanish vocabulary deck"
- "Check all cards in deck 'Italiano::Capitulo 3' for grammatical errors and correct them"
- "Create a card in my Italian deck with 'ciao' on the front and 'hello' on the back"
- "Extract the vocabulary from the photo and add it to my Italian deck with Italian on the front and German on the back: ..."
- "Create a new deck called 'Physics::Quantum Mechanics'"
- "Rename my 'Math' deck to 'Mathematics'"
- "Give me an exercise that requires me to use the Italian words in the deck 'Italienisch::Capitulo 6::Italienisch 38 - 2025-08-01'"
Tools
| Tool | Description |
|---|---|
get_decks | Get all deck names from Anki |
create_deck | Create a new deck |
delete_deck | Delete a deck and all its cards (including sub-decks) |
list_cards | List cards in a deck with front/back content |
create_cards | Create one or more basic cards in a deck |
update_card | Update an existing card's content |
rename_deck | Rename a deck |
Development
Prerequisites
- Node.js 24+
- pnpm (Installation)
Build from Source
git clone https://github.com/stefanwille/anki-mcp-server.git
cd anki-mcp-server
pnpm install
pnpm build
Watch Mode
pnpm watch
Rebuilds automatically on file changes.
Install Locally
Update Claude Desktop config to point directly to the built file:
{
"mcpServers": {
"anki": {
"command": "node",
"args": ["/absolute/path/to/anki-mcp-server/dist/index.js"]
}
}
}
Replace /absolute/path/to/anki-mcp-server with your actual clone location.
Publish to npm
Create a GitHub release to trigger the npm publish workflow:
pnpm login
# If pnpm login produces a 404 page, try pnpm login again
pnpm version patch # or minor, major
git push && git push --tags
gh release create v$(node -p "require('./package.json').version") --generate-notes
This triggers the GitHub Actions workflow that publishes to npm automatically using trusted publishing (OIDC), not access tokens.
License
MIT
