@laomeifun/my-anki-mcp 0.11.0 → 0.11.2

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/package.json CHANGED
@@ -1,183 +1,183 @@
1
- {
2
- "name": "@laomeifun/my-anki-mcp",
3
- "version": "0.11.0",
4
- "description": "Model Context Protocol server for Anki - enables AI assistants to interact with your Anki flashcards",
5
- "author": "laomeifun",
6
- "private": false,
7
- "license": "AGPL-3.0-or-later",
8
- "main": "dist/main-http.js",
9
- "bin": {
10
- "ankimcp": "bin/ankimcp.js",
11
- "anki-mcp-server": "bin/ankimcp.js"
12
- },
13
- "scripts": {
14
- "build": "nest build",
15
- "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
16
- "start:dev:stdio": "nest start --watch --entryFile main-stdio",
17
- "start:dev:http": "nest start --watch --entryFile main-http",
18
- "start:debug:stdio": "nest start --debug --watch --entryFile main-stdio",
19
- "start:debug:http": "nest start --debug --watch --entryFile main-http",
20
- "start:prod:stdio": "node dist/main-stdio",
21
- "start:prod:http": "node dist/main-http",
22
- "lint": "eslint \"{src,test}/**/*.ts\" --fix",
23
- "test": "jest",
24
- "test:watch": "jest --watch",
25
- "test:cov": "jest --coverage",
26
- "test:unit": "jest --testPathPatterns='spec\\.ts$' --silent",
27
- "test:tools": "jest src/mcp/primitives/essential/tools/__tests__ --silent",
28
- "test:workflows": "jest test/workflows --silent",
29
- "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
30
- "test:ci": "jest --coverage --silent --maxWorkers=2",
31
- "test:single": "npm test -- src/mcp/primitives/essential/tools/__tests__/delete-notes.tool.spec.ts",
32
- "e2e:up": "cd .docker && docker compose up -d",
33
- "e2e:down": "cd .docker && docker compose down",
34
- "e2e:logs": "cd .docker && docker compose logs -f",
35
- "e2e:test": "jest --config test/e2e/jest-e2e.config.js",
36
- "e2e:test:http": "jest --config test/e2e/jest-e2e.config.js --testPathPatterns='http\\.e2e-spec'",
37
- "e2e:test:stdio": "jest --config test/e2e/jest-e2e.config.js --testPathPatterns='stdio\\.e2e-spec'",
38
- "e2e:full:local": "./scripts/e2e-full.sh",
39
- "type-check": "tsc --noEmit",
40
- "clean": "rm -rf dist dist-stdio dist-http node_modules",
41
- "inspector:stdio": "./node_modules/.bin/mcp-inspector --config mcp-inspector-config.json --server stdio-server",
42
- "inspector:stdio:debug": "./node_modules/.bin/mcp-inspector --config mcp-inspector-config.json --server stdio-server-debug",
43
- "inspector:http": "./node_modules/.bin/mcp-inspector --config mcp-inspector-config.json --server http-server",
44
- "sync-version": "node scripts/sync-version.js",
45
- "mcpb:clean": "rm -f *.mcpb",
46
- "mcpb:bundle": "npm run sync-version && npm run mcpb:clean && npm run build && mcpb pack . \"anki-mcp-server-$npm_package_version.mcpb\" && mcpb clean \"anki-mcp-server-$npm_package_version.mcpb\"",
47
- "pack:local": "rm -f *.tgz && npm run build && npm pack",
48
- "install:local": "npm install -g ./laomeifun-my-anki-mcp-*.tgz",
49
- "uninstall:local": "npm uninstall -g @laomeifun/my-anki-mcp",
50
- "prepare": "husky"
51
- },
52
- "dependencies": {
53
- "@modelcontextprotocol/sdk": "^1.25.2",
54
- "@nestjs/common": "^11.1.11",
55
- "@nestjs/config": "^4.0.2",
56
- "@nestjs/core": "^11.1.11",
57
- "@nestjs/jwt": "^11.0.2",
58
- "@nestjs/passport": "^11.0.5",
59
- "@nestjs/platform-express": "^11.1.11",
60
- "@rekog/mcp-nest": "^1.9.2",
61
- "commander": "^14.0.1",
62
- "jsonwebtoken": "^9.0.3",
63
- "ky": "^1.14.2",
64
- "passport": "^0.7.0",
65
- "passport-jwt": "^4.0.1",
66
- "pino": "^10.1.1",
67
- "pino-pretty": "^13.1.3",
68
- "reflect-metadata": "^0.2.2",
69
- "remark-parse": "^11.0.0",
70
- "rxjs": "^7.8.2",
71
- "unified": "^11.0.5",
72
- "unist-util-visit": "^5.0.0",
73
- "update-notifier": "^7.3.1",
74
- "zod": "^4.3.5",
75
- "zod-to-json-schema": "^3.25.1"
76
- },
77
- "devDependencies": {
78
- "@anthropic-ai/mcpb": "^2.1.2",
79
- "@eslint/eslintrc": "^3.3.3",
80
- "@eslint/js": "^9.39.2",
81
- "@modelcontextprotocol/inspector": "^0.18.0",
82
- "@nestjs/cli": "^11.0.14",
83
- "@nestjs/schematics": "^11.0.7",
84
- "@nestjs/testing": "^11.1.11",
85
- "@types/express": "^5.0.6",
86
- "@types/jest": "^30.0.0",
87
- "@types/jsonwebtoken": "^9.0.10",
88
- "@types/mdast": "^4.0.4",
89
- "@types/node": "^25.0.6",
90
- "@types/supertest": "^6.0.3",
91
- "@types/update-notifier": "^6.0.8",
92
- "eslint": "^9.39.2",
93
- "eslint-config-prettier": "^10.1.8",
94
- "eslint-plugin-prettier": "^5.5.4",
95
- "globals": "^17.0.0",
96
- "husky": "^9.1.7",
97
- "jest": "^30.1.3",
98
- "prettier": "^3.7.4",
99
- "source-map-support": "^0.5.21",
100
- "supertest": "^7.2.2",
101
- "ts-jest": "^29.4.6",
102
- "ts-loader": "^9.5.4",
103
- "ts-node": "^10.9.2",
104
- "tsconfig-paths": "^4.2.0",
105
- "typescript": "^5.9.2",
106
- "typescript-eslint": "^8.53.0"
107
- },
108
- "jest": {
109
- "moduleFileExtensions": [
110
- "js",
111
- "json",
112
- "ts"
113
- ],
114
- "rootDir": ".",
115
- "roots": [
116
- "<rootDir>/src",
117
- "<rootDir>/test"
118
- ],
119
- "testRegex": ".*\\.(spec|test)\\.ts$",
120
- "transform": {
121
- "^.+\\.(t|j)s$": "ts-jest"
122
- },
123
- "collectCoverageFrom": [
124
- "src/**/*.(t|j)s",
125
- "!src/**/*.spec.ts",
126
- "!src/**/*.test.ts",
127
- "!src/**/__tests__/**",
128
- "!src/**/__mocks__/**",
129
- "!src/test-fixtures/**",
130
- "!src/main.ts",
131
- "!src/main-stdio.ts",
132
- "!src/main-http.ts",
133
- "!src/**/index.ts"
134
- ],
135
- "coverageDirectory": "coverage",
136
- "testEnvironment": "node",
137
- "coverageThreshold": {
138
- "global": {
139
- "branches": 70,
140
- "functions": 70,
141
- "lines": 70,
142
- "statements": 70
143
- }
144
- },
145
- "moduleNameMapper": {
146
- "^@/(.*)$": "<rootDir>/src/$1",
147
- "^@test/(.*)$": "<rootDir>/test/$1"
148
- },
149
- "transformIgnorePatterns": [
150
- "node_modules/(?!(ky|unified|remark-parse|unist-util-visit|mdast-util-to-string|micromark.*|decode-named-character-reference|character-entities|unist-.*|vfile.*|bail|is-plain-obj|trough|devlop|mdast.*|hast.*)/)"
151
- ],
152
- "forceExit": true
153
- },
154
- "engines": {
155
- "node": ">=20"
156
- },
157
- "repository": {
158
- "type": "git",
159
- "url": "https://github.com/laomeifun/my-anki-mcp.git"
160
- },
161
- "bugs": {
162
- "url": "https://github.com/laomeifun/my-anki-mcp/issues"
163
- },
164
- "homepage": "https://github.com/laomeifun/my-anki-mcp",
165
- "keywords": [
166
- "mcp",
167
- "model-context-protocol",
168
- "anki",
169
- "flashcards",
170
- "spaced-repetition",
171
- "ai",
172
- "claude",
173
- "chatgpt",
174
- "ankiconnect"
175
- ],
176
- "files": [
177
- "dist",
178
- "bin",
179
- "README.md",
180
- "LICENSE",
181
- "package.json"
182
- ]
183
- }
1
+ {
2
+ "name": "@laomeifun/my-anki-mcp",
3
+ "version": "0.11.2",
4
+ "description": "Model Context Protocol server for Anki - enables AI assistants to interact with your Anki flashcards",
5
+ "author": "laomeifun",
6
+ "private": false,
7
+ "license": "AGPL-3.0-or-later",
8
+ "main": "dist/main-http.js",
9
+ "bin": {
10
+ "ankimcp": "bin/ankimcp.js",
11
+ "anki-mcp-server": "bin/ankimcp.js"
12
+ },
13
+ "scripts": {
14
+ "build": "nest build",
15
+ "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
16
+ "start:dev:stdio": "nest start --watch --entryFile main-stdio",
17
+ "start:dev:http": "nest start --watch --entryFile main-http",
18
+ "start:debug:stdio": "nest start --debug --watch --entryFile main-stdio",
19
+ "start:debug:http": "nest start --debug --watch --entryFile main-http",
20
+ "start:prod:stdio": "node dist/main-stdio",
21
+ "start:prod:http": "node dist/main-http",
22
+ "lint": "eslint \"{src,test}/**/*.ts\" --fix",
23
+ "test": "jest",
24
+ "test:watch": "jest --watch",
25
+ "test:cov": "jest --coverage",
26
+ "test:unit": "jest --testPathPatterns='spec\\.ts$' --silent",
27
+ "test:tools": "jest src/mcp/primitives/essential/tools/__tests__ --silent",
28
+ "test:workflows": "jest test/workflows --silent",
29
+ "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
30
+ "test:ci": "jest --coverage --silent --maxWorkers=2",
31
+ "test:single": "npm test -- src/mcp/primitives/essential/tools/__tests__/delete-notes.tool.spec.ts",
32
+ "e2e:up": "cd .docker && docker compose up -d",
33
+ "e2e:down": "cd .docker && docker compose down",
34
+ "e2e:logs": "cd .docker && docker compose logs -f",
35
+ "e2e:test": "jest --config test/e2e/jest-e2e.config.js",
36
+ "e2e:test:http": "jest --config test/e2e/jest-e2e.config.js --testPathPatterns='http\\.e2e-spec'",
37
+ "e2e:test:stdio": "jest --config test/e2e/jest-e2e.config.js --testPathPatterns='stdio\\.e2e-spec'",
38
+ "e2e:full:local": "./scripts/e2e-full.sh",
39
+ "type-check": "tsc --noEmit",
40
+ "clean": "rm -rf dist dist-stdio dist-http node_modules",
41
+ "inspector:stdio": "./node_modules/.bin/mcp-inspector --config mcp-inspector-config.json --server stdio-server",
42
+ "inspector:stdio:debug": "./node_modules/.bin/mcp-inspector --config mcp-inspector-config.json --server stdio-server-debug",
43
+ "inspector:http": "./node_modules/.bin/mcp-inspector --config mcp-inspector-config.json --server http-server",
44
+ "sync-version": "node scripts/sync-version.js",
45
+ "mcpb:clean": "rm -f *.mcpb",
46
+ "mcpb:bundle": "npm run sync-version && npm run mcpb:clean && npm run build && mcpb pack . \"anki-mcp-server-$npm_package_version.mcpb\" && mcpb clean \"anki-mcp-server-$npm_package_version.mcpb\"",
47
+ "pack:local": "rm -f *.tgz && npm run build && npm pack",
48
+ "install:local": "npm install -g ./laomeifun-my-anki-mcp-*.tgz",
49
+ "uninstall:local": "npm uninstall -g @laomeifun/my-anki-mcp",
50
+ "prepare": "husky"
51
+ },
52
+ "dependencies": {
53
+ "@modelcontextprotocol/sdk": "^1.25.2",
54
+ "@nestjs/common": "^11.1.11",
55
+ "@nestjs/config": "^4.0.2",
56
+ "@nestjs/core": "^11.1.11",
57
+ "@nestjs/jwt": "^11.0.2",
58
+ "@nestjs/passport": "^11.0.5",
59
+ "@nestjs/platform-express": "^11.1.11",
60
+ "@rekog/mcp-nest": "^1.9.2",
61
+ "commander": "^14.0.1",
62
+ "jsonwebtoken": "^9.0.3",
63
+ "ky": "^1.14.2",
64
+ "passport": "^0.7.0",
65
+ "passport-jwt": "^4.0.1",
66
+ "pino": "^10.1.1",
67
+ "pino-pretty": "^13.1.3",
68
+ "reflect-metadata": "^0.2.2",
69
+ "remark-parse": "^11.0.0",
70
+ "rxjs": "^7.8.2",
71
+ "unified": "^11.0.5",
72
+ "unist-util-visit": "^5.0.0",
73
+ "update-notifier": "^7.3.1",
74
+ "zod": "^4.3.5",
75
+ "zod-to-json-schema": "^3.25.1"
76
+ },
77
+ "devDependencies": {
78
+ "@anthropic-ai/mcpb": "^2.1.2",
79
+ "@eslint/eslintrc": "^3.3.3",
80
+ "@eslint/js": "^9.39.2",
81
+ "@modelcontextprotocol/inspector": "^0.18.0",
82
+ "@nestjs/cli": "^11.0.14",
83
+ "@nestjs/schematics": "^11.0.7",
84
+ "@nestjs/testing": "^11.1.11",
85
+ "@types/express": "^5.0.6",
86
+ "@types/jest": "^30.0.0",
87
+ "@types/jsonwebtoken": "^9.0.10",
88
+ "@types/mdast": "^4.0.4",
89
+ "@types/node": "^25.0.6",
90
+ "@types/supertest": "^6.0.3",
91
+ "@types/update-notifier": "^6.0.8",
92
+ "eslint": "^9.39.2",
93
+ "eslint-config-prettier": "^10.1.8",
94
+ "eslint-plugin-prettier": "^5.5.4",
95
+ "globals": "^17.0.0",
96
+ "husky": "^9.1.7",
97
+ "jest": "^30.1.3",
98
+ "prettier": "^3.7.4",
99
+ "source-map-support": "^0.5.21",
100
+ "supertest": "^7.2.2",
101
+ "ts-jest": "^29.4.6",
102
+ "ts-loader": "^9.5.4",
103
+ "ts-node": "^10.9.2",
104
+ "tsconfig-paths": "^4.2.0",
105
+ "typescript": "^5.9.2",
106
+ "typescript-eslint": "^8.53.0"
107
+ },
108
+ "jest": {
109
+ "moduleFileExtensions": [
110
+ "js",
111
+ "json",
112
+ "ts"
113
+ ],
114
+ "rootDir": ".",
115
+ "roots": [
116
+ "<rootDir>/src",
117
+ "<rootDir>/test"
118
+ ],
119
+ "testRegex": ".*\\.(spec|test)\\.ts$",
120
+ "transform": {
121
+ "^.+\\.(t|j)s$": "ts-jest"
122
+ },
123
+ "collectCoverageFrom": [
124
+ "src/**/*.(t|j)s",
125
+ "!src/**/*.spec.ts",
126
+ "!src/**/*.test.ts",
127
+ "!src/**/__tests__/**",
128
+ "!src/**/__mocks__/**",
129
+ "!src/test-fixtures/**",
130
+ "!src/main.ts",
131
+ "!src/main-stdio.ts",
132
+ "!src/main-http.ts",
133
+ "!src/**/index.ts"
134
+ ],
135
+ "coverageDirectory": "coverage",
136
+ "testEnvironment": "node",
137
+ "coverageThreshold": {
138
+ "global": {
139
+ "branches": 70,
140
+ "functions": 70,
141
+ "lines": 70,
142
+ "statements": 70
143
+ }
144
+ },
145
+ "moduleNameMapper": {
146
+ "^@/(.*)$": "<rootDir>/src/$1",
147
+ "^@test/(.*)$": "<rootDir>/test/$1"
148
+ },
149
+ "transformIgnorePatterns": [
150
+ "node_modules/(?!(ky|unified|remark-parse|unist-util-visit|mdast-util-to-string|micromark.*|decode-named-character-reference|character-entities|unist-.*|vfile.*|bail|is-plain-obj|trough|devlop|mdast.*|hast.*)/)"
151
+ ],
152
+ "forceExit": true
153
+ },
154
+ "engines": {
155
+ "node": ">=20"
156
+ },
157
+ "repository": {
158
+ "type": "git",
159
+ "url": "https://github.com/laomeifun/my-anki-mcp.git"
160
+ },
161
+ "bugs": {
162
+ "url": "https://github.com/laomeifun/my-anki-mcp/issues"
163
+ },
164
+ "homepage": "https://github.com/laomeifun/my-anki-mcp",
165
+ "keywords": [
166
+ "mcp",
167
+ "model-context-protocol",
168
+ "anki",
169
+ "flashcards",
170
+ "spaced-repetition",
171
+ "ai",
172
+ "claude",
173
+ "chatgpt",
174
+ "ankiconnect"
175
+ ],
176
+ "files": [
177
+ "dist",
178
+ "bin",
179
+ "README.md",
180
+ "LICENSE",
181
+ "package.json"
182
+ ]
183
+ }