Skip to content

Commit 1f70cf6

Browse files
committed
Publish setup
1 parent 45a1221 commit 1f70cf6

File tree

8 files changed

+601
-3723
lines changed

8 files changed

+601
-3723
lines changed

.github/workflows/publish.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Publish
2+
on:
3+
release:
4+
types: [published]
5+
jobs:
6+
publish-npm:
7+
runs-on: ubuntu-latest
8+
permissions:
9+
contents: read
10+
id-token: write
11+
steps:
12+
- uses: actions/checkout@v4
13+
- uses: actions/setup-node@v4
14+
with:
15+
node-version: 22
16+
registry-url: https://registry.npmjs.org/
17+
- name: Setup npm authentication
18+
run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" >> .npmrc
19+
- name: Set version from release tag
20+
run: |
21+
VERSION=${GITHUB_REF#refs/tags/}
22+
VERSION=${VERSION#v}
23+
npm version $VERSION --no-git-tag-version
24+
- run: npm ci --include=optional
25+
- run: npm run build
26+
- run: npm run lint
27+
- run: npm run test
28+
- run: npm publish --provenance --access public
29+
env:
30+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

.npmignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
**/*
2+
README.md
3+
LICENSE
4+
!lib/**/*.js
5+
!cli.js
6+
!index.*
7+
!config.d.ts

.npmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
registry=https://registry.npmjs.org/

.nvmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
22

README.md

Lines changed: 134 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,12 @@
1-
# mcp-anki-server
1+
# Anki MCP Server
2+
3+
## Requirements
4+
5+
1. Node.js 18 or newer. [Download Node.js](https://nodejs.org/en/download)
6+
2. Anki desktop application. [Download Anki](https://apps.ankiweb.net/)
7+
3. Anki-Connect plugin. [Install Anki-Connect](https://git.sr.ht/~foosoft/anki-connect/tree/ab4d964d96712788889eb35d79471966aaf17ef6/item/README.md#installation)
8+
9+
You need to have Anki desktop application up and running to use this MCP.
210

311
```json
412
{
@@ -12,3 +20,128 @@
1220
}
1321
}
1422
```
23+
24+
## Progress Log
25+
26+
- [ ] WIP Run with NPM
27+
- [ ] Run with Docker
28+
- [ ] Tools configuration
29+
- [ ] Add tests
30+
31+
### Tools
32+
33+
- [ ] card.answerCards
34+
- [ ] card.areDue
35+
- [ ] card.areSuspended
36+
- [ ] card.cardsInfo
37+
- [ ] card.cardsModTime
38+
- [ ] card.cardsToNotes
39+
- [ ] card.findCards
40+
- [ ] card.forgetCards
41+
- [ ] card.getEaseFactors
42+
- [ ] card.getIntervals
43+
- [ ] card.relearnCards
44+
- [ ] card.setDueDate
45+
- [ ] card.setEaseFactors
46+
- [ ] card.setSpecificValueOfCard
47+
- [ ] card.suspend
48+
- [ ] card.suspended
49+
- [ ] card.unsuspend
50+
- [ ] deck.changeDeck
51+
- [ ] deck.cloneDeckConfigId
52+
- [ ] deck.createDeck
53+
- [x] deck.deckNames
54+
- [ ] deck.deckNamesAndIds
55+
- [ ] deck.deleteDecks
56+
- [ ] deck.getDeckConfig
57+
- [ ] deck.getDeckStats
58+
- [ ] deck.getDecks
59+
- [ ] deck.removeDeckConfigId
60+
- [ ] deck.saveDeckConfig
61+
- [ ] deck.setDeckConfigId
62+
- [ ] graphical.guiAddCards
63+
- [ ] graphical.guiAnswerCard
64+
- [ ] graphical.guiBrowse
65+
- [ ] graphical.guiCheckDatabase
66+
- [ ] graphical.guiCurrentCard
67+
- [ ] graphical.guiDeckBrowser
68+
- [ ] graphical.guiDeckOverview
69+
- [ ] graphical.guiDeckReview
70+
- [ ] graphical.guiEditNote
71+
- [ ] graphical.guiExitAnki
72+
- [ ] graphical.guiImportFile
73+
- [ ] graphical.guiSelectCard
74+
- [ ] graphical.guiSelectNote
75+
- [ ] graphical.guiSelectedNotes
76+
- [ ] graphical.guiShowAnswer
77+
- [ ] graphical.guiShowQuestion
78+
- [ ] graphical.guiStartCardTimer
79+
- [ ] graphical.guiUndo
80+
- [ ] media.deleteMediaFile
81+
- [ ] media.getMediaDirPath
82+
- [ ] media.getMediaFilesNames
83+
- [ ] media.retrieveMediaFile
84+
- [ ] media.storeMediaFile
85+
- [ ] miscellaneous.apiReflect
86+
- [ ] miscellaneous.exportPackage
87+
- [ ] miscellaneous.getActiveProfile
88+
- [ ] miscellaneous.getProfiles
89+
- [ ] miscellaneous.importPackage
90+
- [ ] miscellaneous.loadProfile
91+
- [ ] miscellaneous.multi
92+
- [ ] miscellaneous.reloadCollection
93+
- [ ] miscellaneous.requestPermission
94+
- [ ] miscellaneous.sync
95+
- [ ] miscellaneous.version
96+
- [ ] model.createModel
97+
- [ ] model.findAndReplaceInModels
98+
- [ ] model.findModelsById
99+
- [x] model.findModelsByName
100+
- [ ] model.modelFieldAdd
101+
- [ ] model.modelFieldDescriptions
102+
- [ ] model.modelFieldFonts
103+
- [ ] model.modelFieldNames
104+
- [ ] model.modelFieldRemove
105+
- [ ] model.modelFieldRename
106+
- [ ] model.modelFieldReposition
107+
- [ ] model.modelFieldSetDescription
108+
- [ ] model.modelFieldSetFont
109+
- [ ] model.modelFieldSetFontSize
110+
- [ ] model.modelFieldsOnTemplates
111+
- [x] model.modelNames
112+
- [ ] model.modelNamesAndIds
113+
- [ ] model.modelStyling
114+
- [ ] model.modelTemplateAdd
115+
- [ ] model.modelTemplateRemove
116+
- [ ] model.modelTemplateRename
117+
- [ ] model.modelTemplateReposition
118+
- [ ] model.modelTemplates
119+
- [ ] model.updateModelStyling
120+
- [ ] model.updateModelTemplates
121+
- [x] note.addNote
122+
- [ ] note.addNotes
123+
- [ ] note.addTags
124+
- [ ] note.canAddNotes
125+
- [ ] note.canAddNotesWithErrorDetail
126+
- [ ] note.clearUnusedTags
127+
- [ ] note.deleteNotes
128+
- [ ] note.findNotes
129+
- [ ] note.getNoteTags
130+
- [ ] note.getTags
131+
- [ ] note.notesInfo
132+
- [ ] note.notesModTime
133+
- [ ] note.removeEmptyNotes
134+
- [ ] note.removeTags
135+
- [ ] note.replaceTags
136+
- [ ] note.replaceTagsInAllNotes
137+
- [ ] note.updateNote
138+
- [ ] note.updateNoteFields
139+
- [ ] note.updateNoteModel
140+
- [ ] note.updateNoteTags
141+
- [ ] statistic.cardReviews
142+
- [ ] statistic.getCollectionStatsHTML
143+
- [ ] statistic.getLatestReviewID
144+
- [ ] statistic.getNumCardsReviewedByDay
145+
- [ ] statistic.getNumCardsReviewedToday
146+
- [ ] statistic.getReviewsOfCards
147+
- [ ] statistic.insertReviews

config.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export type Config = {};

0 commit comments

Comments
 (0)