Yanki MCP Server ( Yet Another Anki MCP Server )

by htlin222

250 downloads
Not rated
GitHub

About

An MCP server implementation that connects to a locally running Anki, providing card review and creation. This is a fork of [scorzeth/anki-mcp-server](

Details

Author
htlin222
Downloads
250
Categories
Other

- Connects to a locally running Anki via Anki-Connect
- Provides resources for searching current deck, due cards, and new cards
- Tools to add cards with date‑structured deck names (DECK::YYYY::MM::DD)
- Tools to update cards with ease scores (1 = Again, 4 = Easy)
- Tools to retrieve due or new cards by count
- Zero configuration when using default deck; fully customizable via DECK env var

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Yanki MCP Server ( Yet Another Anki MCP Server )
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Run without installation via npx yanki-mcp-server or install globally with npm install -g yanki-mcp-server and run yanki-server. To use with Claude Desktop, add a configuration entry pointing to the server and optionally set the DECK environment variable to change the base deck name (default: "00_Inbox"). All communication happens over MCP stdio.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "yanki mcp server ( yet another anki mcp server )": {
            "yanki-mcp-server": {
                "command": "npx",
                "args": [
                    "yanki-mcp-server"
                ]
            }
        }
    }
}

McpServers

{
    "yanki-mcp-server": {
        "command": "npx",
        "args": [
            "yanki-mcp-server"
        ]
    }
}

Yanki MCP Server ( Yet Another Anki MCP Server )

A Model Context Protocol server implementation that connects to a locally running Anki, providing card review and creation. This is a fork of scorzeth/anki-mcp-server with date-based organization features.

Available as an npm package: yanki-mcp-server

This server is designed to work with the Anki desktop app and the Anki-Connect add-on.

Make sure you have the add-on installed before using.

Resources

- anki://search/deckcurrent - Returns all cards from current deck - Equivalent of deck:current in Anki - anki://search/isdue - Returns cards in review and learning waiting to be studied - Equivalent of is:due in Anki - anki://search/isnew - Returns all unseen cards - Equivalent of is:new in Anki

Tools

- update_cards - Marks cards with given card IDs as answered and gives them an ease score between 1 (Again) and 4 (Easy) - Inputs: - answers (array): Array of objects with cardId (number) and ease (number) fields

- add_card
- Creates a new card in a date-structured deck (format: DECK::YYYY::MM::DD)
- Inputs:
- front (string): Front of card
- back (string): Back of card

- get_due_cards
- Returns n number of cards currently due for review
- Inputs:
- num (number): Number of cards

- get_new_cards
- Returns n number of cards from new
- Inputs:
- num (number): Number of cards

Installation & Usage

You can use this package without installation via npx:

npx yanki-mcp-server

Or install it globally:

npm install -g yanki-mcp-server
yanki-server

Development

Clone the repository and install dependencies:

git clone https://github.com/htlin222/yanki-mcp-server.git
cd yanki-mcp-server
npm install

Build the server:

npm run build

For development with auto-rebuild:

npm run watch

Run the server directly during development:

npm run dev

Configuration

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": {
    "yanki-mcp-server": {
      "command": "npx",
      "args": ["yanki-mcp-server"],
      "env": {
        "DECK": "Default"
      }
    }
  }
}

Debugging

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.

Date-Based Card Organization

This server automatically organizes new cards using a date-based structure instead of traditional topic-based organization. When you create a new card, it's added to a deck with the following format:

DECK::YYYY::MM::DD

Where:
- DECK is the base deck name (default: "00_Inbox" or configured via environment variable)
- YYYY is the 4-digit year
- MM is the 2-digit month
- DD is the 2-digit day

Benefits of Date-Based Organization

1. Effortless Organization: Cards are automatically organized by creation date without manual categorization
2. Temporal Context: Review cards created during specific time periods (e.g., during a course or project)
3. Natural Spaced Repetition: Cards naturally group by when you learned concepts
4. Time-Efficient: No need to spend time deciding which category each card belongs to
5. Historical Record: See your learning journey over time

Configuration

You can customize the base deck name by setting the DECK environment variable in your MCP server configuration:

"env": {
  "DECK": "YourCustomDeckName"
}

If not specified, it defaults to "00_Inbox".

Changelog

1.0.5 (2025-05-31)

- Completely removed all console output and logging functionality - Simplified codebase by eliminating all non-essential output - Ensured 100% clean MCP protocol communication with no extraneous output - Removed all filesystem operations related to logging

1.0.4 (2025-05-31)

- Fixed critical issue with logs directory path being created at filesystem root - Improved logging system with robust error handling and fallback mechanisms - Ensured logs are always created relative to the current working directory - Added silent failure for logging to prevent breaking MCP protocol if logging fails

1.0.3 (2025-05-31)

- Fixed MCP communication protocol issue by redirecting all console output to log files - Added file-based logging system that preserves all debug and status information - Logs are stored in the logs directory with date-based filenames - Ensured clean stdout communication for proper MCP JSON-RPC protocol compliance
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.