anki-mcp-server

The anki-mcp-server is a TypeScript-based MCP server designed to integrate with Anki via the AnkiConnect plugin. It represents resources such as decks and note models using URIs and provides tools for creating and managing notes. This enhances Anki's functionality and enables efficient workflows.

GitHub Stars

71

User Rating

Not Rated

Favorites

0

Views

19

Forks

11

Issues

6

Installation
Difficulty
Intermediate
Estimated Time
10-20 minutes
Requirements
Node.js: 18.0.0以上
npm: 8.0.0以上
+1 more

Installation

Installation

Prerequisites

Please specify required software and versions:
Node.js: 18.0.0 or higher
npm: 8.0.0 or higher
Claude Desktop: Latest version

Installation Steps

1. Clone Repository

bash
git clone https://github.com/CamdenClark/anki-mcp-server
cd anki-mcp-server

2. Install Dependencies

bash
npm install

3. Configure Claude Desktop

Edit claude_desktop_config.json to add the MCP server:
json
{
  "mcpServers": {
    "anki-mcp": {
      "command": "node",
      "args": ["d:\anki-mcp-server\build\index.js"]
    }
  }
}

4. Start Server

bash
npm start

Troubleshooting

Common Issues

Issue: Server won't start Solution: Check Node.js version and reinstall dependencies. Issue: Not recognized by Claude Desktop Solution: Verify configuration file path and syntax.

Configuration

Configuration

Basic Configuration

Claude Desktop Setup

Edit ~/.config/claude-desktop/claude_desktop_config.json (macOS/Linux) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
json
{
  "mcpServers": {
    "anki-mcp": {
      "command": "node",
      "args": ["d:\anki-mcp-server\build\index.js"]
    }
  }
}

Environment Variables

Set the following environment variables as needed:
bash
export API_KEY="your-api-key"
export DEBUG="true"

Advanced Configuration

Security Settings

Store API keys in environment variables or secure configuration files
Set appropriate file access permissions
Adjust logging levels

Performance Tuning

Configure timeout values
Limit concurrent executions
Set up caching

Configuration Examples

Basic Configuration

json
{
  "mcpServers": {
    "anki-mcp": {
      "command": "node",
      "args": ["d:\anki-mcp-server\build\index.js"]
    }
  }
}

Examples

Examples

Basic Usage

Here are basic usage examples for the MCP server:

Using with Claude Desktop

1Verify MCP Server Startup
Open Claude Desktop and confirm that the configuration has been loaded correctly.
2Execute Basic Commands

   Available tools from this MCP server:
   - listDecks: Get names of all decks
   - listModels: Get names of all note models
   

Programmatic Usage

javascript
// JavaScript example (Node.js)
const { MCPClient } = require('@modelcontextprotocol/client');

const client = new MCPClient();
await client.connect();

// Execute tool
const result = await client.callTool('listDecks', {});

console.log(result);

Advanced Examples

Automation Script

bash
#!/bin/bash

Batch processing example

for file in *.txt; do mcp-tool process "$file" done

API Integration

python

Python example

import requests import json def call_mcp_tool(tool_name, params): response = requests.post( 'http://localhost:3000/mcp/call', json={ 'tool': tool_name, 'parameters': params } ) return response.json()

Usage example

result = call_mcp_tool('listDecks', {}) print(result)

Use Cases

Building an application that retrieves and displays a list of Anki decks to users.
Providing an interface for users to create new notes by retrieving note models.
Creating a batch processing script to add multiple notes at once.
Developing a tool that analyzes Anki data and outputs results in JSON format.

Additional Resources