Skip to main content
Glama

@lifeng688/anki-mcp

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.1.0 — Initial MVP release. Safety-first, read-heavy toolset with dryRun support for writes.

Quick Install

npm install @lifeng688/anki-mcp

Or try it instantly:

npx @lifeng688/anki-mcp

Related MCP server: Anki MCP Server

Prerequisites

  1. Anki desktop installed

  2. AnkiConnect add-on (code 2055492159) — install via Tools → Add-ons → Get Add-ons

  3. 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, and inspect notes

  • Batch operations — Add multiple notes with per-item result tracking

  • Safety firstdryRun support 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

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.js with 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:

  1. ANKI_CONNECT_URL — if set, used as-is (must point to localhost)

  2. ANKI_CONNECT_HOST + ANKI_CONNECT_PORT — composed as http://{HOST}:{PORT}

  3. 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_KEY is never logged

  • Dangerous operations (delete, sync, import, export) are not in v0.1.0

First-Time Setup

  1. Create a Test::MCP deck before making real changes

  2. Run ping and check_anki_connection to verify connectivity

  3. Use add_notes with dryRun: true to preview before writing

  4. Never expose port 8765 to the network

Documentation

License

MIT — See LICENSE for details.

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/guanweiqiang/anki-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server