Skip to main content
Glama
LeoW19

Deep Learning with Python MCP Knowledge Base

by LeoW19

Deep Learning with Python — MCP Knowledge Base

MCP-сервер (Model Context Protocol), который превращает книгу Deep Learning with Python (Франсуа Шолле) в поисковую базу знаний, чтобы Claude мог выступать в роли эксперта по глубокому обучению/ML, опираясь на содержание книги.

Сервер работает локально через stdio. Он читает PDF из input/ и строит в памяти индекс ~200 листовых разделов книги (вплоть до подразделов вида 3.4.3) на основе собственной структуры закладок PDF. Книгу необходимо разместить вручную.

Дорожная карта

  • Создать MCP MVP

  • Подключить и проверить

  • Добавить обработку ошибок

  • Добавить MCP inspector

Related MCP server: grimoire-beholder-mcp

Установка

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

Требуется PDF книги по пути input/Deep_Learning_with_Python_Chollet.pdf

Автономный запуск

.venv\Scripts\python.exe server.py

Эта команда блокирует выполнение: она общается по MCP через stdio. Она предназначена для запуска 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, заголовок, breadcrumb, страницу и фрагмент.

  • get_section(section_id) — полный текст одного раздела по id (например, 3.4.3, 6.2.2), где id берётся из результатов search_book или list_sections. Адресовать можно только листовые разделы; заголовок с подразделами (например, 5.1) сам по себе недоступен для получения — используйте вместо него его дочерние разделы.

  • list_sections(chapter=None) — без аргумента выводит список глав/приложений; при передаче одной из этих точных строк выводит список её разделов и id.

Ресурс

  • book://toc — полное оглавление с id разделов и номерами страниц, позволяющее просматривать структуру без вызова инструмента.

Промпт

  • explain_concept(topic) — инструктирует Claude искать по книге, указывать id раздела и страницу для утверждений и включать примеры кода на Keras из книги, где это уместно.

Пример использования

После подключения можно спрашивать Claude, например:

Используя базу знаний по DL, объясни, как dropout борется с переобучением, на примере кода из книги.

Claude вызовет search_book, получит нужный(е) раздел(ы) через get_section и ответит, сославшись, например, на [4.4.3] Adding dropout (p. 130).

Заметки по проектированию / известные ограничения

  • Поиск — это простое ранжирование по пересечению ключевых слов/терминов (только стандартная библиотека), без эмбеддингов. Этого достаточно для подхода «сначала поиск, затем объяснение»; сами рассуждения выполняет Claude.

  • Гранулярность разделов — только листовой уровень. Несколько предложений вводного текста главы, которые находятся между родительским заголовком и первым подразделом, не привязаны ни к какому разделу и фактически пропускаются.

  • Индекс пересобирается из PDF при каждом запуске сервера (~3 секунды для 384 страниц); постоянного кэша нет — это намеренно, чтобы содержимое книги никогда не попадало в файл, который можно случайно закоммитить.

  • Индексируется только техническое содержание книги (главы 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
    -