Anki
Anki
Anki MCP 서버는 인기 있는 스페이스드 리피티션 플래시카드 프로그램인 Anki와 상호작용할 수 있는 Model Context Protocol 서버입니다. 이 서버를 통해 AI 어시스턴트는 Anki 덱과 카드를 생성, 수정, 검색하고 학습 세션을 관리할 수 있습니다.
특징
- Anki 덱 생성, 수정, 삭제 및 관리
- 플래시카드 작성 및 편집
- 다양한 카드 유형 지원 (기본, 완성형, 양방향 등)
- 이미지, 오디오, LaTeX 수식 등의 미디어 첨부
- 덱 및 카드 검색 기능
- 태그 관리 및 구성
- 학습 일정 및 통계 조회
- 자연어를 통한 플래시카드 생성 지원
- 대량 카드 가져오기 및 내보내기 기능
- 로컬 Anki 프로그램 및 AnkiWeb 동기화 지원
API
리소스
deck://{deck_name}
- 특정 덱에 대한 정보와 카드 목록을 제공합니다.
card://{card_id}
- 특정 카드의 세부 정보를 제공합니다.
도구
list_decks
Anki에서 사용 가능한 모든 덱을 나열합니다. - 입력: 없음 - 출력: 덱 ID와 이름을 포함한 덱 목록
create_deck
새 덱을 생성합니다. - 입력: - name: 덱 이름 - description: (선택적) 덱 설명 - options: (선택적) 덱 옵션 (학습 설정 등)
get_deck
특정 덱의 정보를 가져옵니다. - 입력: - deck_name: 덱 이름 또는 ID - 출력: 덱 정보, 카드 수, 학습 상태 등
list_cards
덱 내의 카드를 나열합니다. - 입력: - deck_name: 덱 이름 또는 ID - query: (선택적) 검색 쿼리 - limit: (선택적) 최대 반환 카드 수 - 출력: 카드 ID, 양면 내용, 태그 등을 포함한 카드 목록
create_card
새 카드를 생성합니다. - 입력: - deck_name: 덱 이름 또는 ID - front: 카드 앞면 내용 - back: 카드 뒷면 내용 - card_type: (선택적) 카드 유형 - tags: (선택적) 태그 목록 - media: (선택적) 이미지, 오디오 등 첨부 미디어
update_card
기존 카드를 업데이트합니다. - 입력: - card_id: 카드 ID - front: (선택적) 새 앞면 내용 - back: (선택적) 새 뒷면 내용 - tags: (선택적) 새 태그 목록
delete_card
카드를 삭제합니다. - 입력: - card_id: 삭제할 카드 ID
search_cards
카드를 검색합니다. - 입력: - query: 검색 쿼리 (Anki 검색 구문 지원) - deck_name: (선택적) 특정 덱으로 검색 범위 제한 - limit: (선택적) 최대 반환 카드 수 - 출력: 검색 결과와 일치하는 카드 목록
get_stats
학습 통계를 가져옵니다. - 입력: - deck_name: (선택적) 특정 덱에 대한 통계 (생략 시 전체 통계) - period: (선택적) 통계 기간 (1d, 1w, 1m, 3m, 1y, all) - 출력: 학습 통계 정보
import_cards
CSV 또는 텍스트 파일에서 카드를 가져옵니다. - 입력: - deck_name: 대상 덱 이름 - file_content: 카드 데이터 문자열 - format: (선택적) 파일 형식 지정
export_deck
덱을 내보냅니다. - 입력: - deck_name: 내보낼 덱 이름 - format: (선택적) 내보내기 형식 - 출력: 내보낸 덱 데이터
sync
Anki 데이터를 AnkiWeb과 동기화합니다. - 입력: 없음 - 출력: 동기화 상태 및 결과
사용 방법
설치 및 구성
- 사전 요구 사항:
- 로컬 Anki 프로그램 설치 (2.1.35 이상)
-
AnkiConnect 애드온 설치
-
MCP 서버 설치:
pip install anki-mcp-server -
Claude Desktop 구성:
{ "mcpServers": { "anki": { "command": "python", "args": ["-m", "anki_mcp_server"], "env": { "ANKI_HOST": "localhost", "ANKI_PORT": "8765", "ANKI_SUPPORT_MEDIA": "true" } } } } -
구성 옵션:
ANKI_HOST: AnkiConnect 서버 호스트 (기본값: localhost)ANKI_PORT: AnkiConnect 서버 포트 (기본값: 8765)ANKI_SUPPORT_MEDIA: 미디어 업로드 지원 활성화 (기본값: true)ANKI_AUTO_SYNC: 변경 후 자동 동기화 (기본값: false)ANKI_MAX_CARDS: 한 번에 반환할 최대 카드 수 (기본값: 100)
기본 사용 예시
-
덱 목록 확인:
list_decks() -
새 덱 생성:
create_deck({ name: "프로그래밍", description: "프로그래밍 개념 학습을 위한 덱" }) -
카드 추가:
create_card({ deck_name: "프로그래밍", front: "JavaScript에서 변수를 선언하는 3가지 방법은?", back: "1. var\n2. let\n3. const", tags: ["javascript", "기초"] }) -
내용으로 카드 검색:
search_cards({ query: "javascript", limit: 10 }) -
학습 통계 확인:
get_stats({ deck_name: "프로그래밍", period: "1m" }) -
자연어로 카드 생성:
// 서버는 AI가 주제를 분석하여 앞면과 뒷면이 있는 카드로 변환하는 것을 지원합니다 create_card({ deck_name: "역사", content: "쿠바 미사일 위기는 1962년 10월 미국과 소련 사이에 발생한 핵전쟁 위기였습니다", auto_format: true })
연결된 구성 요소
- Obsidian Markdown Notes - Obsidian 볼트 또는 Markdown 노트가 포함된 디렉토리 읽기 및 검색
- obsidian-mcp - 메모 검색, 읽기, 쓰기 및 구성을 위한 도구가 있는 Obsidian.md용 MCP 서버
- Google Tasks - Google Tasks API Model Context Protocol 서버
- Todoist - 작업 관리를 위한 Todoist와 상호작용