안키-MCP
AnkiConnect 애드온을 통해 Anki 플래시카드와 상호작용하기 위한 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버는 AnkiConnect 동작을 논리적 서비스로 구성된 MCP 도구로 제공합니다.
필수 조건
Anki 데스크톱 애플리케이션
Anki에 AnkiConnect 애드온 설치 및 구성
파이썬 3.8 이상
uv(종속성 실행 및 설치용, 선택 사항이지만 권장됨)
Related MCP server: Anki MCP Server
설치
지엑스피1
용법
MCP 서버를 실행하려면:
서버가 시작되어 MCP 요청을 수신하며, 일반적으로 http://127.0.0.1:8765 에서 AnkiConnect와 인터페이싱합니다.
서버 검사
MCP Inspector를 사용하면 사용 가능한 도구를 볼 수 있습니다.
MCP 클라이언트 구성
MCP 클라이언트(예: AI 어시스턴트 프레임워크)와 통합하는 경우, 해당 서버를 찾을 수 있도록 구성해야 합니다. 다음은 구성 코드 조각의 예입니다.
사용 가능한 MCP 도구
이 MCP 서버는 서비스별로 그룹화된 도구를 통해 Anki 기능에 대한 액세스를 제공합니다. 도구 이름은 AnkiConnect 작업과 직접 일치합니다.
데크 서비스( deck.* )
deck.deckNamesAndIds: 데크 이름과 해당 ID의 전체 목록을 가져옵니다.deck.getDeckConfig: 지정된 데크 이름에 대한 구성 그룹 객체를 가져옵니다.deck.deckNames: 현재 사용자의 데크 이름 전체 목록을 가져옵니다.deck.createDeck: 새로운 빈 덱을 만듭니다.deck.deleteDecks: 지정된 데크를 삭제합니다.deck.changeDeck: 카드를 다른 덱으로 이동합니다.deck.saveDeckConfig: 데크 구성 그룹을 저장합니다.
노트 서비스( note.* )
note.findNotes: 주어진 Anki 검색 쿼리에 대한 노트 ID를 반환합니다.note.notesInfo: 지정된 노트 ID에 대한 정보를 반환합니다.note.getNoteTags: 특정 노트 ID에 대한 태그를 가져옵니다.note.addNote: 새로운 노트를 만듭니다.note.updateNoteFields: 기존 노트의 필드를 수정합니다.note.deleteNotes: 지정된 노트를 삭제합니다.note.addNotes: 여러 개의 노트를 만듭니다.note.addTags: 지정된 노트에 태그를 추가합니다.note.removeTags: 지정된 노트에서 태그를 제거합니다.note.updateNote: 기존 노트의 필드 및/또는 태그를 수정합니다.
카드 서비스( card.* )
card.findCards: 주어진 Anki 검색 쿼리에 대한 카드 ID를 반환합니다.card.cardsInfo: 지정된 카드 ID에 대한 정보를 반환합니다.card.cardsToNotes: 주어진 카드 ID에 대한 지폐 ID를 반환합니다.card.areSuspended: 지정된 카드가 정지되었는지 확인합니다.card.cardsModTime: 지정된 카드 ID에 대한 수정 시간을 반환합니다.card.suspended: 단일 카드가 정지되었는지 확인합니다.card.suspend: 지정된 카드를 일시 중단합니다.card.unsuspend: 지정된 카드의 일시 중지를 해제합니다.card.setSpecificValueOfCard: 단일 카드의 특정 값을 설정합니다(신중하게 사용하세요).
모델 서비스( model.* ) (참고 유형)
model.modelNamesAndIds: 모델(노트 유형) 이름과 해당 ID의 전체 목록을 가져옵니다.model.findModelsByName: 제공된 모델 이름에 대한 모델 정의를 가져옵니다.model.modelFieldNames: 주어진 모델 이름에 대한 필드 이름을 가져옵니다.model.modelTemplates: 지정된 모델의 각 카드에 대한 템플릿 콘텐츠를 가져옵니다.model.modelStyling: 주어진 모델 이름에 대한 CSS 스타일을 가져옵니다.model.createModel: 새로운 모델을 생성합니다(노트 유형).model.updateModelTemplates: 기존 모델의 템플릿을 수정합니다.model.updateModelStyling: 기존 모델의 CSS 스타일을 수정합니다.model.modelFieldAdd: 기존 모델에 새 필드를 추가합니다.model.modelFieldRemove: 기존 모델에서 필드를 제거합니다.
미디어 서비스( media.* )
media.retrieveMediaFile: 미디어 파일의 base64로 인코딩된 내용을 검색합니다.media.getMediaFilesNames: 글로벌 패턴과 일치하는 미디어 파일의 이름을 가져옵니다.media.storeMediaFile: 미디어 파일을 저장합니다(base64, 경로 또는 URL).media.deleteMediaFile: 지정된 미디어 파일을 삭제합니다.
개발
개발을 설정하려면:
테스트 실행
할 일
[ ] 모든 AnkiConnect 도구 추가 완료