yanki-mcp-server
An MCP server that connects to Anki for card review and creation, featuring automatic date-based organization of new cards.
README
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:currentin Anki
- anki://search/isdue
- Returns cards in review and learning waiting to be studied
- Equivalent of
is:duein Anki
- anki://search/isnew
- Returns all unseen cards
- Equivalent of
is:newin 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 withcardId(number) andease(number) fields
-
add_card
- Creates a new card in a date-structured deck (format:
DECK::YYYY::MM::DD) - Inputs:
front(string): Front of cardback(string): Back of card
- Creates a new card in a date-structured deck (format:
-
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:
DECKis the base deck name (default: "00_Inbox" or configured via environment variable)YYYYis the 4-digit yearMMis the 2-digit monthDDis the 2-digit day
Benefits of Date-Based Organization
- Effortless Organization: Cards are automatically organized by creation date without manual categorization
- Temporal Context: Review cards created during specific time periods (e.g., during a course or project)
- Natural Spaced Repetition: Cards naturally group by when you learned concepts
- Time-Efficient: No need to spend time deciding which category each card belongs to
- 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
logsdirectory with date-based filenames - Ensured clean stdout communication for proper MCP JSON-RPC protocol compliance
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.