Skip to main content
Glama
LeoW19

Deep Learning with Python MCP Knowledge Base

by LeoW19

Deep Learning with Python — MCP Knowledge Base

이 책 Deep Learning with Python(프랑수아 숄레)을 검색 가능한 지식 베이스로 바꿔주는 MCP(Model Context Protocol) 서버로, Claude가 이 책의 내용에 기반한 딥러닝/ML 전문가 역할을 할 수 있게 합니다.

서버는 stdio를 통해 로컬에서 실행됩니다. input/의 PDF를 읽고, PDF 자체의 책갈피 개요에서 책의 약 200개 리프 섹션(3.4.3 같은 하위 섹션까지)의 인메모리 인덱스를 구축합니다. 책 PDF는 수동으로 준비해야 합니다.

로드맵

  • MCP MVP 만들기

  • 연결 및 검증

  • 오류 처리 추가

  • MCP 인스펙터 추가

Related MCP server: grimoire-beholder-mcp

설정

# from the project root
pip install -r requirements.txt

input/Deep_Learning_with_Python_Chollet.pdf에 책 PDF가 필요합니다.

단독 실행

.venv\Scripts\python.exe server.py

이것은 stdio를 통해 MCP를 주고받으며 블로킹됩니다. 대화형으로 실행되는 것이 아니라 MCP 클라이언트에 의해 실행되기 위한 것입니다. 중지하려면 Ctrl+C를 누르세요.

클라이언트에 연결

Claude Code(프로젝트 루트에서):

claude mcp add dl-python-expert -- "C:\Users\leowa\Projekte\mcp_deepLearning\.venv\Scripts\python.exe" "C:\Users\leowa\Projekte\mcp_deepLearning\server.py"

Claude Desktop — claude_desktop_config.json에 추가:

{
  "mcpServers": {
    "dl-python-expert": {
      "command": "C:\\Users\\leowa\\Projekte\\mcp_deepLearning\\.venv\\Scripts\\python.exe",
      "args": ["C:\\Users\\leowa\\Projekte\\mcp_deepLearning\\server.py"]
    }
  }
}

등록된 항목

도구

  • search_book(query, top_k=5) — 모든 책 섹션에 대한 키워드 순위 검색; id, 제목, 이동 경로, 페이지, 스니펫을 반환합니다.

  • get_section(section_id) — search_book 또는 list_sections가 반환한 id(예: 3.4.3, 6.2.2)로 한 섹션의 전체 텍스트를 가져옵니다. 리프 섹션만 주소로 접근할 수 있습니다. 하위 섹션이 있는 제목(예: 5.1)은 그 자체로 가져올 수 없으므로 하위 섹션을 사용하세요.

  • list_sections(chapter=None) — 인수가 없으면 장/부록을 나열합니다. 정확한 문자열 중 하나를 전달하면 해당 섹션과 id를 나열합니다.

리소스

  • book://toc — 도구 호출 없이 구조를 탐색할 수 있도록 섹션 id와 페이지 번호가 포함된 전체 목차입니다.

프롬프트

  • explain_concept(topic) — Claude에게 책을 검색하고, 주장에 대한 섹션 id와 페이지를 인용하고, 관련된 경우 책의 Keras 코드 예제를 포함하도록 지시합니다.

사용 예시

연결한 후 Claude에게 다음과 같이 요청하세요:

DL 지식 베이스를 사용하여 드롭아웃이 과적합을 방지하는 방법을 책의 코드 예제와 함께 설명해 줘.

Claude는 search_book을 호출하고 get_section을 통해 관련 섹션을 가져와 예를 들어 [4.4.3] Adding dropout (p. 130)처럼 인용하여 답변합니다.

설계 노트 / 알려진 제한 사항

  • 검색은 단순한 키워드/용어 중복 점수(표준 라이브러리만 사용)이며 임베딩은 없습니다. 검색 후 설명하는 방식에 충분하며 실제 추론은 Claude가 수행합니다.

  • 섹션 세분성은 리프만 해당됩니다. 상위 제목과 첫 번째 하위 섹션 사이에 있는 몇 문장의 '장 소개' 텍스트는 어떤 섹션에도 속하지 않아 사실상 건너뜁니다.

  • 인덱스는 서버가 시작될 때마다 PDF에서 다시 빌드됩니다(384페이지 기준 약 3초). 영구 캐시는 의도적으로 두지 않으므로 책 내용이 실수로 커밋될 수 있는 파일에 남지 않습니다.

  • 인덱싱 범위는 책의 기술 콘텐츠(1~9장 + 부록 A/B)뿐입니다. 앞표지와 책 뒷부분의 색인은 제외됩니다.

파일

  • server.py — 진입점입니다. MCPServer를 만들고 tools.py의 도구를 등록하며 stdio로 실행합니다.

  • tools.py — 도구/리소스/프롬프트 정의입니다.

  • knowledge_base.py — PDF 로딩, 개요 기반 섹션 인덱싱, 검색을 담당합니다.

  • input/ — 원본 PDF입니다(gitignore 처리됨).

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    An MCP server that exposes a fully offline RAG library of books (PDFs, EPUBs, markdown, text) to Claude, enabling hybrid search and retrieval of contextualized chunks via read-only tools.
    5
    -