Skip to main content
Glama
LeoW19

Deep Learning with Python MCP Knowledge Base

by LeoW19

Deep Learning with Python — MCP Knowledge Base

Un servidor MCP (Model Context Protocol) que convierte el libro Deep Learning with Python (François Chollet) en una base de conocimiento consultable, para que Claude pueda actuar como un experto en deep learning/ML basado en el contenido del libro.

El servidor se ejecuta localmente sobre stdio. Lee el PDF en input/ y construye un índice en memoria de las ~200 secciones hoja del libro (hasta subsecciones como 3.4.3) a partir del propio esquema de marcadores del PDF. El libro debe colocarse manualmente en su lugar.

Roadmap

  • Crear el MVP de MCP

  • Conectar y validar

  • Añadir gestión de errores

  • Añadir el inspector de MCP

Related MCP server: grimoire-beholder-mcp

Configuración

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

Requiere el PDF del libro en input/Deep_Learning_with_Python_Chollet.pdf

Ejecución independiente

.venv\Scripts\python.exe server.py

Esto bloquea, hablando MCP sobre stdio — está pensado para ser lanzado por un cliente MCP, no para ejecutarse de forma interactiva. Ctrl+C para detener.

Conexión a un cliente

Claude Code (desde la raíz del proyecto):

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 — añadir a 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"]
    }
  }
}

Qué está registrado

Herramientas

  • search_book(query, top_k=5) — búsqueda clasificada por palabras clave en todas las secciones del libro; devuelve id, título, ruta de navegación, página y un fragmento.

  • get_section(section_id) — texto completo de una sección por id (p. ej. 3.4.3, 6.2.2), tal como lo devuelven search_book o list_sections. Solo las secciones hoja son direccionables; un encabezado con subsecciones (p. ej. 5.1) no se puede recuperar directamente — usa sus hijas en su lugar.

  • list_sections(chapter=None) — sin argumento lista capítulos/apéndices; pasar una de esas cadenas exactas lista sus secciones e ids.

Recurso

  • book://toc — el índice completo con ids de sección y números de página, para explorar la estructura sin una llamada de herramienta.

Prompt

  • explain_concept(topic) — instruye a Claude para que busque en el libro, cite el id de sección y la página para las afirmaciones, e incluya los ejemplos de código Keras del libro cuando sea relevante.

Ejemplo de uso

Una vez conectado, pregúntale a Claude cosas como:

Usando la base de conocimiento de DL, explica cómo el dropout combate el sobreajuste, con el ejemplo de código del libro.

Claude llamará a search_book, recuperará las secciones relevantes mediante get_section y responderá citando p. ej. [4.4.3] Añadir dropout (p. 130).

Notas de diseño / limitaciones conocidas

  • Búsqueda es una puntuación simple por solapamiento de palabras clave (solo stdlib) — sin embeddings. Suficiente para recuperar-y-explicar; Claude hace el razonamiento real.

  • Granularidad de secciones es solo hojas. Unas pocas frases de texto de "introducción de capítulo" que se sitúan entre un encabezado padre y su primera subsección no están asociadas a ninguna sección y se omiten efectivamente.

  • El índice se reconstruye desde el PDF en cada inicio del servidor (~3s para 384 páginas); no hay caché persistente, por diseño, para que el contenido del libro nunca acabe en un archivo que pudiera commitearse accidentalmente.

  • El ámbito indexado es solo el contenido técnico del libro (capítulos 1–9 + apéndices A/B) — las páginas preliminares y el índice final del libro están excluidos.

Archivos

  • server.py — punto de entrada; crea el MCPServer, registra las herramientas de tools.py, se ejecuta sobre stdio.

  • tools.py — definiciones de herramientas/recursos/prompts.

  • knowledge_base.py — carga del PDF, indexación de secciones basada en el esquema, y búsqueda.

  • input/ — PDF fuente (ignorado por git).

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
    -