Skip to main content
Glama

アンキ-MCP

鍛冶屋のバッジ

Anki用のMCPサーバー。このサーバーは、Model Context Protocol(MCP)を介してAnkiとのやり取りを可能にします。これにより、ユーザーはフラッシュカード、デッキ、復習プロセスをプログラムで管理できます。

前提条件

  • Node.js と npm がインストールされています。

  • AnkiConnect プラグインが Anki にインストールされ、実行されています。

Related MCP server: Anki MCP Server

セットアップと実行

Anki Connectはローカルでのみ動作するため、ローカルで実行することを強くお勧めします。

ローカルで実行するには:

  1. リポジトリをクローンします。

    git clone https://github.com/nietus/anki-mcp
  2. 依存関係をインストールします:

    npm install
  3. プロジェクトをビルドします。package.json package.jsonprepareスクリプトは、インストール時に自動的にビルドを実行します。手動でビルドする必要がある場合は、以下の手順に従ってください。

    npm run build

    このコマンドは TypeScript コードをコンパイルし、クライアント スクリプトを実行可能にします。

  4. Windowsのカーソル設定と統合

    "anki": { "command": "cmd", "args": [ "/c", "node", "c:/Users/-/Downloads/anki-mcp/build/client.js" ] }

利用可能なツール

ツールをデバッグするには、

npm run inspector

サーバーは、Anki と対話するための次のツールを提供します。

  • update_cards :

    • 説明: ユーザーがクイズのカードに回答した後、このツールを使用して回答済みとしてマークし、難易度を更新します。

    • 入力: それぞれcardId (数値) とease (数値、1 ~ 4) を持つ回答の配列。

  • add_card :

    • 説明: Ankiで新しいフラッシュカードを作成します。注記の内容はHTMLを使用します。

      • 改行: <br>

      • コード: <pre style="background-color: transparent; padding: 10px; border-radius: 5px;">

      • リスト: <ol><li>

      • 太字: <strong>

      • 斜体: <em>

    • 入力:

      • fields : (オブジェクト) キーがフィールド名 (例: "Hanzi"、"Pinyin") で、値が HTML コンテンツであるオブジェクト。

      • modelName : (文字列) 使用する Anki ノートタイプ (モデル) の名前。

      • deckName : (オプションの文字列) カードを追加するデッキの名前。デフォルトは現在のデッキまたは「Default」です。

      • tags : (オプションの文字列配列) メモに追加するタグのリスト。

  • get_due_cards :

    • 説明: レビューが必要なカードの指定数を返します。

    • 入力: num (数値)。

  • get_new_cards :

    • 説明: 指定された数の新しい未表示のカードを返します。

    • 入力: num (数値)。

  • get-deck-names :

    • 説明: すべての Anki デッキ名のリストを取得します。

    • 入力: なし。

  • find-cards :

    • 説明: Ankiの検索クエリを使用してカードを検索します。フィールドを含む詳細なカード情報を返します。

    • 入力: query (文字列、例: 'deck:Default -tag:test' 、または'"deck:My Deck" tag:important' )。空のフィールドをフィルタリングするには、 '-FieldName:_*' (例: '-Hanzi:_*' )を使用します。

  • update-note-fields :

    • 説明: 指定された Anki ノートの特定のフィールドを更新します。

    • 入力: noteId (数値)、 fields (オブジェクト、例: {"Front": "New Q", "Back": "New A"} )。

  • create_deck :

    • 説明: 新しい Anki デッキを作成します。

    • 入力: deckName (文字列)。

  • bulk_update_notes :

    • 説明: 複数の Anki ノートの特定のフィールドを更新します。

    • 入力: notesの配列。各ノートにはnoteId (数値) とfields (オブジェクト) があります。

  • get_model_names :

    • 説明: 使用可能なすべての Anki ノート タイプ/モデル名を一覧表示します。

    • 入力: なし。

  • get_model_details :

    • 説明: 指定されたメモ タイプのフィールド、カード テンプレート、および CSS スタイルを取得します。

    • 入力: modelName (文字列)。

  • get_deck_model_info :

    • 説明: 指定されたデッキ内で使用されているノートタイプ(モデル)に関する情報を取得します。使用されているモデルが1つだけか複数か、あるいはデッキが空か存在しないかを判断するのに役立ちます。

    • 入力: deckName (文字列)。

    • 出力: deckNamestatus (例: "single_model_found"、"multiple_models_found"、"no_notes_found"、"deck_not_found")、および条件付きでmodelName (文字列) またはmodelNames (文字列の配列) を持つオブジェクト。

  • add_note_type_field :

    • 説明: メモ タイプに新しいフィールドを追加します。

    • 入力: modelName (文字列)、 fieldName (文字列)。

  • remove_note_type_field :

    • 説明: ノート タイプから既存のフィールドを削除します。

    • 入力: modelName (文字列)、 fieldName (文字列)。

  • rename_note_type_field :

    • 説明: ノート タイプのフィールドの名前を変更します。

    • 入力: modelName (文字列)、 oldFieldName (文字列)、 newFieldName (文字列)。

  • reposition_note_type_field :

    • 説明: ノート タイプ内のフィールドの順序 (インデックス) を変更します。

    • 入力: modelName (文字列)、 fieldName (文字列)、 index (数値)。

  • update_note_type_templates :

    • 説明: ノート タイプのカードの HTML テンプレート (前面と背面など) を更新します。

    • 入力: modelName (文字列)、 templates (オブジェクト、例: {"Card 1": {"Front": "html", "Back": "html"}} )。

  • update_note_type_styling :

    • 説明: ノートタイプの CSS スタイルを更新します。

    • 入力: modelName (文字列)、 css (文字列)。

  • create_model :

    • 説明: 新しい Anki ノート タイプ (モデル) を作成します。

    • 入力: modelName (文字列)、 fieldNames (文字列の配列)、 cardTemplates (オブジェクトの配列、それぞれNameFrontBack HTML 文字列を持つ)、 css (オプションの文字列)、 isCloze (オプションのブール値、デフォルトは false)、 modelType (オプションの文字列、デフォルトは 'Standard')。

  • add_bulk :

    • 説明: 複数のフラッシュカードを1回の操作でAnkiに追加します。ノートの内容はHTMLを使用します。このツールは、複数のノート(カード)を一度に追加するためのものです。

    • 入力: notesの配列。各ノート オブジェクトには次の内容が含まれます。

      • fields : (オブジェクト) キーがフィールド名で、値が HTML コンテンツであるオブジェクト。

      • modelName : (文字列) このノートに使用する Anki ノート タイプ (モデル) の名前。

      • deckName : (オプションの文字列) このノートのデッキ名。デフォルトは「Default」です。

      • tags : (オプションの文字列配列) このメモのタグのリスト。

詳細については、Anki 統合 | Smithery をご覧ください。

One-click Deploy
A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

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/nietus/anki-mcp'

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