Deep Learning with Python MCP Knowledge Base

Deep Learning with Python MCP Knowledge Base

An MCP (Model Context Protocol) server that turns the book Deep Learning with Python (François Chollet) into a searchable knowledge base, so Claude can act as a deep-learning/ML expert grounded in the book's content.

Category
Visit Server

README

Deep Learning with Python — MCP Knowledge Base

An MCP (Model Context Protocol) server that turns the book Deep Learning with Python (François Chollet) into a searchable knowledge base, so Claude can act as a deep-learning/ML expert grounded in the book's content.

The server runs locally over stdio. It reads the PDF in input/ and builds an in-memory index of the book's ~200 leaf sections (down to subsections like 3.4.3) from the PDF's own bookmark outline. The book has to be put in place manually.

Roadmap

  • [x] Create MCP MVP
  • [ ] Connect and validate
  • [ ] Add error handling
  • [ ] Add MCP inspector

Setup

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

Requires the book PDF at input/Deep_Learning_with_Python_Chollet.pdf

Running standalone

.venv\Scripts\python.exe server.py

This blocks, speaking MCP over stdio — it's meant to be launched by an MCP client, not run interactively. Ctrl+C to stop.

Connecting to a client

Claude Code (from the project root):

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 — add to 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"]
    }
  }
}

What's registered

Tools

  • search_book(query, top_k=5) — keyword-ranked search over all book sections; returns id, title, breadcrumb, page, and a snippet.
  • get_section(section_id) — full text of one section by id (e.g. 3.4.3, 6.2.2), as returned by search_book or list_sections. Only leaf sections are addressable; a heading with subsections (e.g. 5.1) is not itself fetchable — use its children instead.
  • list_sections(chapter=None) — no argument lists chapters/appendices; passing one of those exact strings lists its sections and ids.

Resource

  • book://toc — the full table of contents with section ids and page numbers, for browsing structure without a tool call.

Prompt

  • explain_concept(topic) — instructs Claude to search the book, cite section id and page for claims, and include the book's Keras code examples where relevant.

Example usage

Once connected, ask Claude things like:

Using the DL knowledge base, explain how dropout fights overfitting, with the book's code example.

Claude will call search_book, pull the relevant section(s) via get_section, and answer citing e.g. [4.4.3] Adding dropout (p. 130).

Design notes / known limitations

  • Search is simple keyword/term-overlap scoring (stdlib only) — no embeddings. Good enough for retrieval-then-explain; Claude does the actual reasoning.
  • Section granularity is leaf-only. A few sentences of "chapter intro" text that sits between a parent heading and its first subsection isn't attached to any section and is effectively skipped.
  • The index is rebuilt from the PDF on every server start (~3s for 384 pages); there's no persistent cache, by design, so book content never lands in a file that could accidentally get committed.
  • Indexed scope is the book's technical content only (chapters 1–9 + appendices A/B) — front matter and the back-of-book index are excluded.

Files

  • server.py — entry point; creates the MCPServer, registers tools from tools.py, runs over stdio.
  • tools.py — tool/resource/prompt definitions.
  • knowledge_base.py — PDF loading, outline-based section indexing, and search.
  • input/ — source PDF (gitignored).

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured