@ankimcp/anki-mcp-server 0.15.1 → 0.17.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.
- package/LICENSE +16 -5
- package/README.md +50 -24
- package/dist/app.module.js +3 -0
- package/dist/app.module.js.map +1 -1
- package/dist/mcp/mcp-icons.d.ts +2 -0
- package/dist/mcp/mcp-icons.js +11 -0
- package/dist/mcp/mcp-icons.js.map +1 -0
- package/dist/mcp/primitives/essential/index.d.ts +25 -7
- package/dist/mcp/primitives/essential/index.js +49 -13
- package/dist/mcp/primitives/essential/index.js.map +1 -1
- package/dist/mcp/primitives/essential/prompts/twenty-rules.prompt/content.md +2 -2
- package/dist/mcp/primitives/essential/tools/add-note.tool.d.ts +2 -1
- package/dist/mcp/primitives/essential/tools/add-note.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/add-note.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/add-notes.tool.d.ts +2 -1
- package/dist/mcp/primitives/essential/tools/add-notes.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/add-notes.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/{tagActions/tagActions.tool.d.ts → add-tags.tool.d.ts} +6 -9
- package/dist/mcp/primitives/essential/tools/add-tags.tool.js +85 -0
- package/dist/mcp/primitives/essential/tools/add-tags.tool.js.map +1 -0
- package/dist/mcp/primitives/essential/tools/change-deck.tool.d.ts +107 -0
- package/dist/mcp/primitives/essential/tools/change-deck.tool.js +79 -0
- package/dist/mcp/primitives/essential/tools/change-deck.tool.js.map +1 -0
- package/dist/mcp/primitives/essential/tools/clear-unused-tags.tool.d.ts +104 -0
- package/dist/mcp/primitives/essential/tools/clear-unused-tags.tool.js +68 -0
- package/dist/mcp/primitives/essential/tools/clear-unused-tags.tool.js.map +1 -0
- package/dist/mcp/primitives/essential/tools/collection-stats/collection-stats.tool.d.ts +2 -1
- package/dist/mcp/primitives/essential/tools/collection-stats/collection-stats.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/collection-stats/collection-stats.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/collection-stats/collection-stats.types.d.ts +1 -1
- package/dist/mcp/primitives/essential/tools/create-deck.tool.d.ts +106 -0
- package/dist/mcp/primitives/essential/tools/create-deck.tool.js +78 -0
- package/dist/mcp/primitives/essential/tools/create-deck.tool.js.map +1 -0
- package/dist/mcp/primitives/essential/tools/create-model.tool.d.ts +3 -2
- package/dist/mcp/primitives/essential/tools/create-model.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/create-model.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/{deckActions/deckActions.tool.d.ts → deck-stats.tool.d.ts} +5 -12
- package/dist/mcp/primitives/essential/tools/deck-stats.tool.js +108 -0
- package/dist/mcp/primitives/essential/tools/deck-stats.tool.js.map +1 -0
- package/dist/mcp/primitives/essential/tools/deckActions/actions/changeDeck.action.d.ts +1 -1
- package/dist/mcp/primitives/essential/tools/deckActions/actions/createDeck.action.d.ts +1 -1
- package/dist/mcp/primitives/essential/tools/deckActions/actions/deckStats.action.d.ts +2 -2
- package/dist/mcp/primitives/essential/tools/deckActions/actions/listDecks.action.d.ts +2 -2
- package/dist/mcp/primitives/essential/tools/delete-media-file.tool.d.ts +106 -0
- package/dist/mcp/primitives/essential/tools/delete-media-file.tool.js +73 -0
- package/dist/mcp/primitives/essential/tools/delete-media-file.tool.js.map +1 -0
- package/dist/mcp/primitives/essential/tools/delete-notes.tool.d.ts +2 -1
- package/dist/mcp/primitives/essential/tools/delete-notes.tool.js +2 -1
- package/dist/mcp/primitives/essential/tools/delete-notes.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/find-notes.tool.d.ts +2 -1
- package/dist/mcp/primitives/essential/tools/find-notes.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/find-notes.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/get-cards.tool.d.ts +3 -2
- package/dist/mcp/primitives/essential/tools/get-cards.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/get-cards.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/get-due-cards.tool.d.ts +3 -2
- package/dist/mcp/primitives/essential/tools/get-due-cards.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/get-due-cards.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/get-media-files-names.tool.d.ts +106 -0
- package/dist/mcp/primitives/essential/tools/get-media-files-names.tool.js +76 -0
- package/dist/mcp/primitives/essential/tools/get-media-files-names.tool.js.map +1 -0
- package/dist/mcp/primitives/essential/tools/get-tags.tool.d.ts +2 -1
- package/dist/mcp/primitives/essential/tools/get-tags.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/get-tags.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/list-decks.tool.d.ts +106 -0
- package/dist/mcp/primitives/essential/tools/list-decks.tool.js +96 -0
- package/dist/mcp/primitives/essential/tools/list-decks.tool.js.map +1 -0
- package/dist/mcp/primitives/essential/tools/mediaActions/actions/deleteMediaFile.action.d.ts +1 -1
- package/dist/mcp/primitives/essential/tools/mediaActions/actions/getMediaFilesNames.action.d.ts +1 -1
- package/dist/mcp/primitives/essential/tools/mediaActions/actions/retrieveMediaFile.action.d.ts +1 -1
- package/dist/mcp/primitives/essential/tools/mediaActions/actions/storeMediaFile.action.d.ts +1 -1
- package/dist/mcp/primitives/essential/tools/model-field-names.tool.d.ts +2 -1
- package/dist/mcp/primitives/essential/tools/model-field-names.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/model-field-names.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/model-names.tool.d.ts +2 -1
- package/dist/mcp/primitives/essential/tools/model-names.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/model-names.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/model-styling.tool.d.ts +2 -1
- package/dist/mcp/primitives/essential/tools/model-styling.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/model-styling.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/notes-info.tool.d.ts +3 -2
- package/dist/mcp/primitives/essential/tools/notes-info.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/notes-info.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/present-card.tool.d.ts +3 -2
- package/dist/mcp/primitives/essential/tools/present-card.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/present-card.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/rate-card.tool.d.ts +2 -1
- package/dist/mcp/primitives/essential/tools/rate-card.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/rate-card.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/remove-tags.tool.d.ts +107 -0
- package/dist/mcp/primitives/essential/tools/remove-tags.tool.js +85 -0
- package/dist/mcp/primitives/essential/tools/remove-tags.tool.js.map +1 -0
- package/dist/mcp/primitives/essential/tools/replace-tags.tool.d.ts +108 -0
- package/dist/mcp/primitives/essential/tools/replace-tags.tool.js +92 -0
- package/dist/mcp/primitives/essential/tools/replace-tags.tool.js.map +1 -0
- package/dist/mcp/primitives/essential/tools/retrieve-media-file.tool.d.ts +106 -0
- package/dist/mcp/primitives/essential/tools/retrieve-media-file.tool.js +75 -0
- package/dist/mcp/primitives/essential/tools/retrieve-media-file.tool.js.map +1 -0
- package/dist/mcp/primitives/essential/tools/review-stats/review-stats.tool.d.ts +2 -1
- package/dist/mcp/primitives/essential/tools/review-stats/review-stats.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/review-stats/review-stats.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/review-stats/review-stats.types.d.ts +1 -1
- package/dist/mcp/primitives/essential/tools/{mediaActions/mediaActions.tool.d.ts → store-media-file.tool.d.ts} +5 -8
- package/dist/mcp/primitives/essential/tools/store-media-file.tool.js +92 -0
- package/dist/mcp/primitives/essential/tools/store-media-file.tool.js.map +1 -0
- package/dist/mcp/primitives/essential/tools/sync.tool.d.ts +2 -1
- package/dist/mcp/primitives/essential/tools/sync.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/sync.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/tagActions/actions/addTags.action.d.ts +1 -1
- package/dist/mcp/primitives/essential/tools/tagActions/actions/clearUnusedTags.action.d.ts +1 -1
- package/dist/mcp/primitives/essential/tools/tagActions/actions/removeTags.action.d.ts +1 -1
- package/dist/mcp/primitives/essential/tools/tagActions/actions/replaceTags.action.d.ts +1 -1
- package/dist/mcp/primitives/essential/tools/update-model-styling.tool.d.ts +2 -1
- package/dist/mcp/primitives/essential/tools/update-model-styling.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/update-model-styling.tool.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/update-note-fields.tool.d.ts +2 -1
- package/dist/mcp/primitives/essential/tools/update-note-fields.tool.js +2 -0
- package/dist/mcp/primitives/essential/tools/update-note-fields.tool.js.map +1 -1
- package/dist/mcp/primitives/gui/tools/gui-add-cards.tool.d.ts +2 -1
- package/dist/mcp/primitives/gui/tools/gui-add-cards.tool.js +3 -1
- package/dist/mcp/primitives/gui/tools/gui-add-cards.tool.js.map +1 -1
- package/dist/mcp/primitives/gui/tools/gui-browse.tool.d.ts +2 -1
- package/dist/mcp/primitives/gui/tools/gui-browse.tool.js +2 -0
- package/dist/mcp/primitives/gui/tools/gui-browse.tool.js.map +1 -1
- package/dist/mcp/primitives/gui/tools/gui-current-card.tool.d.ts +3 -2
- package/dist/mcp/primitives/gui/tools/gui-current-card.tool.js +2 -0
- package/dist/mcp/primitives/gui/tools/gui-current-card.tool.js.map +1 -1
- package/dist/mcp/primitives/gui/tools/gui-deck-browser.tool.d.ts +2 -1
- package/dist/mcp/primitives/gui/tools/gui-deck-browser.tool.js +2 -0
- package/dist/mcp/primitives/gui/tools/gui-deck-browser.tool.js.map +1 -1
- package/dist/mcp/primitives/gui/tools/gui-deck-overview.tool.d.ts +2 -1
- package/dist/mcp/primitives/gui/tools/gui-deck-overview.tool.js +2 -0
- package/dist/mcp/primitives/gui/tools/gui-deck-overview.tool.js.map +1 -1
- package/dist/mcp/primitives/gui/tools/gui-edit-note.tool.d.ts +2 -1
- package/dist/mcp/primitives/gui/tools/gui-edit-note.tool.js +2 -0
- package/dist/mcp/primitives/gui/tools/gui-edit-note.tool.js.map +1 -1
- package/dist/mcp/primitives/gui/tools/gui-select-card.tool.d.ts +2 -1
- package/dist/mcp/primitives/gui/tools/gui-select-card.tool.js +2 -0
- package/dist/mcp/primitives/gui/tools/gui-select-card.tool.js.map +1 -1
- package/dist/mcp/primitives/gui/tools/gui-selected-notes.tool.d.ts +2 -1
- package/dist/mcp/primitives/gui/tools/gui-selected-notes.tool.js +2 -0
- package/dist/mcp/primitives/gui/tools/gui-selected-notes.tool.js.map +1 -1
- package/dist/mcp/primitives/gui/tools/gui-show-answer.tool.d.ts +2 -1
- package/dist/mcp/primitives/gui/tools/gui-show-answer.tool.js +2 -0
- package/dist/mcp/primitives/gui/tools/gui-show-answer.tool.js.map +1 -1
- package/dist/mcp/primitives/gui/tools/gui-show-question.tool.d.ts +2 -1
- package/dist/mcp/primitives/gui/tools/gui-show-question.tool.js +2 -0
- package/dist/mcp/primitives/gui/tools/gui-show-question.tool.js.map +1 -1
- package/dist/mcp/primitives/gui/tools/gui-undo.tool.d.ts +2 -1
- package/dist/mcp/primitives/gui/tools/gui-undo.tool.js +2 -0
- package/dist/mcp/primitives/gui/tools/gui-undo.tool.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +22 -19
- package/dist/mcp/primitives/essential/tools/deckActions/deckActions.tool.js +0 -210
- package/dist/mcp/primitives/essential/tools/deckActions/deckActions.tool.js.map +0 -1
- package/dist/mcp/primitives/essential/tools/deckActions/index.d.ts +0 -5
- package/dist/mcp/primitives/essential/tools/deckActions/index.js +0 -6
- package/dist/mcp/primitives/essential/tools/deckActions/index.js.map +0 -1
- package/dist/mcp/primitives/essential/tools/mediaActions/index.d.ts +0 -5
- package/dist/mcp/primitives/essential/tools/mediaActions/index.js +0 -6
- package/dist/mcp/primitives/essential/tools/mediaActions/index.js.map +0 -1
- package/dist/mcp/primitives/essential/tools/mediaActions/mediaActions.tool.js +0 -156
- package/dist/mcp/primitives/essential/tools/mediaActions/mediaActions.tool.js.map +0 -1
- package/dist/mcp/primitives/essential/tools/tagActions/index.d.ts +0 -5
- package/dist/mcp/primitives/essential/tools/tagActions/index.js +0 -6
- package/dist/mcp/primitives/essential/tools/tagActions/index.js.map +0 -1
- package/dist/mcp/primitives/essential/tools/tagActions/tagActions.tool.js +0 -153
- package/dist/mcp/primitives/essential/tools/tagActions/tagActions.tool.js.map +0 -1
package/LICENSE
CHANGED
|
@@ -1,7 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
version 3 or later.
|
|
1
|
+
MIT License
|
|
3
2
|
|
|
4
|
-
Copyright (
|
|
3
|
+
Copyright (c) 2026 Anatoly Tarnavsky
|
|
5
4
|
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
|
|
6
|
+
associated documentation files (the "Software"), to deal in the Software without restriction, including
|
|
7
|
+
without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
8
|
+
copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the
|
|
9
|
+
following conditions:
|
|
10
|
+
|
|
11
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial
|
|
12
|
+
portions of the Software.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
|
|
15
|
+
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
|
|
16
|
+
EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
17
|
+
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
|
18
|
+
USE OR OTHER DEALINGS IN THE SOFTWARE.
|
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
|
-
- `
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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
|
-
- `
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
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:
|
|
@@ -428,7 +447,7 @@ The `deleteNotes` tool requires explicit confirmation (`confirmDeletion: true`)
|
|
|
428
447
|
|
|
429
448
|
### Media File Path and URL Validation
|
|
430
449
|
|
|
431
|
-
The `
|
|
450
|
+
The media tools (`storeMediaFile`, `retrieveMediaFile`, `deleteMediaFile`) and `updateNoteFields` audio/picture fields include security validation to prevent misuse via prompt injection:
|
|
432
451
|
|
|
433
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.
|
|
434
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.
|
|
@@ -438,6 +457,18 @@ These protections apply to `storeMediaFile`, `retrieveMediaFile`, `deleteMediaFi
|
|
|
438
457
|
|
|
439
458
|
> Path traversal vulnerability reported by [Hideaki Takahashi](https://github.com/Koukyosyumei).
|
|
440
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
|
+
|
|
441
472
|
## Known Issues
|
|
442
473
|
|
|
443
474
|
For a comprehensive list of known issues and limitations, please visit our documentation:
|
|
@@ -554,7 +585,7 @@ The output file will be named `anki-mcp-server-X.X.X.mcpb` and can be distribute
|
|
|
554
585
|
|
|
555
586
|
#### What Gets Bundled
|
|
556
587
|
|
|
557
|
-
The MCPB
|
|
588
|
+
The MCPB bundle includes:
|
|
558
589
|
- Compiled JavaScript (`dist/` directory - includes both entry points)
|
|
559
590
|
- Production dependencies only (`node_modules/` - devDependencies removed by `mcpb clean`)
|
|
560
591
|
- Package metadata (`package.json`)
|
|
@@ -806,7 +837,11 @@ This project follows [Semantic Versioning](https://semver.org/) with a pre-1.0 d
|
|
|
806
837
|
- Will be released when the API is stable and tested
|
|
807
838
|
- Breaking changes will require major version bumps (2.0.0, etc.)
|
|
808
839
|
|
|
809
|
-
**Current Status**: `0.
|
|
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.
|
|
810
845
|
|
|
811
846
|
## Similar Projects
|
|
812
847
|
|
|
@@ -845,18 +880,9 @@ If you're exploring Anki MCP integrations, here are other projects in this space
|
|
|
845
880
|
|
|
846
881
|
## License & Attribution
|
|
847
882
|
|
|
848
|
-
This project is licensed under the
|
|
849
|
-
|
|
850
|
-
### Why AGPL-3.0?
|
|
851
|
-
|
|
852
|
-
This license was chosen to maintain compatibility with Anki's AGPL-3.0 license for potential future integration scenarios.
|
|
853
|
-
|
|
854
|
-
**What this means:**
|
|
855
|
-
- **Personal use**: Use the software freely
|
|
856
|
-
- **Running as a service for others**: You must provide source code access (AGPL Section 13)
|
|
857
|
-
- **Modifying and distributing**: Share your improvements under AGPL-3.0-or-later
|
|
883
|
+
This project is licensed under the MIT License — see [LICENSE](LICENSE) for the full text.
|
|
858
884
|
|
|
859
|
-
|
|
885
|
+
Copyright © 2026 Anatoly Tarnavsky.
|
|
860
886
|
|
|
861
887
|
### Third-Party Attributions
|
|
862
888
|
|
package/dist/app.module.js
CHANGED
|
@@ -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: {
|
package/dist/app.module.js.map
CHANGED
|
@@ -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;
|
|
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,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 {
|
|
25
|
-
export {
|
|
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 {
|
|
51
|
-
import {
|
|
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
|
|
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.
|
|
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
|
|
70
|
-
Object.defineProperty(exports, "
|
|
71
|
-
var
|
|
72
|
-
Object.defineProperty(exports, "
|
|
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
|
|
104
|
-
const
|
|
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
|
-
|
|
130
|
-
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;AACA,4EAAiE;AAAxD,oHAAA,WAAW,OAAA;AAIpB,yDAAuC;AAGvC,yDAAuC;AAGvC,yEAI2C;AAHzC,wHAAA,iBAAiB,OAAA;AACjB,uHAAA,gBAAgB,OAAA;AAChB,wHAAA,iBAAiB,OAAA;AAInB,+CAA6C;AAApC,qGAAA,QAAQ,OAAA;AACjB,iEAA6D;AAApD,qHAAA,eAAe,OAAA;AACxB,yDAAsD;AAA7C,8GAAA,YAAY,OAAA;AACrB,+DAA4D;AAAnD,oHAAA,eAAe,OAAA;AACxB,yDAAsD;AAA7C,8GAAA,YAAY,OAAA;AACrB,6DAA0D;AAAjD,kHAAA,cAAc,OAAA;AACvB,yEAAqE;AAA5D,6HAAA,mBAAmB,OAAA;AAC5B,iEAA8D;AAArD,sHAAA,gBAAgB,OAAA;AACzB,+DAA4D;AAAnD,oHAAA,eAAe,OAAA;AACxB,+EAA2E;AAAlE,mIAAA,sBAAsB,OAAA;AAC/B,uDAAoD;AAA3C,4GAAA,WAAW,OAAA;AACpB,yDAAsD;AAA7C,8GAAA,YAAY,OAAA;AACrB,2DAAwD;AAA/C,gHAAA,aAAa,OAAA;AACtB,2DAAwD;AAA/C,gHAAA,aAAa,OAAA;AACtB,2EAAuE;AAA9D,+HAAA,oBAAoB,OAAA;AAC7B,+DAA4D;AAAnD,oHAAA,eAAe,OAAA;AACxB,
|
|
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
|
|
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
|
|
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 "
|
|
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;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-note.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/add-note.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAAuC;AAEvC,6BAAwB;AACxB,8EAAsE;AAEtE,0DAA6D;AAMtD,IAAM,WAAW,mBAAjB,MAAM,WAAW;IAGO;IAFZ,MAAM,GAAG,IAAI,eAAM,CAAC,aAAW,CAAC,IAAI,CAAC,CAAC;IAEvD,YAA6B,UAA6B;QAA7B,eAAU,GAAV,UAAU,CAAmB;IAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"add-note.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/add-note.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAAuC;AAEvC,6BAAwB;AACxB,8EAAsE;AAEtE,0DAA6D;AAMtD,IAAM,WAAW,mBAAjB,MAAM,WAAW;IAGO;IAFZ,MAAM,GAAG,IAAI,eAAM,CAAC,aAAW,CAAC,IAAI,CAAC,CAAC;IAEvD,YAA6B,UAA6B;QAA7B,eAAU,GAAV,UAAU,CAAmB;IAAG,CAAC;IAqExD,AAAN,KAAK,CAAC,OAAO,CACX,EACE,QAAQ,EACR,SAAS,EACT,MAAM,EACN,IAAI,EACJ,cAAc,EACd,cAAc,EACd,qBAAqB,GAatB,EACD,OAAgB;QAEhB,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,wBAAwB,QAAQ,iBAAiB,SAAS,GAAG,CAC9D,CAAC;YACF,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAG3D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAC7C,iBAAiB,EACjB;gBACE,SAAS,EAAE,SAAS;aACrB,CACF,CAAC;YAEF,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3C,OAAO,IAAA,gCAAmB,EACxB,IAAI,KAAK,CAAC,UAAU,SAAS,8BAA8B,CAAC,EAC5D;oBACE,SAAS;oBACT,IAAI,EAAE,6CAA6C;iBACpD,CACF,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAG3D,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YAEzC,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACpD,OAAO,IAAA,gCAAmB,EACxB,IAAI,KAAK,CACP,oBAAoB,SAAS,kEAAkE,CAChG,EACD;oBACE,SAAS;oBACT,SAAS;oBACT,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;oBACnC,IAAI,EAAE,oBAAoB,SAAS,yDAAyD;iBAC7F,CACF,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAG3D,MAAM,UAAU,GAAQ;gBACtB,QAAQ,EAAE,QAAQ;gBAClB,SAAS,EAAE,SAAS;gBACpB,MAAM,EAAE,MAAM;aACf,CAAC;YAGF,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;YACzB,CAAC;YAGD,MAAM,OAAO,GAAgB,EAAE,CAAC;YAChC,IAAI,UAAU,GAAG,KAAK,CAAC;YAEvB,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBACjC,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC;gBACxC,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;YAED,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBACjC,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC;gBACxC,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;YAED,IAAI,qBAAqB,KAAK,SAAS,EAAE,CAAC;gBACxC,OAAO,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;gBACtD,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;YAED,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,CAAC;YAED,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAG3D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAgB,SAAS,EAAE;gBACpE,IAAI,EAAE,UAAU;aACjB,CAAC,CAAC;YAEH,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAE3D,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;gBAChE,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;gBAE5D,OAAO,IAAA,gCAAmB,EACxB,IAAI,KAAK,CAAC,+CAA+C,CAAC,EAC1D;oBACE,QAAQ;oBACR,SAAS;oBACT,IAAI,EAAE,cAAc;wBAClB,CAAC,CAAC,+EAA+E;wBACjF,CAAC,CAAC,8FAA8F;iBACnG,CACF,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sCAAsC,MAAM,EAAE,CAAC,CAAC;YAEhE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAExC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,QAAQ;gBAClB,SAAS,EAAE,SAAS;gBACpB,OAAO,EAAE,sCAAsC,QAAQ,GAAG;gBAC1D,OAAO,EAAE;oBACP,WAAW,EAAE,UAAU;oBACvB,SAAS,EAAE,QAAQ;oBACnB,mBAAmB,EAAE,cAAc,IAAI,SAAS;iBACjD;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;YAG/C,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBACpC,OAAO,IAAA,gCAAmB,EAAC,KAAK,EAAE;wBAChC,QAAQ;wBACR,SAAS;wBACT,IAAI,EAAE,+DAA+D;qBACtE,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACnC,OAAO,IAAA,gCAAmB,EAAC,KAAK,EAAE;wBAChC,QAAQ;wBACR,SAAS;wBACT,IAAI,EAAE,+FAA+F;qBACtG,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBACpC,OAAO,IAAA,gCAAmB,EAAC,KAAK,EAAE;wBAChC,QAAQ;wBACR,SAAS;wBACT,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;wBACnC,IAAI,EAAE,iFAAiF;qBACxF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,OAAO,IAAA,gCAAmB,EAAC,KAAK,EAAE;gBAChC,QAAQ;gBACR,SAAS;gBACT,IAAI,EAAE,gEAAgE;aACvE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAA;AAhQY,kCAAW;AAwEhB;IAnEL,IAAA,eAAI,EAAC;QACJ,IAAI,EAAE,SAAS;QACf,WAAW,EACT,yNAAyN;QAC3N,UAAU,EAAE,OAAC,CAAC,MAAM,CAAC;YACnB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;YACnE,SAAS,EAAE,OAAC;iBACT,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,qDAAqD,CAAC;YAClE,MAAM,EAAE,OAAC;iBACN,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC;iBAC9B,QAAQ,CACP,iFAAiF,CAClF;YACH,IAAI,EAAE,OAAC;iBACJ,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;iBACjB,QAAQ,EAAE;iBACV,QAAQ,CAAC,kCAAkC,CAAC;YAC/C,cAAc,EAAE,OAAC;iBACd,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CAAC,yCAAyC,CAAC;YACtD,cAAc,EAAE,OAAC;iBACd,IAAI,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;iBAC5B,QAAQ,EAAE;iBACV,QAAQ,CAAC,8BAA8B,CAAC;YAC3C,qBAAqB,EAAE,OAAC;iBACrB,MAAM,CAAC;gBACN,QAAQ,EAAE,OAAC;qBACR,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CAAC,uCAAuC,CAAC;gBACpD,aAAa,EAAE,OAAC;qBACb,OAAO,EAAE;qBACT,QAAQ,EAAE;qBACV,OAAO,CAAC,KAAK,CAAC;qBACd,QAAQ,CAAC,kCAAkC,CAAC;gBAC/C,cAAc,EAAE,OAAC;qBACd,OAAO,EAAE;qBACT,QAAQ,EAAE;qBACV,OAAO,CAAC,KAAK,CAAC;qBACd,QAAQ,CAAC,6BAA6B,CAAC;aAC3C,CAAC;iBACD,QAAQ,EAAE;iBACV,QAAQ,CAAC,qCAAqC,CAAC;SACnD,CAAC;QACF,YAAY,EAAE,OAAC,CAAC,MAAM,CAAC;YACrB,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE;YACpB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;YAClB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;YACpB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;YACrB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;YACnB,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC;gBAChB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;gBACvB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;gBACrB,mBAAmB,EAAE,OAAC,CAAC,MAAM,EAAE;aAChC,CAAC;SACH,CAAC;QACF,WAAW,EAAE;YACX,KAAK,EAAE,UAAU;YACjB,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,KAAK;SACtB;KACF,CAAC;;;;0CAwLD;sBA/PU,WAAW;IADvB,IAAA,mBAAU,GAAE;qCAI8B,uCAAiB;GAH/C,WAAW,CAgQvB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Context } from "@rekog/mcp-nest";
|
|
2
|
-
import { AnkiConnectClient } from "
|
|
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;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-notes.tool.js","sourceRoot":"","sources":["../../../../../src/mcp/primitives/essential/tools/add-notes.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAAuC;AAEvC,6BAAwB;AACxB,8EAG2C;AAC3C,0DAA6D;AAmBtD,IAAM,YAAY,oBAAlB,MAAM,YAAY;IAGM;IAFZ,MAAM,GAAG,IAAI,eAAM,CAAC,cAAY,CAAC,IAAI,CAAC,CAAC;IAExD,YAA6B,UAA6B;QAA7B,eAAU,GAAV,UAAU,CAAmB;IAAG,CAAC;
|
|
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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"}
|
package/dist/mcp/primitives/essential/tools/{tagActions/tagActions.tool.d.ts → add-tags.tool.d.ts}
RENAMED
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
import type { Context } from "@rekog/mcp-nest";
|
|
2
|
-
import { AnkiConnectClient } from "
|
|
3
|
-
|
|
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
|
-
|
|
10
|
-
|
|
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
|
-
} |
|
|
106
|
+
} | import("./tagActions/actions/addTags.action").AddTagsResult>;
|
|
110
107
|
}
|