Anki MCP Server
Connect to Anki and retrieve leech-tagged cards for analysis. Enhance your study sessions by tracking reviewed cards with date-stamped tags. Integrate seamlessly with Claude Desktop for a smarter learning experience.
Installation
Installing for Claude Desktop
Option 1: One-Command Installation
npx mcpbar@latest install captain-blue210/anki-mcp-server -c claudeThis command will automatically install and configure the Anki MCP Server MCP server for your selected client.
Option 2: Manual Configuration
Run the command below to open your configuration file:
npx mcpbar@latest edit -c claudeAfter opening your configuration file, copy and paste this configuration:
View JSON configuration
{
"mcpServers": {
"Anki MCP Server": {
"command": "node",
"args": [
"path/to/anki-mcp-server/dist/index.js"
]
}
}
}Anki MCP Server
An MCP (Model Context Protocol) server for Claude Desktop that connects to Anki via AnkiConnect and retrieves leech-tagged cards.
Features
- Connects to Anki via AnkiConnect API
- Retrieves cards with "leech" tags
- Adds date-stamped review tags to cards
- Provides comprehensive card data for analysis by Claude
- Can be used with Claude Desktop
Prerequisites
- Anki installed and running
- AnkiConnect add-on installed in Anki
- Node.js and npm
Installation
-
Clone this repository:
git clone https://github.com/yourusername/anki-mcp-server.git cd anki-mcp-server -
Install dependencies:
npm install -
Build the project:
npm run build
Configuration
The server can be configured using environment variables. Copy the provided example file to create your own configuration:
cp .env.example .env
Then edit the .env file to customize your settings:
| Environment Variable | Description | Default Value |
|---|---|---|
ANKI_CONNECT_URL | The URL of the Anki Connect API | http://localhost:8765 |
ANKI_CONNECT_VERSION | The version of the Anki Connect API to use | 6 |
ANKI_MOCK_MODE | Enable mock mode for testing (true/false) | false |
If the environment variables are not set, the server will use the default values.
Finding Your Local IP Address for AnkiConnect
If connecting to localhost doesn't work, you'll need to use your computer's local IP address instead. Configure your .env file with:
ANKI_CONNECT_URL=http://YOUR_LOCAL_IP:8765
To find your local IP address:
- macOS: Open Terminal and run
ifconfigoripconfig getifaddr en0(for WiFi) - Windows: Open Command Prompt and run
ipconfig - Linux: Open Terminal and run
ip addr showorhostname -I
Look for IPv4 addresses like 192.168.x.x or 10.x.x.x in the output.
Test Configuration
For testing, a separate configuration file .env.test is provided:
cp .env.example .env.test
Edit .env.test to set test-specific values:
ANKI_CONNECT_URL=http://localhost:8765
ANKI_CONNECT_VERSION=6
ANKI_MOCK_MODE=true
To run in test mode:
npm run start:test
Usage
- Make sure Anki is running with AnkiConnect installed
- Run the MCP server:
npm start
Configuring Claude Desktop
To use this MCP server with Claude Desktop:
-
Open Claude Desktop
-
Edit the Claude Desktop configuration file located at:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
-
Add the following configuration to the
mcpServerssection:
{
"mcpServers": {
"anki": {
"command": "node",
"args": ["path/to/anki-mcp-server/dist/index.js"]
}
}
}
Replace "path/to/anki-mcp-server" with the actual path to where you cloned this repository.
MCP Tool Usage
Once configured, you can use the following tools in Claude:
Example Usage
Could you analyze my Anki leech cards and suggest ways to improve my study?
Claude will use the MCP server to retrieve your leech cards and analyze them.
Available Tools
get_leech_cards
Retrieves cards tagged as leeches from Anki.
Parameters:
detailed(optional, boolean, default: true): Whether to return comprehensive card data or just IDscount(optional, number): Number of random cards to return (defaults to all cards)
tag_reviewed_cards
Adds a date-stamped "reviewed" tag to specified cards. This allows you to track which cards you've reviewed with Claude.
Parameters:
card_ids(required, array of numbers): Array of card IDs to tag as reviewedcustom_tag_prefix(optional, string, default: "見直し"): Custom prefix for the tag
The tag will be in the format 見直し::YYYYMMDD (or your custom prefix if specified).
Example usage in Claude:
I've reviewed these cards, please tag them as reviewed: [1234567890, 1234567891]
Troubleshooting
- "Could not connect to Anki" - Make sure Anki is running and AnkiConnect is properly installed
- "No leech cards found" - You don't have any cards tagged as "leech" in Anki
- Connection issues with localhost - If you're unable to connect using
localhost:- Find your local IP address as described in the Configuration section
- Update your
.envfile to useANKI_CONNECT_URL=http://YOUR_LOCAL_IP:8765 - Make sure AnkiConnect is configured to allow connections from your IP address
- Restart the MCP server after making these changes
- Tag not appearing - Make sure you're providing valid card IDs to the
tag_reviewed_cardstool
Testing Mode
For testing without affecting actual Anki data, you can use the mock mode:
- Set
ANKI_MOCK_MODE=truein your.envfile or use the provided.env.testfile - Run the server with
npm run start:test
In mock mode, the server will simulate all Anki operations without actually connecting to Anki. This is useful for testing Claude integrations without risking data changes.
Development
To run the server in development mode with hot reloading:
npm run dev
For development with mock mode enabled:
npm run dev:test
License
MIT
Stars
0Forks
2Last commit
7 months agoRepository age
8 monthsLicense
MIT
Auto-fetched from GitHub .
MCP servers similar to Anki MCP Server:
Stars
Forks
Last commit
Stars
Forks
Last commit
Stars
Forks
Last commit