npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@murphylo/anki-mcp-server

v0.1.8

Published

A Model Context Protocol (MCP) server that enables LLMs to interact with Anki flashcard software through AnkiConnect (with custom features)

Downloads

18

Readme

Anki MCP Server (with Sync Support)

A Model Context Protocol (MCP) server that enables LLMs to interact with Anki flashcard software through AnkiConnect (with custom features).

Anki Icon

Features

Tools

  • list_decks - List all available Anki decks
  • create_deck - Create a new Anki deck
  • create_note - Create a new note (Basic or Cloze)
  • batch_create_notes - Create multiple notes at once
  • search_notes - Search for notes using Anki query syntax
  • get_note_info - Get detailed information about a note
  • update_note - Update an existing note
  • delete_note - Delete a note
  • list_note_types - List all available note types
  • create_note_type - Create a new note type
  • get_note_type_info - Get detailed structure of a note type
  • sync - NEW! Synchronize Anki collection with AnkiWeb server (useful for headless Anki deployments or programmatic workflows)

Resources

  • anki://decks/all - Complete list of available decks
  • anki://note-types/all - List of all available note types
  • anki://note-types/all-with-schemas - Detailed structure information for all note types
  • anki://note-types/{modelName} - Detailed structure information for a specific note type

Prerequisites

  1. Anki installed on your system
  2. AnkiConnect add-on installed in Anki

Configuration

Usage with Claude Desktop

Add the server to your claude_desktop_config.json:

{
  "mcpServers": {
    "anki": {
      "command": "npx",
      "args": ["--yes","@murphylo/anki-mcp-server"]
    }
  }
}

Configuration for Cline

Add the server to your Cline MCP settings file inside VSCode's settings cline_mcp_settings.json

{
  "mcpServers": {
    "anki": {
      "command": "npx",
      "args": ["--yes","@murphylo/anki-mcp-server"]
    }
  }
}

Development

Setup

  1. Install dependencies:
npm install
  1. Build the server:
npm run build
  1. For development with auto-rebuild:
npm run watch

Testing

Run the test suite:

npm test

This executes tests for:

  • Server initialization
  • AnkiConnect communication
  • Note operations (create/read/update/delete)
  • Deck management
  • Error handling

Debugging

Since MCP servers communicate over stdio, we recommend using the MCP Inspector:

npm run inspector

This provides a browser-based interface for:

  • Monitoring MCP messages
  • Testing tool invocations
  • Viewing server logs
  • Debugging communication issues

Example Usage

  1. Create a new deck:
Create a new Anki deck called "Programming"
  1. Add a basic card:
Create an Anki card in the "Programming" deck with:
Front: What is a closure in JavaScript?
Back: A closure is the combination of a function and the lexical environment within which that function was declared.
  1. Add a cloze deletion card:
Create a cloze card in the "Programming" deck with:
Text: In JavaScript, {{c1::const}} declares a block-scoped variable that cannot be {{c2::reassigned}}.
  1. Sync your collection with AnkiWeb:
Please sync my Anki collection with AnkiWeb

Contributing

  1. Fork the repository
  2. Create your feature branch
  3. Run tests: npm test
  4. Submit a pull request

Credits

Icon courtesy of macOS Icons

License

MIT License - see LICENSE file for details