@Lifeng688/Anki
БесплатноНе проверенMCP stdio server for controlling local Anki via AnkiConnect. Enables LLMs to manage Anki decks and notes through a standardized tool interface.
Описание
MCP stdio server for controlling local Anki via AnkiConnect. Enables LLMs to manage Anki decks and notes through a standardized tool interface.
README
MCP stdio server for controlling local Anki via AnkiConnect. Enables LLMs (Claude, Cursor, Cline) to manage Anki decks and notes through a standardized tool interface.
v0.2.0 — Controlled write operations with safe defaults (dryRun), tag management, and explicit sync confirmation.
Quick Install
npm install @lifeng688/anki-mcp
Or try it instantly:
npx @lifeng688/anki-mcp
Prerequisites
- Anki desktop installed
- AnkiConnect add-on (code
2055492159) — install via Tools → Add-ons → Get Add-ons - Node.js >= 18.0.0
Verify AnkiConnect is running:
curl -X POST http://127.0.0.1:8765 \
-H "Content-Type: application/json" \
-d '{"action":"version","version":6}'
# Expected: {"result":6,"error":null}
Core Features
- Deck management — List and create decks (including hierarchical
::decks) - Note operations — Add, search, update, delete, and inspect notes
- Tag management — Add and remove tags on notes by ID or search query
- Batch operations — Add multiple notes with per-item result tracking
- Safe note deletion — Delete notes with
dryRunpreview and explicit confirmation - Explicit sync — Trigger AnkiCloud sync with confirmation guard
- Controlled writes — All mutation tools default to
dryRun=true - Safety first —
dryRunsupport for batch writes, duplicate prevention, field validation - Unified responses — Consistent success/error envelope across all tools
- Security-focused — Localhost only, no DB access, no card content logging
Available Tools
| Tool | Description | Side Effects |
|---|---|---|
ping |
Server health check | None |
check_anki_connection |
Verify AnkiConnect reachable | None |
list_decks |
List all decks | None |
create_deck |
Create a new deck | Creates deck |
list_note_models |
List note models | None |
get_note_model_fields |
Get model fields | None |
add_note |
Add single note | Creates note |
add_notes |
Batch add notes | Creates notes |
search_notes |
Search notes | None |
get_notes_info |
Get note details | None |
update_note_fields |
Update note fields | Modifies note |
delete_notes |
Delete notes by ID or query | Deletes notes (requires confirm) |
add_tags |
Add tags to notes | Modifies note tags |
remove_tags |
Remove tags from notes | Modifies note tags |
sync_anki |
Trigger AnkiCloud sync | Triggers network sync (requires confirm) |
See Tool Schema Reference for full input/output specs.
MCP Client Configuration
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"anki": {
"command": "node",
"args": ["$(npm root)/@lifeng688/anki-mcp/dist/index.js"]
}
}
}
With environment variables:
{
"mcpServers": {
"anki": {
"command": "node",
"args": ["$(npm root)/@lifeng688/anki-mcp/dist/index.js"],
"env": {
"ANKI_CONNECT_URL": "http://127.0.0.1:8765",
"ANKI_CONNECT_VERSION": "6",
"ANKI_DEFAULT_DECK": "Default::MCP",
"ANKI_DEFAULT_MODEL": "Basic",
"ANKI_LOG_LEVEL": "warn"
}
}
}
}
Note: Replace
$(npm root)/@lifeng688/anki-mcp/dist/index.jswith the actual resolved path. You can find it with:npm root -g # or npm root
Cursor / Cline
Same JSON format — add to your MCP server configuration. Point args to the installed dist/index.js inside the @lifeng688/anki-mcp package directory.
Global Install
npm install -g @lifeng688/anki-mcp
Then configure your client to point to:
<global-npm-root>/@lifeng688/anki-mcp/dist/index.js
Environment Variables
| Variable | Default | Description |
|---|---|---|
ANKI_CONNECT_URL |
(none) | Full AnkiConnect HTTP endpoint (highest priority). Overrides HOST:PORT. |
ANKI_CONNECT_HOST |
127.0.0.1 |
Host part, used when ANKI_CONNECT_URL is not set. |
ANKI_CONNECT_PORT |
8765 |
Port part, used when ANKI_CONNECT_URL is not set. |
ANKI_CONNECT_VERSION |
6 |
AnkiConnect API version |
ANKI_CONNECT_KEY |
(empty) | AnkiConnect API key (if configured) |
ANKI_DEFAULT_DECK |
Default |
Default deck for note operations |
ANKI_DEFAULT_MODEL |
Basic |
Default note model |
ANKI_REQUEST_TIMEOUT_MS |
10000 |
HTTP request timeout in milliseconds |
ANKI_LOG_LEVEL |
info |
Log verbosity: error / warn / info / debug |
URL Resolution Priority:
ANKI_CONNECT_URL— if set, used as-is (must point to localhost)ANKI_CONNECT_HOST+ANKI_CONNECT_PORT— composed ashttp://{HOST}:{PORT}http://127.0.0.1:8765— hardcoded default
Security
- This server only connects to
http://127.0.0.1:8765(localhost) - It does not read/write Anki SQLite databases directly
- It does not upload any data externally
ANKI_CONNECT_KEYis never logged- delete_notes defaults to
dryRun=true; real deletion requiresconfirm="DELETE_NOTES" - sync_anki defaults to
dryRun=true; real sync requiresconfirm="SYNC_ANKI" - add_tags / remove_tags default to
dryRun=true - import/export are not in v0.2.0
First-Time Setup
- Create a
Test::MCPdeck before making real changes - Run
pingandcheck_anki_connectionto verify connectivity - Use
add_noteswithdryRun: trueto preview before writing - Before deleting notes, always run
delete_noteswithdryRun: truefirst - Before batch tag operations, run
add_tags/remove_tagswithdryRun: truefirst - sync_anki requires explicit
confirm="SYNC_ANKI"for real sync - Never expose port 8765 to the network
Documentation
- Installation & Configuration — Full setup guide
- Tool Schema Reference — All tools: input/output/examples/errors
- Roadmap — Feature progression plan (v0.1 → v0.6)
- Security Guide — Boundaries, risks, safety policies
- Conversation Quality Guide — How LLMs should create cards
- Testing Guide — How to run the test suite
License
MIT — See LICENSE for details.
Установка @Lifeng688/Anki
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/guanweiqiang/anki-mcpFAQ
@Lifeng688/Anki MCP бесплатный?
Да, @Lifeng688/Anki MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для @Lifeng688/Anki?
Нет, @Lifeng688/Anki работает без API-ключей и переменных окружения.
@Lifeng688/Anki — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить @Lifeng688/Anki в Claude Desktop, Claude Code или Cursor?
Открой @Lifeng688/Anki на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare @Lifeng688/Anki with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
