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』(François Chollet 著)を検索可能な知識ベースに変える 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

書籍PDFが input/Deep_Learning_with_Python_Chollet.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] 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
    -