Skip to main content
Glama

안키-MCP

AnkiConnect 애드온을 통해 Anki 플래시카드와 상호작용하기 위한 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버는 AnkiConnect 동작을 논리적 서비스로 구성된 MCP 도구로 제공합니다.

필수 조건

  • Anki 데스크톱 애플리케이션

  • Anki에 AnkiConnect 애드온 설치 및 구성

  • 파이썬 3.8 이상

  • uv (종속성 실행 및 설치용, 선택 사항이지만 권장됨)

Related MCP server: Anki MCP Server

설치

지엑스피1

용법

MCP 서버를 실행하려면:

uv run anki-mcp

서버가 시작되어 MCP 요청을 수신하며, 일반적으로 http://127.0.0.1:8765 에서 AnkiConnect와 인터페이싱합니다.

서버 검사

MCP Inspector를 사용하면 사용 가능한 도구를 볼 수 있습니다.

npx @modelcontextprotocol/inspector uv run anki-mcp

MCP 클라이언트 구성

MCP 클라이언트(예: AI 어시스턴트 프레임워크)와 통합하는 경우, 해당 서버를 찾을 수 있도록 구성해야 합니다. 다음은 구성 코드 조각의 예입니다.

{ "mcpServers": { "anki": { "command": "uv", "args": [ "run", // uv will find anki-mcp if run from project root "anki-mcp" ], // If running from outside the project directory, specify the path: // "args": [ // "--directory", // "/ABSOLUTE/PATH/TO/anki-mcp", // Replace with actual path // "run", // "anki-mcp" // ] } } }

사용 가능한 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 : 지정된 미디어 파일을 삭제합니다.

개발

개발을 설정하려면:

uv sync source .venv/bin/activate uv pip install -e .

테스트 실행

pytest

할 일

  • [ ] 모든 AnkiConnect 도구 추가 완료

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ujisati/anki-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server