Skip to content

stefanwille/anki-mcp-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Anki MCP Server

npm

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

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

About

MCP server for Anki flashcards app

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors