@ankimcp/anki-mcp-server 0.15.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/LICENSE +659 -5
  2. package/README.md +64 -12
  3. package/dist/app.module.js +3 -0
  4. package/dist/app.module.js.map +1 -1
  5. package/dist/mcp/mcp-icons.d.ts +2 -0
  6. package/dist/mcp/mcp-icons.js +11 -0
  7. package/dist/mcp/mcp-icons.js.map +1 -0
  8. package/dist/mcp/primitives/essential/index.d.ts +25 -7
  9. package/dist/mcp/primitives/essential/index.js +49 -13
  10. package/dist/mcp/primitives/essential/index.js.map +1 -1
  11. package/dist/mcp/primitives/essential/prompts/twenty-rules.prompt/content.md +2 -2
  12. package/dist/mcp/primitives/essential/tools/add-note.tool.d.ts +2 -1
  13. package/dist/mcp/primitives/essential/tools/add-note.tool.js +2 -0
  14. package/dist/mcp/primitives/essential/tools/add-note.tool.js.map +1 -1
  15. package/dist/mcp/primitives/essential/tools/add-notes.tool.d.ts +2 -1
  16. package/dist/mcp/primitives/essential/tools/add-notes.tool.js +2 -0
  17. package/dist/mcp/primitives/essential/tools/add-notes.tool.js.map +1 -1
  18. package/dist/mcp/primitives/essential/tools/{tagActions/tagActions.tool.d.ts → add-tags.tool.d.ts} +6 -9
  19. package/dist/mcp/primitives/essential/tools/add-tags.tool.js +85 -0
  20. package/dist/mcp/primitives/essential/tools/add-tags.tool.js.map +1 -0
  21. package/dist/mcp/primitives/essential/tools/change-deck.tool.d.ts +107 -0
  22. package/dist/mcp/primitives/essential/tools/change-deck.tool.js +79 -0
  23. package/dist/mcp/primitives/essential/tools/change-deck.tool.js.map +1 -0
  24. package/dist/mcp/primitives/essential/tools/clear-unused-tags.tool.d.ts +104 -0
  25. package/dist/mcp/primitives/essential/tools/clear-unused-tags.tool.js +68 -0
  26. package/dist/mcp/primitives/essential/tools/clear-unused-tags.tool.js.map +1 -0
  27. package/dist/mcp/primitives/essential/tools/collection-stats/collection-stats.tool.d.ts +2 -1
  28. package/dist/mcp/primitives/essential/tools/collection-stats/collection-stats.tool.js +6 -2
  29. package/dist/mcp/primitives/essential/tools/collection-stats/collection-stats.tool.js.map +1 -1
  30. package/dist/mcp/primitives/essential/tools/collection-stats/collection-stats.types.d.ts +1 -1
  31. package/dist/mcp/primitives/essential/tools/create-deck.tool.d.ts +106 -0
  32. package/dist/mcp/primitives/essential/tools/create-deck.tool.js +78 -0
  33. package/dist/mcp/primitives/essential/tools/create-deck.tool.js.map +1 -0
  34. package/dist/mcp/primitives/essential/tools/create-model.tool.d.ts +3 -2
  35. package/dist/mcp/primitives/essential/tools/create-model.tool.js +2 -0
  36. package/dist/mcp/primitives/essential/tools/create-model.tool.js.map +1 -1
  37. package/dist/mcp/primitives/essential/tools/{deckActions/deckActions.tool.d.ts → deck-stats.tool.d.ts} +5 -12
  38. package/dist/mcp/primitives/essential/tools/deck-stats.tool.js +108 -0
  39. package/dist/mcp/primitives/essential/tools/deck-stats.tool.js.map +1 -0
  40. package/dist/mcp/primitives/essential/tools/deckActions/actions/changeDeck.action.d.ts +1 -1
  41. package/dist/mcp/primitives/essential/tools/deckActions/actions/createDeck.action.d.ts +1 -1
  42. package/dist/mcp/primitives/essential/tools/deckActions/actions/deckStats.action.d.ts +2 -2
  43. package/dist/mcp/primitives/essential/tools/deckActions/actions/listDecks.action.d.ts +2 -2
  44. package/dist/mcp/primitives/essential/tools/delete-media-file.tool.d.ts +106 -0
  45. package/dist/mcp/primitives/essential/tools/delete-media-file.tool.js +73 -0
  46. package/dist/mcp/primitives/essential/tools/delete-media-file.tool.js.map +1 -0
  47. package/dist/mcp/primitives/essential/tools/delete-notes.tool.d.ts +2 -1
  48. package/dist/mcp/primitives/essential/tools/delete-notes.tool.js +2 -1
  49. package/dist/mcp/primitives/essential/tools/delete-notes.tool.js.map +1 -1
  50. package/dist/mcp/primitives/essential/tools/find-notes.tool.d.ts +2 -1
  51. package/dist/mcp/primitives/essential/tools/find-notes.tool.js +2 -0
  52. package/dist/mcp/primitives/essential/tools/find-notes.tool.js.map +1 -1
  53. package/dist/mcp/primitives/essential/tools/get-cards.tool.d.ts +3 -2
  54. package/dist/mcp/primitives/essential/tools/get-cards.tool.js +2 -0
  55. package/dist/mcp/primitives/essential/tools/get-cards.tool.js.map +1 -1
  56. package/dist/mcp/primitives/essential/tools/get-due-cards.tool.d.ts +3 -2
  57. package/dist/mcp/primitives/essential/tools/get-due-cards.tool.js +2 -0
  58. package/dist/mcp/primitives/essential/tools/get-due-cards.tool.js.map +1 -1
  59. package/dist/mcp/primitives/essential/tools/get-media-files-names.tool.d.ts +106 -0
  60. package/dist/mcp/primitives/essential/tools/get-media-files-names.tool.js +76 -0
  61. package/dist/mcp/primitives/essential/tools/get-media-files-names.tool.js.map +1 -0
  62. package/dist/mcp/primitives/essential/tools/get-tags.tool.d.ts +2 -1
  63. package/dist/mcp/primitives/essential/tools/get-tags.tool.js +2 -0
  64. package/dist/mcp/primitives/essential/tools/get-tags.tool.js.map +1 -1
  65. package/dist/mcp/primitives/essential/tools/list-decks.tool.d.ts +106 -0
  66. package/dist/mcp/primitives/essential/tools/list-decks.tool.js +96 -0
  67. package/dist/mcp/primitives/essential/tools/list-decks.tool.js.map +1 -0
  68. package/dist/mcp/primitives/essential/tools/mediaActions/actions/deleteMediaFile.action.d.ts +1 -1
  69. package/dist/mcp/primitives/essential/tools/mediaActions/actions/deleteMediaFile.action.js +3 -2
  70. package/dist/mcp/primitives/essential/tools/mediaActions/actions/deleteMediaFile.action.js.map +1 -1
  71. package/dist/mcp/primitives/essential/tools/mediaActions/actions/getMediaFilesNames.action.d.ts +1 -1
  72. package/dist/mcp/primitives/essential/tools/mediaActions/actions/retrieveMediaFile.action.d.ts +1 -1
  73. package/dist/mcp/primitives/essential/tools/mediaActions/actions/retrieveMediaFile.action.js +3 -2
  74. package/dist/mcp/primitives/essential/tools/mediaActions/actions/retrieveMediaFile.action.js.map +1 -1
  75. package/dist/mcp/primitives/essential/tools/mediaActions/actions/storeMediaFile.action.d.ts +1 -1
  76. package/dist/mcp/primitives/essential/tools/mediaActions/actions/storeMediaFile.action.js +18 -4
  77. package/dist/mcp/primitives/essential/tools/mediaActions/actions/storeMediaFile.action.js.map +1 -1
  78. package/dist/mcp/primitives/essential/tools/model-field-names.tool.d.ts +2 -1
  79. package/dist/mcp/primitives/essential/tools/model-field-names.tool.js +2 -0
  80. package/dist/mcp/primitives/essential/tools/model-field-names.tool.js.map +1 -1
  81. package/dist/mcp/primitives/essential/tools/model-names.tool.d.ts +2 -1
  82. package/dist/mcp/primitives/essential/tools/model-names.tool.js +2 -0
  83. package/dist/mcp/primitives/essential/tools/model-names.tool.js.map +1 -1
  84. package/dist/mcp/primitives/essential/tools/model-styling.tool.d.ts +2 -1
  85. package/dist/mcp/primitives/essential/tools/model-styling.tool.js +2 -0
  86. package/dist/mcp/primitives/essential/tools/model-styling.tool.js.map +1 -1
  87. package/dist/mcp/primitives/essential/tools/notes-info.tool.d.ts +3 -2
  88. package/dist/mcp/primitives/essential/tools/notes-info.tool.js +2 -0
  89. package/dist/mcp/primitives/essential/tools/notes-info.tool.js.map +1 -1
  90. package/dist/mcp/primitives/essential/tools/present-card.tool.d.ts +3 -2
  91. package/dist/mcp/primitives/essential/tools/present-card.tool.js +2 -0
  92. package/dist/mcp/primitives/essential/tools/present-card.tool.js.map +1 -1
  93. package/dist/mcp/primitives/essential/tools/rate-card.tool.d.ts +2 -1
  94. package/dist/mcp/primitives/essential/tools/rate-card.tool.js +2 -0
  95. package/dist/mcp/primitives/essential/tools/rate-card.tool.js.map +1 -1
  96. package/dist/mcp/primitives/essential/tools/remove-tags.tool.d.ts +107 -0
  97. package/dist/mcp/primitives/essential/tools/remove-tags.tool.js +85 -0
  98. package/dist/mcp/primitives/essential/tools/remove-tags.tool.js.map +1 -0
  99. package/dist/mcp/primitives/essential/tools/replace-tags.tool.d.ts +108 -0
  100. package/dist/mcp/primitives/essential/tools/replace-tags.tool.js +92 -0
  101. package/dist/mcp/primitives/essential/tools/replace-tags.tool.js.map +1 -0
  102. package/dist/mcp/primitives/essential/tools/retrieve-media-file.tool.d.ts +106 -0
  103. package/dist/mcp/primitives/essential/tools/retrieve-media-file.tool.js +75 -0
  104. package/dist/mcp/primitives/essential/tools/retrieve-media-file.tool.js.map +1 -0
  105. package/dist/mcp/primitives/essential/tools/review-stats/review-stats.tool.d.ts +2 -1
  106. package/dist/mcp/primitives/essential/tools/review-stats/review-stats.tool.js +2 -0
  107. package/dist/mcp/primitives/essential/tools/review-stats/review-stats.tool.js.map +1 -1
  108. package/dist/mcp/primitives/essential/tools/review-stats/review-stats.types.d.ts +1 -1
  109. package/dist/mcp/primitives/essential/tools/{mediaActions/mediaActions.tool.d.ts → store-media-file.tool.d.ts} +5 -8
  110. package/dist/mcp/primitives/essential/tools/store-media-file.tool.js +92 -0
  111. package/dist/mcp/primitives/essential/tools/store-media-file.tool.js.map +1 -0
  112. package/dist/mcp/primitives/essential/tools/sync.tool.d.ts +2 -1
  113. package/dist/mcp/primitives/essential/tools/sync.tool.js +2 -0
  114. package/dist/mcp/primitives/essential/tools/sync.tool.js.map +1 -1
  115. package/dist/mcp/primitives/essential/tools/tagActions/actions/addTags.action.d.ts +1 -1
  116. package/dist/mcp/primitives/essential/tools/tagActions/actions/clearUnusedTags.action.d.ts +1 -1
  117. package/dist/mcp/primitives/essential/tools/tagActions/actions/removeTags.action.d.ts +1 -1
  118. package/dist/mcp/primitives/essential/tools/tagActions/actions/replaceTags.action.d.ts +1 -1
  119. package/dist/mcp/primitives/essential/tools/update-model-styling.tool.d.ts +2 -1
  120. package/dist/mcp/primitives/essential/tools/update-model-styling.tool.js +2 -0
  121. package/dist/mcp/primitives/essential/tools/update-model-styling.tool.js.map +1 -1
  122. package/dist/mcp/primitives/essential/tools/update-note-fields.tool.d.ts +2 -1
  123. package/dist/mcp/primitives/essential/tools/update-note-fields.tool.js +19 -0
  124. package/dist/mcp/primitives/essential/tools/update-note-fields.tool.js.map +1 -1
  125. package/dist/mcp/primitives/gui/tools/gui-add-cards.tool.d.ts +2 -1
  126. package/dist/mcp/primitives/gui/tools/gui-add-cards.tool.js +3 -1
  127. package/dist/mcp/primitives/gui/tools/gui-add-cards.tool.js.map +1 -1
  128. package/dist/mcp/primitives/gui/tools/gui-browse.tool.d.ts +2 -1
  129. package/dist/mcp/primitives/gui/tools/gui-browse.tool.js +2 -0
  130. package/dist/mcp/primitives/gui/tools/gui-browse.tool.js.map +1 -1
  131. package/dist/mcp/primitives/gui/tools/gui-current-card.tool.d.ts +3 -2
  132. package/dist/mcp/primitives/gui/tools/gui-current-card.tool.js +2 -0
  133. package/dist/mcp/primitives/gui/tools/gui-current-card.tool.js.map +1 -1
  134. package/dist/mcp/primitives/gui/tools/gui-deck-browser.tool.d.ts +2 -1
  135. package/dist/mcp/primitives/gui/tools/gui-deck-browser.tool.js +2 -0
  136. package/dist/mcp/primitives/gui/tools/gui-deck-browser.tool.js.map +1 -1
  137. package/dist/mcp/primitives/gui/tools/gui-deck-overview.tool.d.ts +2 -1
  138. package/dist/mcp/primitives/gui/tools/gui-deck-overview.tool.js +2 -0
  139. package/dist/mcp/primitives/gui/tools/gui-deck-overview.tool.js.map +1 -1
  140. package/dist/mcp/primitives/gui/tools/gui-edit-note.tool.d.ts +2 -1
  141. package/dist/mcp/primitives/gui/tools/gui-edit-note.tool.js +2 -0
  142. package/dist/mcp/primitives/gui/tools/gui-edit-note.tool.js.map +1 -1
  143. package/dist/mcp/primitives/gui/tools/gui-select-card.tool.d.ts +2 -1
  144. package/dist/mcp/primitives/gui/tools/gui-select-card.tool.js +2 -0
  145. package/dist/mcp/primitives/gui/tools/gui-select-card.tool.js.map +1 -1
  146. package/dist/mcp/primitives/gui/tools/gui-selected-notes.tool.d.ts +2 -1
  147. package/dist/mcp/primitives/gui/tools/gui-selected-notes.tool.js +2 -0
  148. package/dist/mcp/primitives/gui/tools/gui-selected-notes.tool.js.map +1 -1
  149. package/dist/mcp/primitives/gui/tools/gui-show-answer.tool.d.ts +2 -1
  150. package/dist/mcp/primitives/gui/tools/gui-show-answer.tool.js +2 -0
  151. package/dist/mcp/primitives/gui/tools/gui-show-answer.tool.js.map +1 -1
  152. package/dist/mcp/primitives/gui/tools/gui-show-question.tool.d.ts +2 -1
  153. package/dist/mcp/primitives/gui/tools/gui-show-question.tool.js +2 -0
  154. package/dist/mcp/primitives/gui/tools/gui-show-question.tool.js.map +1 -1
  155. package/dist/mcp/primitives/gui/tools/gui-undo.tool.d.ts +2 -1
  156. package/dist/mcp/primitives/gui/tools/gui-undo.tool.js +2 -0
  157. package/dist/mcp/primitives/gui/tools/gui-undo.tool.js.map +1 -1
  158. package/dist/mcp/utils/media-validation.utils.d.ts +33 -0
  159. package/dist/mcp/utils/media-validation.utils.js +208 -0
  160. package/dist/mcp/utils/media-validation.utils.js.map +1 -0
  161. package/dist/tsconfig.build.tsbuildinfo +1 -1
  162. package/package.json +24 -19
  163. package/dist/mcp/primitives/essential/tools/deckActions/deckActions.tool.js +0 -208
  164. package/dist/mcp/primitives/essential/tools/deckActions/deckActions.tool.js.map +0 -1
  165. package/dist/mcp/primitives/essential/tools/deckActions/index.d.ts +0 -5
  166. package/dist/mcp/primitives/essential/tools/deckActions/index.js +0 -6
  167. package/dist/mcp/primitives/essential/tools/deckActions/index.js.map +0 -1
  168. package/dist/mcp/primitives/essential/tools/mediaActions/index.d.ts +0 -5
  169. package/dist/mcp/primitives/essential/tools/mediaActions/index.js +0 -6
  170. package/dist/mcp/primitives/essential/tools/mediaActions/index.js.map +0 -1
  171. package/dist/mcp/primitives/essential/tools/mediaActions/mediaActions.tool.js +0 -156
  172. package/dist/mcp/primitives/essential/tools/mediaActions/mediaActions.tool.js.map +0 -1
  173. package/dist/mcp/primitives/essential/tools/tagActions/index.d.ts +0 -5
  174. package/dist/mcp/primitives/essential/tools/tagActions/index.js +0 -6
  175. package/dist/mcp/primitives/essential/tools/tagActions/index.js.map +0 -1
  176. package/dist/mcp/primitives/essential/tools/tagActions/tagActions.tool.js +0 -151
  177. package/dist/mcp/primitives/essential/tools/tagActions/tagActions.tool.js.map +0 -1
package/README.md CHANGED
@@ -32,6 +32,18 @@ For comprehensive guides, real-world examples, and step-by-step tutorials on usi
32
32
 
33
33
  **[ankimcp.ai](https://ankimcp.ai)** - Complete documentation with practical examples and use cases
34
34
 
35
+ See [`docs/`](./docs/README.md) for supplementary documentation, including the [reviewer setup guide](./docs/reviewer-setup.md) and the sample Anki deck.
36
+
37
+ ## Example Use Cases
38
+
39
+ Three representative prompts showing the tool flows this server enables:
40
+
41
+ 1. **"Help me review my Spanish deck."** — The assistant syncs with AnkiWeb (`sync`), fetches due cards (`get_due_cards` with deck filter), presents each card (`present_card`), and records your rating (`rate_card`). Natural study conversation with explanations tailored to you.
42
+
43
+ 2. **"Create 10 Arabic vocab cards with RTL styling."** — The assistant lists note types (`modelNames`), creates a custom RTL model if needed (`createModel` + `updateModelStyling` for right-to-left CSS), then batch-creates the cards (`addNotes`).
44
+
45
+ 3. **"Import this image from my Downloads folder into the front of the selected note."** — The assistant uploads the local file (`storeMediaFile` with a file path), reads the currently-selected note from the browser (`guiSelectedNotes` + `notesInfo`), and updates the front field with an `<img>` tag (`updateNoteFields`).
46
+
35
47
  ## Available Tools
36
48
 
37
49
  ### Review & Study
@@ -41,11 +53,10 @@ For comprehensive guides, real-world examples, and step-by-step tutorials on usi
41
53
  - `rate_card` - Rate card performance
42
54
 
43
55
  ### Deck Management
44
- - `deckActions` - Unified deck operations:
45
- - `listDecks` - List all decks with optional statistics
46
- - `createDeck` - Create new decks (max 2 levels: "Parent::Child")
47
- - `deckStats` - Get comprehensive deck statistics
48
- - `changeDeck` - Move cards to a different deck
56
+ - `listDecks` - List all decks with optional statistics
57
+ - `deckStats` - Get comprehensive deck statistics (counts, ease/interval distributions)
58
+ - `createDeck` - Create a new empty deck (max 2 levels: "Parent::Child")
59
+ - `changeDeck` - Move cards to a different deck
49
60
 
50
61
  ### Note Management
51
62
  - `addNote` - Create a single note
@@ -55,12 +66,18 @@ For comprehensive guides, real-world examples, and step-by-step tutorials on usi
55
66
  - `updateNoteFields` - Update existing note fields (CSS-aware, supports HTML)
56
67
  - `deleteNotes` - Delete notes and their cards
57
68
 
69
+ ### Tag Management
70
+ - `getTags` - Discover all tags in the collection (use first to avoid duplication)
71
+ - `addTags` - Add space-separated tags to notes
72
+ - `removeTags` - Remove space-separated tags from notes
73
+ - `replaceTags` - Rename a tag across notes
74
+ - `clearUnusedTags` - Remove orphaned tags from the collection (destructive)
75
+
58
76
  ### Media Management
59
- - `mediaActions` - Manage media files (audio/images)
60
- - `storeMediaFile` - Upload media from base64 data, file paths, or URLs
61
- - `retrieveMediaFile` - Download media as base64
62
- - `getMediaFilesNames` - List media files with optional pattern filtering
63
- - `deleteMediaFile` - Remove media files
77
+ - `getMediaFilesNames` - List media files with optional pattern filtering
78
+ - `retrieveMediaFile` - Download media as base64
79
+ - `storeMediaFile` - Upload media from base64 data, file paths, or URLs
80
+ - `deleteMediaFile` - Remove media files (destructive)
64
81
 
65
82
  **💡 Best Practice for Images:**
66
83
  - ✅ **Use file paths** (e.g., `/Users/you/image.png`) - Fast and efficient
@@ -99,6 +116,8 @@ The easiest way to install this MCP server for Claude Desktop:
99
116
 
100
117
  That's it! The bundle includes everything needed to run the server locally.
101
118
 
119
+ > **For Anthropic MCP Directory reviewers:** a zero-to-integration walkthrough with a pre-populated sample deck lives in [`docs/reviewer-setup.md`](./docs/reviewer-setup.md).
120
+
102
121
  ### Option 2: NPM Package with STDIO (For Other MCP Clients)
103
122
 
104
123
  Want to use Anki with MCP clients like **Cursor IDE**, **Cline**, or **Zed Editor**? Use the npm package with the `--stdio` flag:
@@ -368,6 +387,9 @@ For more details, see the [official MCP documentation](https://modelcontextproto
368
387
  | `ANKI_CONNECT_API_KEY` | API key if configured in AnkiConnect | - |
369
388
  | `ANKI_CONNECT_TIMEOUT` | Request timeout in ms | `5000` |
370
389
  | `READ_ONLY` | Enable read-only mode (`true` or `1`) | `false` |
390
+ | `MEDIA_ALLOWED_TYPES` | Extra MIME types to allow for file path imports (comma-separated, e.g., `application/pdf`) | - |
391
+ | `MEDIA_IMPORT_DIR` | Restrict file path imports to this directory | - |
392
+ | `MEDIA_ALLOWED_HOSTS` | Allow specific private network hosts for URL imports (comma-separated, e.g., `192.168.1.50,my-nas`) | - |
371
393
 
372
394
  ## Usage Examples
373
395
 
@@ -421,6 +443,32 @@ The `findNotes` tool supports Anki's powerful query syntax:
421
443
  #### Deletion Safety
422
444
  The `deleteNotes` tool requires explicit confirmation (`confirmDeletion: true`) to prevent accidental deletions. Deleting a note removes ALL associated cards permanently.
423
445
 
446
+ ## Security
447
+
448
+ ### Media File Path and URL Validation
449
+
450
+ The media tools (`storeMediaFile`, `retrieveMediaFile`, `deleteMediaFile`) and `updateNoteFields` audio/picture fields include security validation to prevent misuse via prompt injection:
451
+
452
+ - **File path imports** are restricted to media file types only (images, audio, video). Non-media files (e.g., SSH keys, credentials, shell configs) are rejected based on MIME type. Configure `MEDIA_ALLOWED_TYPES` to allow additional file types, or `MEDIA_IMPORT_DIR` to restrict imports to a specific directory.
453
+ - **URL imports** are validated against SSRF attacks. Requests to private networks (10.x, 172.16.x, 192.168.x), loopback (127.x), link-local (169.254.x), and non-HTTP(S) schemes are blocked. Configure `MEDIA_ALLOWED_HOSTS` to allow specific private network hosts.
454
+ - **Filenames** are sanitized to prevent path traversal (e.g., `../../` sequences are stripped).
455
+
456
+ These protections apply to `storeMediaFile`, `retrieveMediaFile`, `deleteMediaFile`, and `updateNoteFields` audio/picture fields.
457
+
458
+ > Path traversal vulnerability reported by [Hideaki Takahashi](https://github.com/Koukyosyumei).
459
+
460
+ ## Privacy Policy
461
+
462
+ This MCP server runs locally on your machine and collects no telemetry, analytics, or usage data.
463
+
464
+ Full policy: **[https://ankimcp.ai/privacy/](https://ankimcp.ai/privacy/)**
465
+
466
+ - **Data collection**: The server collects nothing. It proxies requests between your AI assistant and your local AnkiConnect plugin.
467
+ - **Usage / storage**: No server-side storage. All flashcard data stays in your Anki installation on your own device.
468
+ - **Third-party sharing**: None. The server only talks to the AnkiConnect URL you configure (default: localhost). If you enable Anki's built-in AnkiWeb sync, that happens between your Anki install and AnkiWeb directly — outside this server's scope.
469
+ - **Retention**: Not applicable — no data is retained server-side.
470
+ - **Contact**: support@ankimcp.ai
471
+
424
472
  ## Known Issues
425
473
 
426
474
  For a comprehensive list of known issues and limitations, please visit our documentation:
@@ -537,7 +585,7 @@ The output file will be named `anki-mcp-server-X.X.X.mcpb` and can be distribute
537
585
 
538
586
  #### What Gets Bundled
539
587
 
540
- The MCPB package includes:
588
+ The MCPB bundle includes:
541
589
  - Compiled JavaScript (`dist/` directory - includes both entry points)
542
590
  - Production dependencies only (`node_modules/` - devDependencies removed by `mcpb clean`)
543
591
  - Package metadata (`package.json`)
@@ -789,7 +837,11 @@ This project follows [Semantic Versioning](https://semver.org/) with a pre-1.0 d
789
837
  - Will be released when the API is stable and tested
790
838
  - Breaking changes will require major version bumps (2.0.0, etc.)
791
839
 
792
- **Current Status**: `0.14.0` - Active beta development. Recent features include batch note creation (`addNotes`), integrated ngrok tunneling (`--ngrok` flag), media file management, model/template management, and comprehensive deck statistics. APIs may change based on feedback and testing.
840
+ **Current Status**: `0.15.1` - Active beta development. Recent features include batch note creation (`addNotes`), integrated ngrok tunneling (`--ngrok` flag), media file management, model/template management, and comprehensive deck statistics. APIs may change based on feedback and testing.
841
+
842
+ ### MCPB spec evolution
843
+
844
+ This project targets Anthropic's MCPB bundle specification, which is still evolving. We track the spec at [https://github.com/modelcontextprotocol/mcpb](https://github.com/modelcontextprotocol/mcpb) and may introduce breaking changes to stay compliant. Breaking changes are permitted under the 0.x.x versioning scheme.
793
845
 
794
846
  ## Similar Projects
795
847
 
@@ -14,6 +14,7 @@ const mcp_nest_1 = require("@rekog/mcp-nest");
14
14
  const essential_1 = require("./mcp/primitives/essential");
15
15
  const gui_1 = require("./mcp/primitives/gui");
16
16
  const anki_config_service_1 = require("./anki-config.service");
17
+ const mcp_icons_1 = require("./mcp/mcp-icons");
17
18
  let AppModule = AppModule_1 = class AppModule {
18
19
  static forStdio() {
19
20
  return {
@@ -28,6 +29,7 @@ let AppModule = AppModule_1 = class AppModule {
28
29
  name: process.env.MCP_SERVER_NAME || "anki-mcp-server",
29
30
  version: process.env.MCP_SERVER_VERSION || "1.0.0",
30
31
  transport: mcp_nest_1.McpTransportType.STDIO,
32
+ icons: mcp_icons_1.MCP_ICONS,
31
33
  }),
32
34
  essential_1.McpPrimitivesAnkiEssentialModule.forRoot({
33
35
  ankiConfigProvider: {
@@ -59,6 +61,7 @@ let AppModule = AppModule_1 = class AppModule {
59
61
  version: process.env.MCP_SERVER_VERSION || "1.0.0",
60
62
  transport: mcp_nest_1.McpTransportType.STREAMABLE_HTTP,
61
63
  mcpEndpoint: "/",
64
+ icons: mcp_icons_1.MCP_ICONS,
62
65
  }),
63
66
  essential_1.McpPrimitivesAnkiEssentialModule.forRoot({
64
67
  ankiConfigProvider: {
@@ -1 +1 @@
1
- {"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuD;AACvD,2CAA8C;AAC9C,8CAA8D;AAC9D,0DAIoC;AACpC,8CAG8B;AAC9B,+DAA0D;AAGnD,IAAM,SAAS,iBAAf,MAAM,SAAS;IAIpB,MAAM,CAAC,QAAQ;QACb,OAAO;YACL,MAAM,EAAE,WAAS;YACjB,OAAO,EAAE;gBAEP,qBAAY,CAAC,OAAO,CAAC;oBACnB,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,IAAI;oBACX,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC;iBACpC,CAAC;gBAGF,oBAAS,CAAC,OAAO,CAAC;oBAChB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,iBAAiB;oBACtD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO;oBAClD,SAAS,EAAE,2BAAgB,CAAC,KAAK;iBAClC,CAAC;gBAGF,4CAAgC,CAAC,OAAO,CAAC;oBACvC,kBAAkB,EAAE;wBAClB,OAAO,EAAE,uBAAW;wBACpB,QAAQ,EAAE,uCAAiB;qBAC5B;iBACF,CAAC;gBAGF,gCAA0B,CAAC,OAAO,CAAC;oBACjC,kBAAkB,EAAE;wBAClB,OAAO,EAAE,uBAAW;wBACpB,QAAQ,EAAE,uCAAiB;qBAC5B;iBACF,CAAC;aACH;YAED,SAAS,EAAE,CAAC,uCAAiB,EAAE,GAAG,+BAAmB,EAAE,GAAG,mBAAa,CAAC;SACzE,CAAC;IACJ,CAAC;IAKD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,MAAM,EAAE,WAAS;YACjB,OAAO,EAAE;gBAEP,qBAAY,CAAC,OAAO,CAAC;oBACnB,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,IAAI;oBACX,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC;iBACpC,CAAC;gBAGF,oBAAS,CAAC,OAAO,CAAC;oBAChB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,iBAAiB;oBACtD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO;oBAClD,SAAS,EAAE,2BAAgB,CAAC,eAAe;oBAC3C,WAAW,EAAE,GAAG;iBACjB,CAAC;gBAGF,4CAAgC,CAAC,OAAO,CAAC;oBACvC,kBAAkB,EAAE;wBAClB,OAAO,EAAE,uBAAW;wBACpB,QAAQ,EAAE,uCAAiB;qBAC5B;iBACF,CAAC;gBAGF,gCAA0B,CAAC,OAAO,CAAC;oBACjC,kBAAkB,EAAE;wBAClB,OAAO,EAAE,uBAAW;wBACpB,QAAQ,EAAE,uCAAiB;qBAC5B;iBACF,CAAC;aACH;YAED,SAAS,EAAE,CAAC,uCAAiB,EAAE,GAAG,+BAAmB,EAAE,GAAG,mBAAa,CAAC;SACzE,CAAC;IACJ,CAAC;CACF,CAAA;AArFY,8BAAS;oBAAT,SAAS;IADrB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,SAAS,CAqFrB"}
1
+ {"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuD;AACvD,2CAA8C;AAC9C,8CAA8D;AAC9D,0DAIoC;AACpC,8CAG8B;AAC9B,+DAA0D;AAC1D,+CAA4C;AAGrC,IAAM,SAAS,iBAAf,MAAM,SAAS;IAIpB,MAAM,CAAC,QAAQ;QACb,OAAO;YACL,MAAM,EAAE,WAAS;YACjB,OAAO,EAAE;gBAEP,qBAAY,CAAC,OAAO,CAAC;oBACnB,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,IAAI;oBACX,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC;iBACpC,CAAC;gBAGF,oBAAS,CAAC,OAAO,CAAC;oBAChB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,iBAAiB;oBACtD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO;oBAClD,SAAS,EAAE,2BAAgB,CAAC,KAAK;oBACjC,KAAK,EAAE,qBAAS;iBACjB,CAAC;gBAGF,4CAAgC,CAAC,OAAO,CAAC;oBACvC,kBAAkB,EAAE;wBAClB,OAAO,EAAE,uBAAW;wBACpB,QAAQ,EAAE,uCAAiB;qBAC5B;iBACF,CAAC;gBAGF,gCAA0B,CAAC,OAAO,CAAC;oBACjC,kBAAkB,EAAE;wBAClB,OAAO,EAAE,uBAAW;wBACpB,QAAQ,EAAE,uCAAiB;qBAC5B;iBACF,CAAC;aACH;YAED,SAAS,EAAE,CAAC,uCAAiB,EAAE,GAAG,+BAAmB,EAAE,GAAG,mBAAa,CAAC;SACzE,CAAC;IACJ,CAAC;IAKD,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,MAAM,EAAE,WAAS;YACjB,OAAO,EAAE;gBAEP,qBAAY,CAAC,OAAO,CAAC;oBACnB,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,IAAI;oBACX,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC;iBACpC,CAAC;gBAGF,oBAAS,CAAC,OAAO,CAAC;oBAChB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,iBAAiB;oBACtD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,OAAO;oBAClD,SAAS,EAAE,2BAAgB,CAAC,eAAe;oBAC3C,WAAW,EAAE,GAAG;oBAChB,KAAK,EAAE,qBAAS;iBACjB,CAAC;gBAGF,4CAAgC,CAAC,OAAO,CAAC;oBACvC,kBAAkB,EAAE;wBAClB,OAAO,EAAE,uBAAW;wBACpB,QAAQ,EAAE,uCAAiB;qBAC5B;iBACF,CAAC;gBAGF,gCAA0B,CAAC,OAAO,CAAC;oBACjC,kBAAkB,EAAE;wBAClB,OAAO,EAAE,uBAAW;wBACpB,QAAQ,EAAE,uCAAiB;qBAC5B;iBACF,CAAC;aACH;YAED,SAAS,EAAE,CAAC,uCAAiB,EAAE,GAAG,+BAAmB,EAAE,GAAG,mBAAa,CAAC;SACzE,CAAC;IACJ,CAAC;CACF,CAAA;AAvFY,8BAAS;oBAAT,SAAS;IADrB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,SAAS,CAuFrB"}
@@ -0,0 +1,2 @@
1
+ import type { Icon } from "@modelcontextprotocol/sdk/types.js";
2
+ export declare const MCP_ICONS: Icon[];
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MCP_ICONS = void 0;
4
+ exports.MCP_ICONS = [
5
+ {
6
+ src: "https://ankimcp.ai/favicon.svg",
7
+ mimeType: "image/svg+xml",
8
+ sizes: ["any"],
9
+ },
10
+ ];
11
+ //# sourceMappingURL=mcp-icons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-icons.js","sourceRoot":"","sources":["../../src/mcp/mcp-icons.ts"],"names":[],"mappings":";;;AAUa,QAAA,SAAS,GAAW;IAC/B;QACE,GAAG,EAAE,gCAAgC;QACrC,QAAQ,EAAE,eAAe;QACzB,KAAK,EAAE,CAAC,KAAK,CAAC;KACf;CACF,CAAC"}
@@ -19,10 +19,19 @@ export { FindNotesTool } from "./tools/find-notes.tool";
19
19
  export { NotesInfoTool } from "./tools/notes-info.tool";
20
20
  export { UpdateNoteFieldsTool } from "./tools/update-note-fields.tool";
21
21
  export { DeleteNotesTool } from "./tools/delete-notes.tool";
22
- export { MediaActionsTool } from "./tools/mediaActions";
23
22
  export { GetTagsTool } from "./tools/get-tags.tool";
24
- export { TagActionsTool } from "./tools/tagActions";
25
- export { DeckActionsTool } from "./tools/deckActions";
23
+ export { ListDecksTool } from "./tools/list-decks.tool";
24
+ export { DeckStatsTool } from "./tools/deck-stats.tool";
25
+ export { CreateDeckTool } from "./tools/create-deck.tool";
26
+ export { ChangeDeckTool } from "./tools/change-deck.tool";
27
+ export { RetrieveMediaFileTool } from "./tools/retrieve-media-file.tool";
28
+ export { GetMediaFilesNamesTool } from "./tools/get-media-files-names.tool";
29
+ export { StoreMediaFileTool } from "./tools/store-media-file.tool";
30
+ export { DeleteMediaFileTool } from "./tools/delete-media-file.tool";
31
+ export { AddTagsTool } from "./tools/add-tags.tool";
32
+ export { RemoveTagsTool } from "./tools/remove-tags.tool";
33
+ export { ReplaceTagsTool } from "./tools/replace-tags.tool";
34
+ export { ClearUnusedTagsTool } from "./tools/clear-unused-tags.tool";
26
35
  export { CollectionStatsTool } from "./tools/collection-stats";
27
36
  export { ReviewStatsTool } from "./tools/review-stats";
28
37
  export { ReviewSessionPrompt } from "./prompts/review-session.prompt";
@@ -45,16 +54,25 @@ import { FindNotesTool } from "./tools/find-notes.tool";
45
54
  import { NotesInfoTool } from "./tools/notes-info.tool";
46
55
  import { UpdateNoteFieldsTool } from "./tools/update-note-fields.tool";
47
56
  import { DeleteNotesTool } from "./tools/delete-notes.tool";
48
- import { MediaActionsTool } from "./tools/mediaActions";
49
57
  import { GetTagsTool } from "./tools/get-tags.tool";
50
- import { TagActionsTool } from "./tools/tagActions";
51
- import { DeckActionsTool } from "./tools/deckActions";
58
+ import { ListDecksTool } from "./tools/list-decks.tool";
59
+ import { DeckStatsTool } from "./tools/deck-stats.tool";
60
+ import { CreateDeckTool } from "./tools/create-deck.tool";
61
+ import { ChangeDeckTool } from "./tools/change-deck.tool";
62
+ import { RetrieveMediaFileTool } from "./tools/retrieve-media-file.tool";
63
+ import { GetMediaFilesNamesTool } from "./tools/get-media-files-names.tool";
64
+ import { StoreMediaFileTool } from "./tools/store-media-file.tool";
65
+ import { DeleteMediaFileTool } from "./tools/delete-media-file.tool";
66
+ import { AddTagsTool } from "./tools/add-tags.tool";
67
+ import { RemoveTagsTool } from "./tools/remove-tags.tool";
68
+ import { ReplaceTagsTool } from "./tools/replace-tags.tool";
69
+ import { ClearUnusedTagsTool } from "./tools/clear-unused-tags.tool";
52
70
  import { CollectionStatsTool } from "./tools/collection-stats";
53
71
  import { ReviewStatsTool } from "./tools/review-stats";
54
72
  import { ReviewSessionPrompt } from "./prompts/review-session.prompt";
55
73
  import { TwentyRulesPrompt } from "./prompts/twenty-rules.prompt";
56
74
  import { SystemInfoResource } from "./resources/system-info.resource";
57
- export declare const ESSENTIAL_MCP_TOOLS: (typeof SyncTool | typeof GetDueCardsTool | typeof GetCardsTool | typeof PresentCardTool | typeof RateCardTool | typeof ModelNamesTool | typeof ModelFieldNamesTool | typeof ModelStylingTool | typeof CreateModelTool | typeof UpdateModelStylingTool | typeof AddNoteTool | typeof AddNotesTool | typeof FindNotesTool | typeof NotesInfoTool | typeof UpdateNoteFieldsTool | typeof DeleteNotesTool | typeof MediaActionsTool | typeof GetTagsTool | typeof TagActionsTool | typeof DeckActionsTool | typeof CollectionStatsTool | typeof ReviewStatsTool | typeof ReviewSessionPrompt | typeof TwentyRulesPrompt | typeof SystemInfoResource)[];
75
+ export declare const ESSENTIAL_MCP_TOOLS: (typeof SyncTool | typeof GetDueCardsTool | typeof GetCardsTool | typeof PresentCardTool | typeof RateCardTool | typeof ModelNamesTool | typeof ModelFieldNamesTool | typeof ModelStylingTool | typeof CreateModelTool | typeof UpdateModelStylingTool | typeof AddNoteTool | typeof AddNotesTool | typeof FindNotesTool | typeof NotesInfoTool | typeof UpdateNoteFieldsTool | typeof DeleteNotesTool | typeof GetTagsTool | typeof ListDecksTool | typeof DeckStatsTool | typeof CreateDeckTool | typeof ChangeDeckTool | typeof RetrieveMediaFileTool | typeof GetMediaFilesNamesTool | typeof StoreMediaFileTool | typeof DeleteMediaFileTool | typeof AddTagsTool | typeof RemoveTagsTool | typeof ReplaceTagsTool | typeof ClearUnusedTagsTool | typeof CollectionStatsTool | typeof ReviewStatsTool | typeof ReviewSessionPrompt | typeof TwentyRulesPrompt | typeof SystemInfoResource)[];
58
76
  export interface McpPrimitivesAnkiEssentialModuleOptions {
59
77
  ankiConfigProvider: Provider;
60
78
  }
@@ -21,7 +21,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
21
21
  };
22
22
  var McpPrimitivesAnkiEssentialModule_1;
23
23
  Object.defineProperty(exports, "__esModule", { value: true });
24
- exports.McpPrimitivesAnkiEssentialModule = exports.ESSENTIAL_MCP_TOOLS = exports.SystemInfoResource = exports.TwentyRulesPrompt = exports.ReviewSessionPrompt = exports.ReviewStatsTool = exports.CollectionStatsTool = exports.DeckActionsTool = exports.TagActionsTool = exports.GetTagsTool = exports.MediaActionsTool = exports.DeleteNotesTool = exports.UpdateNoteFieldsTool = exports.NotesInfoTool = exports.FindNotesTool = exports.AddNotesTool = exports.AddNoteTool = exports.UpdateModelStylingTool = exports.CreateModelTool = exports.ModelStylingTool = exports.ModelFieldNamesTool = exports.ModelNamesTool = exports.RateCardTool = exports.PresentCardTool = exports.GetCardsTool = exports.GetDueCardsTool = exports.SyncTool = exports.ReadOnlyModeError = exports.AnkiConnectError = exports.AnkiConnectClient = exports.ANKI_CONFIG = void 0;
24
+ exports.McpPrimitivesAnkiEssentialModule = exports.ESSENTIAL_MCP_TOOLS = exports.SystemInfoResource = exports.TwentyRulesPrompt = exports.ReviewSessionPrompt = exports.ReviewStatsTool = exports.CollectionStatsTool = exports.ClearUnusedTagsTool = exports.ReplaceTagsTool = exports.RemoveTagsTool = exports.AddTagsTool = exports.DeleteMediaFileTool = exports.StoreMediaFileTool = exports.GetMediaFilesNamesTool = exports.RetrieveMediaFileTool = exports.ChangeDeckTool = exports.CreateDeckTool = exports.DeckStatsTool = exports.ListDecksTool = exports.GetTagsTool = exports.DeleteNotesTool = exports.UpdateNoteFieldsTool = exports.NotesInfoTool = exports.FindNotesTool = exports.AddNotesTool = exports.AddNoteTool = exports.UpdateModelStylingTool = exports.CreateModelTool = exports.ModelStylingTool = exports.ModelFieldNamesTool = exports.ModelNamesTool = exports.RateCardTool = exports.PresentCardTool = exports.GetCardsTool = exports.GetDueCardsTool = exports.SyncTool = exports.ReadOnlyModeError = exports.AnkiConnectError = exports.AnkiConnectClient = exports.ANKI_CONFIG = void 0;
25
25
  var anki_config_interface_1 = require("../../config/anki-config.interface");
26
26
  Object.defineProperty(exports, "ANKI_CONFIG", { enumerable: true, get: function () { return anki_config_interface_1.ANKI_CONFIG; } });
27
27
  __exportStar(require("../../types/anki.types"), exports);
@@ -62,14 +62,32 @@ var update_note_fields_tool_1 = require("./tools/update-note-fields.tool");
62
62
  Object.defineProperty(exports, "UpdateNoteFieldsTool", { enumerable: true, get: function () { return update_note_fields_tool_1.UpdateNoteFieldsTool; } });
63
63
  var delete_notes_tool_1 = require("./tools/delete-notes.tool");
64
64
  Object.defineProperty(exports, "DeleteNotesTool", { enumerable: true, get: function () { return delete_notes_tool_1.DeleteNotesTool; } });
65
- var mediaActions_1 = require("./tools/mediaActions");
66
- Object.defineProperty(exports, "MediaActionsTool", { enumerable: true, get: function () { return mediaActions_1.MediaActionsTool; } });
67
65
  var get_tags_tool_1 = require("./tools/get-tags.tool");
68
66
  Object.defineProperty(exports, "GetTagsTool", { enumerable: true, get: function () { return get_tags_tool_1.GetTagsTool; } });
69
- var tagActions_1 = require("./tools/tagActions");
70
- Object.defineProperty(exports, "TagActionsTool", { enumerable: true, get: function () { return tagActions_1.TagActionsTool; } });
71
- var deckActions_1 = require("./tools/deckActions");
72
- Object.defineProperty(exports, "DeckActionsTool", { enumerable: true, get: function () { return deckActions_1.DeckActionsTool; } });
67
+ var list_decks_tool_1 = require("./tools/list-decks.tool");
68
+ Object.defineProperty(exports, "ListDecksTool", { enumerable: true, get: function () { return list_decks_tool_1.ListDecksTool; } });
69
+ var deck_stats_tool_1 = require("./tools/deck-stats.tool");
70
+ Object.defineProperty(exports, "DeckStatsTool", { enumerable: true, get: function () { return deck_stats_tool_1.DeckStatsTool; } });
71
+ var create_deck_tool_1 = require("./tools/create-deck.tool");
72
+ Object.defineProperty(exports, "CreateDeckTool", { enumerable: true, get: function () { return create_deck_tool_1.CreateDeckTool; } });
73
+ var change_deck_tool_1 = require("./tools/change-deck.tool");
74
+ Object.defineProperty(exports, "ChangeDeckTool", { enumerable: true, get: function () { return change_deck_tool_1.ChangeDeckTool; } });
75
+ var retrieve_media_file_tool_1 = require("./tools/retrieve-media-file.tool");
76
+ Object.defineProperty(exports, "RetrieveMediaFileTool", { enumerable: true, get: function () { return retrieve_media_file_tool_1.RetrieveMediaFileTool; } });
77
+ var get_media_files_names_tool_1 = require("./tools/get-media-files-names.tool");
78
+ Object.defineProperty(exports, "GetMediaFilesNamesTool", { enumerable: true, get: function () { return get_media_files_names_tool_1.GetMediaFilesNamesTool; } });
79
+ var store_media_file_tool_1 = require("./tools/store-media-file.tool");
80
+ Object.defineProperty(exports, "StoreMediaFileTool", { enumerable: true, get: function () { return store_media_file_tool_1.StoreMediaFileTool; } });
81
+ var delete_media_file_tool_1 = require("./tools/delete-media-file.tool");
82
+ Object.defineProperty(exports, "DeleteMediaFileTool", { enumerable: true, get: function () { return delete_media_file_tool_1.DeleteMediaFileTool; } });
83
+ var add_tags_tool_1 = require("./tools/add-tags.tool");
84
+ Object.defineProperty(exports, "AddTagsTool", { enumerable: true, get: function () { return add_tags_tool_1.AddTagsTool; } });
85
+ var remove_tags_tool_1 = require("./tools/remove-tags.tool");
86
+ Object.defineProperty(exports, "RemoveTagsTool", { enumerable: true, get: function () { return remove_tags_tool_1.RemoveTagsTool; } });
87
+ var replace_tags_tool_1 = require("./tools/replace-tags.tool");
88
+ Object.defineProperty(exports, "ReplaceTagsTool", { enumerable: true, get: function () { return replace_tags_tool_1.ReplaceTagsTool; } });
89
+ var clear_unused_tags_tool_1 = require("./tools/clear-unused-tags.tool");
90
+ Object.defineProperty(exports, "ClearUnusedTagsTool", { enumerable: true, get: function () { return clear_unused_tags_tool_1.ClearUnusedTagsTool; } });
73
91
  var collection_stats_1 = require("./tools/collection-stats");
74
92
  Object.defineProperty(exports, "CollectionStatsTool", { enumerable: true, get: function () { return collection_stats_1.CollectionStatsTool; } });
75
93
  var review_stats_1 = require("./tools/review-stats");
@@ -98,10 +116,19 @@ const find_notes_tool_2 = require("./tools/find-notes.tool");
98
116
  const notes_info_tool_2 = require("./tools/notes-info.tool");
99
117
  const update_note_fields_tool_2 = require("./tools/update-note-fields.tool");
100
118
  const delete_notes_tool_2 = require("./tools/delete-notes.tool");
101
- const mediaActions_2 = require("./tools/mediaActions");
102
119
  const get_tags_tool_2 = require("./tools/get-tags.tool");
103
- const tagActions_2 = require("./tools/tagActions");
104
- const deckActions_2 = require("./tools/deckActions");
120
+ const list_decks_tool_2 = require("./tools/list-decks.tool");
121
+ const deck_stats_tool_2 = require("./tools/deck-stats.tool");
122
+ const create_deck_tool_2 = require("./tools/create-deck.tool");
123
+ const change_deck_tool_2 = require("./tools/change-deck.tool");
124
+ const retrieve_media_file_tool_2 = require("./tools/retrieve-media-file.tool");
125
+ const get_media_files_names_tool_2 = require("./tools/get-media-files-names.tool");
126
+ const store_media_file_tool_2 = require("./tools/store-media-file.tool");
127
+ const delete_media_file_tool_2 = require("./tools/delete-media-file.tool");
128
+ const add_tags_tool_2 = require("./tools/add-tags.tool");
129
+ const remove_tags_tool_2 = require("./tools/remove-tags.tool");
130
+ const replace_tags_tool_2 = require("./tools/replace-tags.tool");
131
+ const clear_unused_tags_tool_2 = require("./tools/clear-unused-tags.tool");
105
132
  const collection_stats_2 = require("./tools/collection-stats");
106
133
  const review_stats_2 = require("./tools/review-stats");
107
134
  const review_session_prompt_2 = require("./prompts/review-session.prompt");
@@ -124,10 +151,19 @@ exports.ESSENTIAL_MCP_TOOLS = [
124
151
  notes_info_tool_2.NotesInfoTool,
125
152
  update_note_fields_tool_2.UpdateNoteFieldsTool,
126
153
  delete_notes_tool_2.DeleteNotesTool,
127
- mediaActions_2.MediaActionsTool,
128
154
  get_tags_tool_2.GetTagsTool,
129
- tagActions_2.TagActionsTool,
130
- deckActions_2.DeckActionsTool,
155
+ list_decks_tool_2.ListDecksTool,
156
+ deck_stats_tool_2.DeckStatsTool,
157
+ create_deck_tool_2.CreateDeckTool,
158
+ change_deck_tool_2.ChangeDeckTool,
159
+ retrieve_media_file_tool_2.RetrieveMediaFileTool,
160
+ get_media_files_names_tool_2.GetMediaFilesNamesTool,
161
+ store_media_file_tool_2.StoreMediaFileTool,
162
+ delete_media_file_tool_2.DeleteMediaFileTool,
163
+ add_tags_tool_2.AddTagsTool,
164
+ remove_tags_tool_2.RemoveTagsTool,
165
+ replace_tags_tool_2.ReplaceTagsTool,
166
+ clear_unused_tags_tool_2.ClearUnusedTagsTool,
131
167
  collection_stats_2.CollectionStatsTool,
132
168
  review_stats_2.ReviewStatsTool,
133
169
  review_session_prompt_2.ReviewSessionPrompt,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp/primitives/essential/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp/primitives/essential/index.ts"],"names":[],"mappings":"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"}
@@ -49,7 +49,7 @@ You are helping a user create effective Anki flashcards based on Dr. Piotr Wozni
49
49
  - Geography, anatomy, architecture
50
50
  - Historical figures, artworks
51
51
  - Diagrams for abstract concepts
52
- - Use the mediaActions tool to help users add images
52
+ - Use the storeMediaFile tool to help users add images
53
53
 
54
54
  ### 7. Use Mnemonic Techniques
55
55
  **Memory aids make retention easier.**
@@ -185,7 +185,7 @@ A: [Text description]
185
185
  ✅ **With Image**:
186
186
  Q: [Image of heart with blank labels]
187
187
  A: [Same image with labels visible]
188
- (Use mediaActions to help user add the image)
188
+ (Use storeMediaFile to help user add the image)
189
189
 
190
190
  ## Remember
191
191
 
@@ -1,5 +1,5 @@
1
1
  import type { Context } from "@rekog/mcp-nest";
2
- import { AnkiConnectClient } from "@/mcp/clients/anki-connect.client";
2
+ import { AnkiConnectClient } from "../../../clients/anki-connect.client";
3
3
  export declare class AddNoteTool {
4
4
  private readonly ankiClient;
5
5
  private readonly logger;
@@ -59,6 +59,7 @@ export declare class AddNoteTool {
59
59
  type: "resource_link";
60
60
  description?: string | undefined;
61
61
  mimeType?: string | undefined;
62
+ size?: number | undefined;
62
63
  annotations?: {
63
64
  audience?: ("user" | "assistant")[] | undefined;
64
65
  priority?: number | undefined;
@@ -199,8 +199,10 @@ __decorate([
199
199
  }),
200
200
  }),
201
201
  annotations: {
202
+ title: "Add Note",
202
203
  readOnlyHint: false,
203
204
  destructiveHint: false,
205
+ idempotentHint: false,
204
206
  },
205
207
  }),
206
208
  __metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"add-note.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/add-note.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add-note.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/add-note.tool.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { Context } from "@rekog/mcp-nest";
2
- import { AnkiConnectClient } from "@/mcp/clients/anki-connect.client";
2
+ import { AnkiConnectClient } from "../../../clients/anki-connect.client";
3
3
  type NoteResultStatus = "created" | "skipped" | "failed";
4
4
  interface NoteResult {
5
5
  index: number;
@@ -65,6 +65,7 @@ export declare class AddNotesTool {
65
65
  type: "resource_link";
66
66
  description?: string | undefined;
67
67
  mimeType?: string | undefined;
68
+ size?: number | undefined;
68
69
  annotations?: {
69
70
  audience?: ("user" | "assistant")[] | undefined;
70
71
  priority?: number | undefined;
@@ -210,8 +210,10 @@ __decorate([
210
210
  })),
211
211
  }),
212
212
  annotations: {
213
+ title: "Batch Add Notes",
213
214
  readOnlyHint: false,
214
215
  destructiveHint: false,
216
+ idempotentHint: false,
215
217
  },
216
218
  }),
217
219
  __metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"add-notes.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/add-notes.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add-notes.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/add-notes.tool.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,12 @@
1
1
  import type { Context } from "@rekog/mcp-nest";
2
- import { AnkiConnectClient } from "@/mcp/clients/anki-connect.client";
3
- import { type ClearUnusedTagsResult } from "./actions/clearUnusedTags.action";
4
- export declare class TagActionsTool {
2
+ import { AnkiConnectClient } from "../../../clients/anki-connect.client";
3
+ export declare class AddTagsTool {
5
4
  private readonly ankiClient;
6
5
  private readonly logger;
7
6
  constructor(ankiClient: AnkiConnectClient);
8
7
  execute(params: {
9
- action: "addTags" | "removeTags" | "replaceTags" | "clearUnusedTags";
10
- notes?: number[];
11
- tags?: string;
12
- tagToReplace?: string;
13
- replaceWithTag?: string;
8
+ notes: number[];
9
+ tags: string;
14
10
  }, context: Context): Promise<{
15
11
  [x: string]: unknown;
16
12
  content: ({
@@ -54,6 +50,7 @@ export declare class TagActionsTool {
54
50
  type: "resource_link";
55
51
  description?: string | undefined;
56
52
  mimeType?: string | undefined;
53
+ size?: number | undefined;
57
54
  annotations?: {
58
55
  audience?: ("user" | "assistant")[] | undefined;
59
56
  priority?: number | undefined;
@@ -106,5 +103,5 @@ export declare class TagActionsTool {
106
103
  [x: string]: unknown;
107
104
  } | undefined;
108
105
  isError?: boolean | undefined;
109
- } | ClearUnusedTagsResult>;
106
+ } | import("./tagActions/actions/addTags.action").AddTagsResult>;
110
107
  }
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var AddTagsTool_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.AddTagsTool = void 0;
14
+ const common_1 = require("@nestjs/common");
15
+ const mcp_nest_1 = require("@rekog/mcp-nest");
16
+ const zod_1 = require("zod");
17
+ const anki_connect_client_1 = require("../../../clients/anki-connect.client");
18
+ const anki_utils_1 = require("../../../utils/anki.utils");
19
+ const addTags_action_1 = require("./tagActions/actions/addTags.action");
20
+ let AddTagsTool = AddTagsTool_1 = class AddTagsTool {
21
+ ankiClient;
22
+ logger = new common_1.Logger(AddTagsTool_1.name);
23
+ constructor(ankiClient) {
24
+ this.ankiClient = ankiClient;
25
+ }
26
+ async execute(params, context) {
27
+ try {
28
+ this.logger.log(`Executing addTags on ${params.notes?.length ?? 0} note(s)`);
29
+ if (!params.notes || params.notes.length === 0) {
30
+ throw new Error("notes array is required for addTags action");
31
+ }
32
+ if (!params.tags) {
33
+ throw new Error("tags string is required for addTags action");
34
+ }
35
+ await context.reportProgress({ progress: 25, total: 100 });
36
+ const result = await (0, addTags_action_1.addTags)({ notes: params.notes, tags: params.tags }, this.ankiClient);
37
+ await context.reportProgress({ progress: 100, total: 100 });
38
+ return result;
39
+ }
40
+ catch (error) {
41
+ this.logger.error("Failed to execute addTags", error);
42
+ return (0, anki_utils_1.createErrorResponse)(error, {
43
+ action: "addTags",
44
+ hint: "Make sure Anki is running and the note IDs are valid",
45
+ });
46
+ }
47
+ }
48
+ };
49
+ exports.AddTagsTool = AddTagsTool;
50
+ __decorate([
51
+ (0, mcp_nest_1.Tool)({
52
+ name: "addTags",
53
+ description: 'Add tags to specified notes. Tags is a space-separated string (e.g., "tag1 tag2 tag3"). Use getTags first to discover existing tags and prevent duplication.',
54
+ parameters: zod_1.z.object({
55
+ notes: zod_1.z
56
+ .array(zod_1.z.number())
57
+ .min(1)
58
+ .max(1000)
59
+ .describe("Array of note IDs to modify"),
60
+ tags: zod_1.z
61
+ .string()
62
+ .describe('Space-separated tags to add (e.g., "tag1 tag2")'),
63
+ }),
64
+ outputSchema: zod_1.z.object({
65
+ success: zod_1.z.boolean(),
66
+ message: zod_1.z.string(),
67
+ notesAffected: zod_1.z.number(),
68
+ tagsAdded: zod_1.z.array(zod_1.z.string()),
69
+ }),
70
+ annotations: {
71
+ title: "Add Tags",
72
+ readOnlyHint: false,
73
+ destructiveHint: false,
74
+ idempotentHint: true,
75
+ },
76
+ }),
77
+ __metadata("design:type", Function),
78
+ __metadata("design:paramtypes", [Object, Object]),
79
+ __metadata("design:returntype", Promise)
80
+ ], AddTagsTool.prototype, "execute", null);
81
+ exports.AddTagsTool = AddTagsTool = AddTagsTool_1 = __decorate([
82
+ (0, common_1.Injectable)(),
83
+ __metadata("design:paramtypes", [anki_connect_client_1.AnkiConnectClient])
84
+ ], AddTagsTool);
85
+ //# sourceMappingURL=add-tags.tool.js.map