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.
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 bysearch_bookorlist_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 theMCPServer, registers tools fromtools.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
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.