@ankimcp/anki-mcp-server 0.8.4 → 0.9.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/README.md +3 -2
- package/dist/cli.js +13 -13
- package/dist/cli.js.map +1 -1
- package/dist/mcp/primitives/essential/index.d.ts +1 -0
- package/dist/mcp/primitives/essential/index.js +5 -1
- package/dist/mcp/primitives/essential/index.js.map +1 -1
- package/dist/mcp/primitives/essential/tools/add-note.tool.d.ts +8 -16
- package/dist/mcp/primitives/essential/tools/create-deck.tool.d.ts +8 -16
- package/dist/mcp/primitives/essential/tools/create-model.tool.d.ts +8 -16
- package/dist/mcp/primitives/essential/tools/delete-notes.tool.d.ts +8 -16
- package/dist/mcp/primitives/essential/tools/find-notes.tool.d.ts +8 -16
- package/dist/mcp/primitives/essential/tools/get-cards.tool.d.ts +81 -0
- package/dist/mcp/primitives/essential/tools/get-cards.tool.js +118 -0
- package/dist/mcp/primitives/essential/tools/get-cards.tool.js.map +1 -0
- package/dist/mcp/primitives/essential/tools/get-due-cards.tool.d.ts +8 -16
- package/dist/mcp/primitives/essential/tools/list-decks.tool.d.ts +8 -16
- package/dist/mcp/primitives/essential/tools/mediaActions/mediaActions.tool.d.ts +8 -16
- package/dist/mcp/primitives/essential/tools/model-field-names.tool.d.ts +8 -16
- package/dist/mcp/primitives/essential/tools/model-names.tool.d.ts +8 -16
- package/dist/mcp/primitives/essential/tools/model-styling.tool.d.ts +8 -16
- package/dist/mcp/primitives/essential/tools/notes-info.tool.d.ts +8 -16
- package/dist/mcp/primitives/essential/tools/present-card.tool.d.ts +8 -16
- package/dist/mcp/primitives/essential/tools/rate-card.tool.d.ts +8 -16
- package/dist/mcp/primitives/essential/tools/sync.tool.d.ts +8 -16
- package/dist/mcp/primitives/essential/tools/update-model-styling.tool.d.ts +8 -16
- package/dist/mcp/primitives/essential/tools/update-note-fields.tool.d.ts +8 -16
- package/dist/mcp/primitives/gui/tools/gui-add-cards.tool.d.ts +8 -16
- package/dist/mcp/primitives/gui/tools/gui-browse.tool.d.ts +8 -16
- package/dist/mcp/primitives/gui/tools/gui-current-card.tool.d.ts +8 -16
- package/dist/mcp/primitives/gui/tools/gui-deck-browser.tool.d.ts +8 -16
- package/dist/mcp/primitives/gui/tools/gui-deck-overview.tool.d.ts +8 -16
- package/dist/mcp/primitives/gui/tools/gui-edit-note.tool.d.ts +8 -16
- package/dist/mcp/primitives/gui/tools/gui-select-card.tool.d.ts +8 -16
- package/dist/mcp/primitives/gui/tools/gui-selected-notes.tool.d.ts +8 -16
- package/dist/mcp/primitives/gui/tools/gui-show-answer.tool.d.ts +8 -16
- package/dist/mcp/primitives/gui/tools/gui-show-question.tool.d.ts +8 -16
- package/dist/mcp/primitives/gui/tools/gui-undo.tool.d.ts +8 -16
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +11 -3
package/README.md
CHANGED
|
@@ -464,14 +464,15 @@ This command will:
|
|
|
464
464
|
2. Remove old `.mcpb` files
|
|
465
465
|
3. Build the TypeScript project
|
|
466
466
|
4. Package `dist/` and `node_modules/` into an `.mcpb` file
|
|
467
|
+
5. Run `mcpb clean` to remove devDependencies (optimizes bundle from ~47MB to ~10MB)
|
|
467
468
|
|
|
468
|
-
The output file will be named
|
|
469
|
+
The output file will be named `anki-mcp-server-X.X.X.mcpb` and can be distributed for one-click installation.
|
|
469
470
|
|
|
470
471
|
#### What Gets Bundled
|
|
471
472
|
|
|
472
473
|
The MCPB package includes:
|
|
473
474
|
- Compiled JavaScript (`dist/` directory - includes both entry points)
|
|
474
|
-
-
|
|
475
|
+
- Production dependencies only (`node_modules/` - devDependencies removed by `mcpb clean`)
|
|
475
476
|
- Package metadata (`package.json`)
|
|
476
477
|
- Manifest configuration (`manifest.json` - configured to use `main-stdio.js`)
|
|
477
478
|
- Icon (`icon.png`)
|
package/dist/cli.js
CHANGED
|
@@ -15,7 +15,7 @@ function getPackageJson() {
|
|
|
15
15
|
return JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(__dirname, "../package.json"), "utf-8"));
|
|
16
16
|
}
|
|
17
17
|
catch {
|
|
18
|
-
return { version: "0.0.0", name: "
|
|
18
|
+
return { version: "0.0.0", name: "ankimcp" };
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
function getVersion() {
|
|
@@ -41,25 +41,25 @@ Transport Modes:
|
|
|
41
41
|
STDIO Mode: For desktop MCP clients (Cursor, Cline, Zed)
|
|
42
42
|
|
|
43
43
|
Examples - HTTP Mode:
|
|
44
|
-
$
|
|
45
|
-
$
|
|
46
|
-
$
|
|
47
|
-
$
|
|
44
|
+
$ ankimcp # Use defaults
|
|
45
|
+
$ ankimcp --port 8080 # Custom port
|
|
46
|
+
$ ankimcp --host 0.0.0.0 --port 3000 # Listen on all interfaces
|
|
47
|
+
$ ankimcp --anki-connect http://localhost:8765
|
|
48
48
|
|
|
49
49
|
Examples - HTTP Mode with Ngrok:
|
|
50
|
-
$
|
|
51
|
-
$
|
|
52
|
-
$
|
|
50
|
+
$ ankimcp --ngrok # Start with ngrok tunnel
|
|
51
|
+
$ ankimcp --port 8080 --ngrok # Custom port + ngrok
|
|
52
|
+
$ ankimcp --host 0.0.0.0 --ngrok # Public host + ngrok
|
|
53
53
|
|
|
54
54
|
Examples - STDIO Mode:
|
|
55
|
-
$
|
|
55
|
+
$ ankimcp --stdio # For use with npx in MCP clients
|
|
56
56
|
|
|
57
57
|
# MCP client configuration (Cursor, Cline, Zed, etc.):
|
|
58
58
|
{
|
|
59
59
|
"mcpServers": {
|
|
60
60
|
"anki-mcp": {
|
|
61
61
|
"command": "npx",
|
|
62
|
-
"args": ["-y", "
|
|
62
|
+
"args": ["-y", "ankimcp", "--stdio"]
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
}
|
|
@@ -68,7 +68,7 @@ Ngrok Setup (one-time):
|
|
|
68
68
|
1. Install: npm install -g ngrok
|
|
69
69
|
2. Get auth token from: https://dashboard.ngrok.com/get-started/your-authtoken
|
|
70
70
|
3. Setup: ngrok config add-authtoken <your-token>
|
|
71
|
-
4. Run:
|
|
71
|
+
4. Run: ankimcp --ngrok
|
|
72
72
|
`);
|
|
73
73
|
program.parse();
|
|
74
74
|
const options = program.opts();
|
|
@@ -102,13 +102,13 @@ ${!ngrokUrl
|
|
|
102
102
|
Usage with ngrok:
|
|
103
103
|
1. Install: npm install -g ngrok
|
|
104
104
|
2. Setup: ngrok config add-authtoken <your-token>
|
|
105
|
-
3. Run:
|
|
105
|
+
3. Run: ankimcp --ngrok
|
|
106
106
|
`
|
|
107
107
|
: `
|
|
108
108
|
Share this URL with your AI assistant:
|
|
109
109
|
${ngrokUrl}
|
|
110
110
|
`}
|
|
111
|
-
Run '
|
|
111
|
+
Run 'ankimcp --help' for more options.
|
|
112
112
|
`);
|
|
113
113
|
}
|
|
114
114
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;AA0BA,0CAEC;AAED,oCAuEC;AAED,oDAsCC;AA7ID,yCAAoC;AACpC,2BAAkC;AAClC,+BAA4B;AAC5B,sEAA6C;AAS7C,SAAS,cAAc;IACrB,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CACf,IAAA,iBAAY,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAC1D,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;AA0BA,0CAEC;AAED,oCAuEC;AAED,oDAsCC;AA7ID,yCAAoC;AACpC,2BAAkC;AAClC,+BAA4B;AAC5B,sEAA6C;AAS7C,SAAS,cAAc;IACrB,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CACf,IAAA,iBAAY,EAAC,IAAA,WAAI,EAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAC1D,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,cAAc,EAAE,CAAC,OAAO,CAAC;AAClC,CAAC;AAED,SAAgB,eAAe;IAC7B,IAAA,yBAAc,EAAC,EAAE,GAAG,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AACrD,CAAC;AAED,SAAgB,YAAY;IAC1B,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,SAAS,CAAC;SACf,WAAW,CAAC,yDAAyD,CAAC;SACtE,OAAO,CAAC,UAAU,EAAE,CAAC;SACrB,MAAM,CACL,SAAS,EACT,6DAA6D,CAC9D;SACA,MAAM,CAAC,qBAAqB,EAAE,+BAA+B,EAAE,MAAM,CAAC;SACtE,MAAM,CAAC,sBAAsB,EAAE,6BAA6B,EAAE,WAAW,CAAC;SAC1E,MAAM,CACL,0BAA0B,EAC1B,iBAAiB,EACjB,uBAAuB,CACxB;SACA,MAAM,CACL,SAAS,EACT,yDAAyD,CAC1D;SACA,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCL,CACI,CAAC;IAEJ,OAAO,CAAC,KAAK,EAAE,CAAC;IAEhB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAc,CAAC;IAE3C,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;QAC3C,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK;KAC9B,CAAC;AACJ,CAAC;AAED,SAAgB,oBAAoB,CAClC,OAAmB,EACnB,QAAiB;IAEjB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,wBAAwB,OAAO,EAAE,CAAC;IAChD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACpD,MAAM,WAAW,GACf,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAExE,OAAO,CAAC,GAAG,CAAC;;GAEX,WAAW;;;+BAGiB,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI;wBACnC,OAAO,CAAC,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,2BAA2B,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE;;;0BAGzE,OAAO,CAAC,IAAI;0BACZ,OAAO,CAAC,IAAI;0BACZ,OAAO,CAAC,WAAW;0EAC6B,QAAQ,CAAC,CAAC,CAAC,6BAA6B,QAAQ,iDAAiD,CAAC,CAAC,CAAC,EAAE;EAE9K,CAAC,QAAQ;QACP,CAAC,CAAC;;;;;CAKL;QACG,CAAC,CAAC;;IAEF,QAAQ;CAEZ;;CAEC,CAAC,CAAC;AACH,CAAC"}
|
|
@@ -7,6 +7,7 @@ export { SyncTool } from "./tools/sync.tool";
|
|
|
7
7
|
export { ListDecksTool } from "./tools/list-decks.tool";
|
|
8
8
|
export { CreateDeckTool } from "./tools/create-deck.tool";
|
|
9
9
|
export { GetDueCardsTool } from "./tools/get-due-cards.tool";
|
|
10
|
+
export { GetCardsTool } from "./tools/get-cards.tool";
|
|
10
11
|
export { PresentCardTool } from "./tools/present-card.tool";
|
|
11
12
|
export { RateCardTool } from "./tools/rate-card.tool";
|
|
12
13
|
export { ModelNamesTool } from "./tools/model-names.tool";
|
|
@@ -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.SystemInfoResource = exports.TwentyRulesPrompt = exports.ReviewSessionPrompt = exports.MediaActionsTool = exports.DeleteNotesTool = exports.UpdateNoteFieldsTool = exports.NotesInfoTool = exports.FindNotesTool = exports.AddNoteTool = exports.UpdateModelStylingTool = exports.CreateModelTool = exports.ModelStylingTool = exports.ModelFieldNamesTool = exports.ModelNamesTool = exports.RateCardTool = exports.PresentCardTool = exports.GetDueCardsTool = exports.CreateDeckTool = exports.ListDecksTool = exports.SyncTool = exports.AnkiConnectError = exports.AnkiConnectClient = exports.ANKI_CONFIG = void 0;
|
|
24
|
+
exports.McpPrimitivesAnkiEssentialModule = exports.SystemInfoResource = exports.TwentyRulesPrompt = exports.ReviewSessionPrompt = exports.MediaActionsTool = exports.DeleteNotesTool = exports.UpdateNoteFieldsTool = exports.NotesInfoTool = exports.FindNotesTool = exports.AddNoteTool = exports.UpdateModelStylingTool = exports.CreateModelTool = exports.ModelStylingTool = exports.ModelFieldNamesTool = exports.ModelNamesTool = exports.RateCardTool = exports.PresentCardTool = exports.GetCardsTool = exports.GetDueCardsTool = exports.CreateDeckTool = exports.ListDecksTool = exports.SyncTool = 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);
|
|
@@ -37,6 +37,8 @@ var create_deck_tool_1 = require("./tools/create-deck.tool");
|
|
|
37
37
|
Object.defineProperty(exports, "CreateDeckTool", { enumerable: true, get: function () { return create_deck_tool_1.CreateDeckTool; } });
|
|
38
38
|
var get_due_cards_tool_1 = require("./tools/get-due-cards.tool");
|
|
39
39
|
Object.defineProperty(exports, "GetDueCardsTool", { enumerable: true, get: function () { return get_due_cards_tool_1.GetDueCardsTool; } });
|
|
40
|
+
var get_cards_tool_1 = require("./tools/get-cards.tool");
|
|
41
|
+
Object.defineProperty(exports, "GetCardsTool", { enumerable: true, get: function () { return get_cards_tool_1.GetCardsTool; } });
|
|
40
42
|
var present_card_tool_1 = require("./tools/present-card.tool");
|
|
41
43
|
Object.defineProperty(exports, "PresentCardTool", { enumerable: true, get: function () { return present_card_tool_1.PresentCardTool; } });
|
|
42
44
|
var rate_card_tool_1 = require("./tools/rate-card.tool");
|
|
@@ -75,6 +77,7 @@ const sync_tool_2 = require("./tools/sync.tool");
|
|
|
75
77
|
const list_decks_tool_2 = require("./tools/list-decks.tool");
|
|
76
78
|
const create_deck_tool_2 = require("./tools/create-deck.tool");
|
|
77
79
|
const get_due_cards_tool_2 = require("./tools/get-due-cards.tool");
|
|
80
|
+
const get_cards_tool_2 = require("./tools/get-cards.tool");
|
|
78
81
|
const present_card_tool_2 = require("./tools/present-card.tool");
|
|
79
82
|
const rate_card_tool_2 = require("./tools/rate-card.tool");
|
|
80
83
|
const model_names_tool_2 = require("./tools/model-names.tool");
|
|
@@ -97,6 +100,7 @@ const MCP_PRIMITIVES = [
|
|
|
97
100
|
list_decks_tool_2.ListDecksTool,
|
|
98
101
|
create_deck_tool_2.CreateDeckTool,
|
|
99
102
|
get_due_cards_tool_2.GetDueCardsTool,
|
|
103
|
+
get_cards_tool_2.GetCardsTool,
|
|
100
104
|
present_card_tool_2.PresentCardTool,
|
|
101
105
|
rate_card_tool_2.RateCardTool,
|
|
102
106
|
model_names_tool_2.ModelNamesTool,
|
|
@@ -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,yEAG2C;AAFzC,wHAAA,iBAAiB,OAAA;AACjB,uHAAA,gBAAgB,OAAA;AAIlB,+CAA6C;AAApC,qGAAA,QAAQ,OAAA;AACjB,2DAAwD;AAA/C,gHAAA,aAAa,OAAA;AACtB,6DAA0D;AAAjD,kHAAA,cAAc,OAAA;AACvB,iEAA6D;AAApD,qHAAA,eAAe,OAAA;AACxB,+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,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,qDAAwD;AAA/C,gHAAA,gBAAgB,OAAA;AAGzB,yEAAsE;AAA7D,4HAAA,mBAAmB,OAAA;AAC5B,qEAAkE;AAAzD,wHAAA,iBAAiB,OAAA;AAG1B,yEAAsE;AAA7D,0HAAA,kBAAkB,OAAA;AAG3B,2CAAiE;AACjE,2EAAsE;AACtE,iDAA6C;AAC7C,6DAAwD;AACxD,+DAA0D;AAC1D,mEAA6D;AAC7D,iEAA4D;AAC5D,2DAAsD;AACtD,+DAA0D;AAC1D,2EAAqE;AACrE,mEAA8D;AAC9D,iEAA4D;AAC5D,iFAA2E;AAC3E,yDAAoD;AACpD,6DAAwD;AACxD,6DAAwD;AACxD,6EAAuE;AACvE,iEAA4D;AAC5D,uDAAwD;AACxD,2EAAsE;AACtE,uEAAkE;AAClE,2EAAsE;AAEtE,MAAM,cAAc,GAAG;IAErB,uCAAiB;IAEjB,oBAAQ;IACR,+BAAa;IACb,iCAAc;IACd,oCAAe;IACf,mCAAe;IACf,6BAAY;IACZ,iCAAc;IACd,4CAAmB;IACnB,qCAAgB;IAChB,mCAAe;IACf,kDAAsB;IACtB,2BAAW;IACX,+BAAa;IACb,+BAAa;IACb,8CAAoB;IACpB,mCAAe;IACf,+BAAgB;IAEhB,2CAAmB;IACnB,uCAAiB;IAEjB,yCAAkB;CACnB,CAAC;AAOK,IAAM,gCAAgC,wCAAtC,MAAM,gCAAgC;IAC3C,MAAM,CAAC,OAAO,CACZ,OAAgD;QAEhD,OAAO;YACL,MAAM,EAAE,kCAAgC;YACxC,SAAS,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,cAAc,CAAC;YAC1D,OAAO,EAAE,cAAc;SACxB,CAAC;IACJ,CAAC;CACF,CAAA;AAVY,4EAAgC;2CAAhC,gCAAgC;IAD5C,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,gCAAgC,CAU5C"}
|
|
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,yEAG2C;AAFzC,wHAAA,iBAAiB,OAAA;AACjB,uHAAA,gBAAgB,OAAA;AAIlB,+CAA6C;AAApC,qGAAA,QAAQ,OAAA;AACjB,2DAAwD;AAA/C,gHAAA,aAAa,OAAA;AACtB,6DAA0D;AAAjD,kHAAA,cAAc,OAAA;AACvB,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,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,qDAAwD;AAA/C,gHAAA,gBAAgB,OAAA;AAGzB,yEAAsE;AAA7D,4HAAA,mBAAmB,OAAA;AAC5B,qEAAkE;AAAzD,wHAAA,iBAAiB,OAAA;AAG1B,yEAAsE;AAA7D,0HAAA,kBAAkB,OAAA;AAG3B,2CAAiE;AACjE,2EAAsE;AACtE,iDAA6C;AAC7C,6DAAwD;AACxD,+DAA0D;AAC1D,mEAA6D;AAC7D,2DAAsD;AACtD,iEAA4D;AAC5D,2DAAsD;AACtD,+DAA0D;AAC1D,2EAAqE;AACrE,mEAA8D;AAC9D,iEAA4D;AAC5D,iFAA2E;AAC3E,yDAAoD;AACpD,6DAAwD;AACxD,6DAAwD;AACxD,6EAAuE;AACvE,iEAA4D;AAC5D,uDAAwD;AACxD,2EAAsE;AACtE,uEAAkE;AAClE,2EAAsE;AAEtE,MAAM,cAAc,GAAG;IAErB,uCAAiB;IAEjB,oBAAQ;IACR,+BAAa;IACb,iCAAc;IACd,oCAAe;IACf,6BAAY;IACZ,mCAAe;IACf,6BAAY;IACZ,iCAAc;IACd,4CAAmB;IACnB,qCAAgB;IAChB,mCAAe;IACf,kDAAsB;IACtB,2BAAW;IACX,+BAAa;IACb,+BAAa;IACb,8CAAoB;IACpB,mCAAe;IACf,+BAAgB;IAEhB,2CAAmB;IACnB,uCAAiB;IAEjB,yCAAkB;CACnB,CAAC;AAOK,IAAM,gCAAgC,wCAAtC,MAAM,gCAAgC;IAC3C,MAAM,CAAC,OAAO,CACZ,OAAgD;QAEhD,OAAO;YACL,MAAM,EAAE,kCAAgC;YACxC,SAAS,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,cAAc,CAAC;YAC1D,OAAO,EAAE,cAAc;SACxB,CAAC;IACJ,CAAC;CACF,CAAA;AAVY,4EAAgC;2CAAhC,gCAAgC;IAD5C,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,gCAAgC,CAU5C"}
|
|
@@ -19,14 +19,12 @@ export declare class AddNoteTool {
|
|
|
19
19
|
}, context: Context): Promise<{
|
|
20
20
|
[x: string]: unknown;
|
|
21
21
|
content: ({
|
|
22
|
-
[x: string]: unknown;
|
|
23
22
|
type: "text";
|
|
24
23
|
text: string;
|
|
25
24
|
_meta?: {
|
|
26
25
|
[x: string]: unknown;
|
|
27
26
|
} | undefined;
|
|
28
27
|
} | {
|
|
29
|
-
[x: string]: unknown;
|
|
30
28
|
type: "image";
|
|
31
29
|
data: string;
|
|
32
30
|
mimeType: string;
|
|
@@ -34,7 +32,6 @@ export declare class AddNoteTool {
|
|
|
34
32
|
[x: string]: unknown;
|
|
35
33
|
} | undefined;
|
|
36
34
|
} | {
|
|
37
|
-
[x: string]: unknown;
|
|
38
35
|
type: "audio";
|
|
39
36
|
data: string;
|
|
40
37
|
mimeType: string;
|
|
@@ -42,41 +39,36 @@ export declare class AddNoteTool {
|
|
|
42
39
|
[x: string]: unknown;
|
|
43
40
|
} | undefined;
|
|
44
41
|
} | {
|
|
45
|
-
[x: string]: unknown;
|
|
46
|
-
type: "resource_link";
|
|
47
|
-
name: string;
|
|
48
42
|
uri: string;
|
|
43
|
+
name: string;
|
|
44
|
+
type: "resource_link";
|
|
45
|
+
description?: string | undefined;
|
|
46
|
+
mimeType?: string | undefined;
|
|
49
47
|
_meta?: {
|
|
50
48
|
[x: string]: unknown;
|
|
51
49
|
} | undefined;
|
|
52
|
-
mimeType?: string | undefined;
|
|
53
|
-
title?: string | undefined;
|
|
54
|
-
description?: string | undefined;
|
|
55
50
|
icons?: {
|
|
56
|
-
[x: string]: unknown;
|
|
57
51
|
src: string;
|
|
58
52
|
mimeType?: string | undefined;
|
|
59
53
|
sizes?: string[] | undefined;
|
|
60
54
|
}[] | undefined;
|
|
55
|
+
title?: string | undefined;
|
|
61
56
|
} | {
|
|
62
|
-
[x: string]: unknown;
|
|
63
57
|
type: "resource";
|
|
64
58
|
resource: {
|
|
65
|
-
[x: string]: unknown;
|
|
66
|
-
text: string;
|
|
67
59
|
uri: string;
|
|
60
|
+
text: string;
|
|
61
|
+
mimeType?: string | undefined;
|
|
68
62
|
_meta?: {
|
|
69
63
|
[x: string]: unknown;
|
|
70
64
|
} | undefined;
|
|
71
|
-
mimeType?: string | undefined;
|
|
72
65
|
} | {
|
|
73
|
-
[x: string]: unknown;
|
|
74
66
|
uri: string;
|
|
75
67
|
blob: string;
|
|
68
|
+
mimeType?: string | undefined;
|
|
76
69
|
_meta?: {
|
|
77
70
|
[x: string]: unknown;
|
|
78
71
|
} | undefined;
|
|
79
|
-
mimeType?: string | undefined;
|
|
80
72
|
};
|
|
81
73
|
_meta?: {
|
|
82
74
|
[x: string]: unknown;
|
|
@@ -9,14 +9,12 @@ export declare class CreateDeckTool {
|
|
|
9
9
|
}, context: Context): Promise<{
|
|
10
10
|
[x: string]: unknown;
|
|
11
11
|
content: ({
|
|
12
|
-
[x: string]: unknown;
|
|
13
12
|
type: "text";
|
|
14
13
|
text: string;
|
|
15
14
|
_meta?: {
|
|
16
15
|
[x: string]: unknown;
|
|
17
16
|
} | undefined;
|
|
18
17
|
} | {
|
|
19
|
-
[x: string]: unknown;
|
|
20
18
|
type: "image";
|
|
21
19
|
data: string;
|
|
22
20
|
mimeType: string;
|
|
@@ -24,7 +22,6 @@ export declare class CreateDeckTool {
|
|
|
24
22
|
[x: string]: unknown;
|
|
25
23
|
} | undefined;
|
|
26
24
|
} | {
|
|
27
|
-
[x: string]: unknown;
|
|
28
25
|
type: "audio";
|
|
29
26
|
data: string;
|
|
30
27
|
mimeType: string;
|
|
@@ -32,41 +29,36 @@ export declare class CreateDeckTool {
|
|
|
32
29
|
[x: string]: unknown;
|
|
33
30
|
} | undefined;
|
|
34
31
|
} | {
|
|
35
|
-
[x: string]: unknown;
|
|
36
|
-
type: "resource_link";
|
|
37
|
-
name: string;
|
|
38
32
|
uri: string;
|
|
33
|
+
name: string;
|
|
34
|
+
type: "resource_link";
|
|
35
|
+
description?: string | undefined;
|
|
36
|
+
mimeType?: string | undefined;
|
|
39
37
|
_meta?: {
|
|
40
38
|
[x: string]: unknown;
|
|
41
39
|
} | undefined;
|
|
42
|
-
mimeType?: string | undefined;
|
|
43
|
-
title?: string | undefined;
|
|
44
|
-
description?: string | undefined;
|
|
45
40
|
icons?: {
|
|
46
|
-
[x: string]: unknown;
|
|
47
41
|
src: string;
|
|
48
42
|
mimeType?: string | undefined;
|
|
49
43
|
sizes?: string[] | undefined;
|
|
50
44
|
}[] | undefined;
|
|
45
|
+
title?: string | undefined;
|
|
51
46
|
} | {
|
|
52
|
-
[x: string]: unknown;
|
|
53
47
|
type: "resource";
|
|
54
48
|
resource: {
|
|
55
|
-
[x: string]: unknown;
|
|
56
|
-
text: string;
|
|
57
49
|
uri: string;
|
|
50
|
+
text: string;
|
|
51
|
+
mimeType?: string | undefined;
|
|
58
52
|
_meta?: {
|
|
59
53
|
[x: string]: unknown;
|
|
60
54
|
} | undefined;
|
|
61
|
-
mimeType?: string | undefined;
|
|
62
55
|
} | {
|
|
63
|
-
[x: string]: unknown;
|
|
64
56
|
uri: string;
|
|
65
57
|
blob: string;
|
|
58
|
+
mimeType?: string | undefined;
|
|
66
59
|
_meta?: {
|
|
67
60
|
[x: string]: unknown;
|
|
68
61
|
} | undefined;
|
|
69
|
-
mimeType?: string | undefined;
|
|
70
62
|
};
|
|
71
63
|
_meta?: {
|
|
72
64
|
[x: string]: unknown;
|
|
@@ -14,14 +14,12 @@ export declare class CreateModelTool {
|
|
|
14
14
|
}, context: Context): Promise<{
|
|
15
15
|
[x: string]: unknown;
|
|
16
16
|
content: ({
|
|
17
|
-
[x: string]: unknown;
|
|
18
17
|
type: "text";
|
|
19
18
|
text: string;
|
|
20
19
|
_meta?: {
|
|
21
20
|
[x: string]: unknown;
|
|
22
21
|
} | undefined;
|
|
23
22
|
} | {
|
|
24
|
-
[x: string]: unknown;
|
|
25
23
|
type: "image";
|
|
26
24
|
data: string;
|
|
27
25
|
mimeType: string;
|
|
@@ -29,7 +27,6 @@ export declare class CreateModelTool {
|
|
|
29
27
|
[x: string]: unknown;
|
|
30
28
|
} | undefined;
|
|
31
29
|
} | {
|
|
32
|
-
[x: string]: unknown;
|
|
33
30
|
type: "audio";
|
|
34
31
|
data: string;
|
|
35
32
|
mimeType: string;
|
|
@@ -37,41 +34,36 @@ export declare class CreateModelTool {
|
|
|
37
34
|
[x: string]: unknown;
|
|
38
35
|
} | undefined;
|
|
39
36
|
} | {
|
|
40
|
-
[x: string]: unknown;
|
|
41
|
-
type: "resource_link";
|
|
42
|
-
name: string;
|
|
43
37
|
uri: string;
|
|
38
|
+
name: string;
|
|
39
|
+
type: "resource_link";
|
|
40
|
+
description?: string | undefined;
|
|
41
|
+
mimeType?: string | undefined;
|
|
44
42
|
_meta?: {
|
|
45
43
|
[x: string]: unknown;
|
|
46
44
|
} | undefined;
|
|
47
|
-
mimeType?: string | undefined;
|
|
48
|
-
title?: string | undefined;
|
|
49
|
-
description?: string | undefined;
|
|
50
45
|
icons?: {
|
|
51
|
-
[x: string]: unknown;
|
|
52
46
|
src: string;
|
|
53
47
|
mimeType?: string | undefined;
|
|
54
48
|
sizes?: string[] | undefined;
|
|
55
49
|
}[] | undefined;
|
|
50
|
+
title?: string | undefined;
|
|
56
51
|
} | {
|
|
57
|
-
[x: string]: unknown;
|
|
58
52
|
type: "resource";
|
|
59
53
|
resource: {
|
|
60
|
-
[x: string]: unknown;
|
|
61
|
-
text: string;
|
|
62
54
|
uri: string;
|
|
55
|
+
text: string;
|
|
56
|
+
mimeType?: string | undefined;
|
|
63
57
|
_meta?: {
|
|
64
58
|
[x: string]: unknown;
|
|
65
59
|
} | undefined;
|
|
66
|
-
mimeType?: string | undefined;
|
|
67
60
|
} | {
|
|
68
|
-
[x: string]: unknown;
|
|
69
61
|
uri: string;
|
|
70
62
|
blob: string;
|
|
63
|
+
mimeType?: string | undefined;
|
|
71
64
|
_meta?: {
|
|
72
65
|
[x: string]: unknown;
|
|
73
66
|
} | undefined;
|
|
74
|
-
mimeType?: string | undefined;
|
|
75
67
|
};
|
|
76
68
|
_meta?: {
|
|
77
69
|
[x: string]: unknown;
|
|
@@ -10,14 +10,12 @@ export declare class DeleteNotesTool {
|
|
|
10
10
|
}, context: Context): Promise<{
|
|
11
11
|
[x: string]: unknown;
|
|
12
12
|
content: ({
|
|
13
|
-
[x: string]: unknown;
|
|
14
13
|
type: "text";
|
|
15
14
|
text: string;
|
|
16
15
|
_meta?: {
|
|
17
16
|
[x: string]: unknown;
|
|
18
17
|
} | undefined;
|
|
19
18
|
} | {
|
|
20
|
-
[x: string]: unknown;
|
|
21
19
|
type: "image";
|
|
22
20
|
data: string;
|
|
23
21
|
mimeType: string;
|
|
@@ -25,7 +23,6 @@ export declare class DeleteNotesTool {
|
|
|
25
23
|
[x: string]: unknown;
|
|
26
24
|
} | undefined;
|
|
27
25
|
} | {
|
|
28
|
-
[x: string]: unknown;
|
|
29
26
|
type: "audio";
|
|
30
27
|
data: string;
|
|
31
28
|
mimeType: string;
|
|
@@ -33,41 +30,36 @@ export declare class DeleteNotesTool {
|
|
|
33
30
|
[x: string]: unknown;
|
|
34
31
|
} | undefined;
|
|
35
32
|
} | {
|
|
36
|
-
[x: string]: unknown;
|
|
37
|
-
type: "resource_link";
|
|
38
|
-
name: string;
|
|
39
33
|
uri: string;
|
|
34
|
+
name: string;
|
|
35
|
+
type: "resource_link";
|
|
36
|
+
description?: string | undefined;
|
|
37
|
+
mimeType?: string | undefined;
|
|
40
38
|
_meta?: {
|
|
41
39
|
[x: string]: unknown;
|
|
42
40
|
} | undefined;
|
|
43
|
-
mimeType?: string | undefined;
|
|
44
|
-
title?: string | undefined;
|
|
45
|
-
description?: string | undefined;
|
|
46
41
|
icons?: {
|
|
47
|
-
[x: string]: unknown;
|
|
48
42
|
src: string;
|
|
49
43
|
mimeType?: string | undefined;
|
|
50
44
|
sizes?: string[] | undefined;
|
|
51
45
|
}[] | undefined;
|
|
46
|
+
title?: string | undefined;
|
|
52
47
|
} | {
|
|
53
|
-
[x: string]: unknown;
|
|
54
48
|
type: "resource";
|
|
55
49
|
resource: {
|
|
56
|
-
[x: string]: unknown;
|
|
57
|
-
text: string;
|
|
58
50
|
uri: string;
|
|
51
|
+
text: string;
|
|
52
|
+
mimeType?: string | undefined;
|
|
59
53
|
_meta?: {
|
|
60
54
|
[x: string]: unknown;
|
|
61
55
|
} | undefined;
|
|
62
|
-
mimeType?: string | undefined;
|
|
63
56
|
} | {
|
|
64
|
-
[x: string]: unknown;
|
|
65
57
|
uri: string;
|
|
66
58
|
blob: string;
|
|
59
|
+
mimeType?: string | undefined;
|
|
67
60
|
_meta?: {
|
|
68
61
|
[x: string]: unknown;
|
|
69
62
|
} | undefined;
|
|
70
|
-
mimeType?: string | undefined;
|
|
71
63
|
};
|
|
72
64
|
_meta?: {
|
|
73
65
|
[x: string]: unknown;
|
|
@@ -9,14 +9,12 @@ export declare class FindNotesTool {
|
|
|
9
9
|
}, context: Context): Promise<{
|
|
10
10
|
[x: string]: unknown;
|
|
11
11
|
content: ({
|
|
12
|
-
[x: string]: unknown;
|
|
13
12
|
type: "text";
|
|
14
13
|
text: string;
|
|
15
14
|
_meta?: {
|
|
16
15
|
[x: string]: unknown;
|
|
17
16
|
} | undefined;
|
|
18
17
|
} | {
|
|
19
|
-
[x: string]: unknown;
|
|
20
18
|
type: "image";
|
|
21
19
|
data: string;
|
|
22
20
|
mimeType: string;
|
|
@@ -24,7 +22,6 @@ export declare class FindNotesTool {
|
|
|
24
22
|
[x: string]: unknown;
|
|
25
23
|
} | undefined;
|
|
26
24
|
} | {
|
|
27
|
-
[x: string]: unknown;
|
|
28
25
|
type: "audio";
|
|
29
26
|
data: string;
|
|
30
27
|
mimeType: string;
|
|
@@ -32,41 +29,36 @@ export declare class FindNotesTool {
|
|
|
32
29
|
[x: string]: unknown;
|
|
33
30
|
} | undefined;
|
|
34
31
|
} | {
|
|
35
|
-
[x: string]: unknown;
|
|
36
|
-
type: "resource_link";
|
|
37
|
-
name: string;
|
|
38
32
|
uri: string;
|
|
33
|
+
name: string;
|
|
34
|
+
type: "resource_link";
|
|
35
|
+
description?: string | undefined;
|
|
36
|
+
mimeType?: string | undefined;
|
|
39
37
|
_meta?: {
|
|
40
38
|
[x: string]: unknown;
|
|
41
39
|
} | undefined;
|
|
42
|
-
mimeType?: string | undefined;
|
|
43
|
-
title?: string | undefined;
|
|
44
|
-
description?: string | undefined;
|
|
45
40
|
icons?: {
|
|
46
|
-
[x: string]: unknown;
|
|
47
41
|
src: string;
|
|
48
42
|
mimeType?: string | undefined;
|
|
49
43
|
sizes?: string[] | undefined;
|
|
50
44
|
}[] | undefined;
|
|
45
|
+
title?: string | undefined;
|
|
51
46
|
} | {
|
|
52
|
-
[x: string]: unknown;
|
|
53
47
|
type: "resource";
|
|
54
48
|
resource: {
|
|
55
|
-
[x: string]: unknown;
|
|
56
|
-
text: string;
|
|
57
49
|
uri: string;
|
|
50
|
+
text: string;
|
|
51
|
+
mimeType?: string | undefined;
|
|
58
52
|
_meta?: {
|
|
59
53
|
[x: string]: unknown;
|
|
60
54
|
} | undefined;
|
|
61
|
-
mimeType?: string | undefined;
|
|
62
55
|
} | {
|
|
63
|
-
[x: string]: unknown;
|
|
64
56
|
uri: string;
|
|
65
57
|
blob: string;
|
|
58
|
+
mimeType?: string | undefined;
|
|
66
59
|
_meta?: {
|
|
67
60
|
[x: string]: unknown;
|
|
68
61
|
} | undefined;
|
|
69
|
-
mimeType?: string | undefined;
|
|
70
62
|
};
|
|
71
63
|
_meta?: {
|
|
72
64
|
[x: string]: unknown;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { Context } from "@rekog/mcp-nest";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { AnkiConnectClient } from "@/mcp/clients/anki-connect.client";
|
|
4
|
+
declare const CardStateEnum: z.ZodEnum<["due", "new", "learning", "suspended", "buried"]>;
|
|
5
|
+
type CardState = z.infer<typeof CardStateEnum>;
|
|
6
|
+
export declare class GetCardsTool {
|
|
7
|
+
private readonly ankiClient;
|
|
8
|
+
private readonly logger;
|
|
9
|
+
constructor(ankiClient: AnkiConnectClient);
|
|
10
|
+
getCards({ deck_name, card_state, limit, }: {
|
|
11
|
+
deck_name?: string;
|
|
12
|
+
card_state?: CardState;
|
|
13
|
+
limit?: number;
|
|
14
|
+
}, context: Context): Promise<{
|
|
15
|
+
[x: string]: unknown;
|
|
16
|
+
content: ({
|
|
17
|
+
type: "text";
|
|
18
|
+
text: string;
|
|
19
|
+
_meta?: {
|
|
20
|
+
[x: string]: unknown;
|
|
21
|
+
} | undefined;
|
|
22
|
+
} | {
|
|
23
|
+
type: "image";
|
|
24
|
+
data: string;
|
|
25
|
+
mimeType: string;
|
|
26
|
+
_meta?: {
|
|
27
|
+
[x: string]: unknown;
|
|
28
|
+
} | undefined;
|
|
29
|
+
} | {
|
|
30
|
+
type: "audio";
|
|
31
|
+
data: string;
|
|
32
|
+
mimeType: string;
|
|
33
|
+
_meta?: {
|
|
34
|
+
[x: string]: unknown;
|
|
35
|
+
} | undefined;
|
|
36
|
+
} | {
|
|
37
|
+
uri: string;
|
|
38
|
+
name: string;
|
|
39
|
+
type: "resource_link";
|
|
40
|
+
description?: string | undefined;
|
|
41
|
+
mimeType?: string | undefined;
|
|
42
|
+
_meta?: {
|
|
43
|
+
[x: string]: unknown;
|
|
44
|
+
} | undefined;
|
|
45
|
+
icons?: {
|
|
46
|
+
src: string;
|
|
47
|
+
mimeType?: string | undefined;
|
|
48
|
+
sizes?: string[] | undefined;
|
|
49
|
+
}[] | undefined;
|
|
50
|
+
title?: string | undefined;
|
|
51
|
+
} | {
|
|
52
|
+
type: "resource";
|
|
53
|
+
resource: {
|
|
54
|
+
uri: string;
|
|
55
|
+
text: string;
|
|
56
|
+
mimeType?: string | undefined;
|
|
57
|
+
_meta?: {
|
|
58
|
+
[x: string]: unknown;
|
|
59
|
+
} | undefined;
|
|
60
|
+
} | {
|
|
61
|
+
uri: string;
|
|
62
|
+
blob: string;
|
|
63
|
+
mimeType?: string | undefined;
|
|
64
|
+
_meta?: {
|
|
65
|
+
[x: string]: unknown;
|
|
66
|
+
} | undefined;
|
|
67
|
+
};
|
|
68
|
+
_meta?: {
|
|
69
|
+
[x: string]: unknown;
|
|
70
|
+
} | undefined;
|
|
71
|
+
})[];
|
|
72
|
+
_meta?: {
|
|
73
|
+
[x: string]: unknown;
|
|
74
|
+
} | undefined;
|
|
75
|
+
structuredContent?: {
|
|
76
|
+
[x: string]: unknown;
|
|
77
|
+
} | undefined;
|
|
78
|
+
isError?: boolean | undefined;
|
|
79
|
+
}>;
|
|
80
|
+
}
|
|
81
|
+
export {};
|