AgentStack
MCP verified MIT Self-run

Yanki Mcp Server

mcp-htlin222-yanki-mcp-server · by htlin222

MCP server for Anki spaced repetition with Claude AI integration, date-based deck organization, and card review/creation tools.

No reviews yet
0 installs
0 views
view→install

Install

$ agentstack add mcp-htlin222-yanki-mcp-server

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Yanki Mcp Server? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

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
  • getduecards
  • Returns n number of cards currently due for review
  • Inputs:
  • num (number): Number of cards
  • getnewcards
  • 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

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.