MCP 문서 관리

메뉴

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과 동기화합니다. - 입력: 없음 - 출력: 동기화 상태 및 결과

사용 방법

설치 및 구성

  1. 사전 요구 사항:
  2. 로컬 Anki 프로그램 설치 (2.1.35 이상)
  3. AnkiConnect 애드온 설치

  4. MCP 서버 설치:

    pip install anki-mcp-server

  5. Claude Desktop 구성:

    {
      "mcpServers": {
        "anki": {
          "command": "python",
          "args": ["-m", "anki_mcp_server"],
          "env": {
            "ANKI_HOST": "localhost",
            "ANKI_PORT": "8765",
            "ANKI_SUPPORT_MEDIA": "true"
          }
        }
      }
    }

  6. 구성 옵션:

  7. ANKI_HOST: AnkiConnect 서버 호스트 (기본값: localhost)
  8. ANKI_PORT: AnkiConnect 서버 포트 (기본값: 8765)
  9. ANKI_SUPPORT_MEDIA: 미디어 업로드 지원 활성화 (기본값: true)
  10. ANKI_AUTO_SYNC: 변경 후 자동 동기화 (기본값: false)
  11. ANKI_MAX_CARDS: 한 번에 반환할 최대 카드 수 (기본값: 100)

기본 사용 예시

  1. 덱 목록 확인:

    list_decks()

  2. 새 덱 생성:

    create_deck({
      name: "프로그래밍",
      description: "프로그래밍 개념 학습을 위한 덱"
    })

  3. 카드 추가:

    create_card({
      deck_name: "프로그래밍",
      front: "JavaScript에서 변수를 선언하는 3가지 방법은?",
      back: "1. var\n2. let\n3. const",
      tags: ["javascript", "기초"]
    })

  4. 내용으로 카드 검색:

    search_cards({
      query: "javascript",
      limit: 10
    })

  5. 학습 통계 확인:

    get_stats({
      deck_name: "프로그래밍",
      period: "1m"
    })

  6. 자연어로 카드 생성:

    // 서버는 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와 상호작용