Integrations
Uses the DuckDuckGo Search API to find relevant resources for generating learning paths
Built with FastAPI to provide a robust API framework for generating Master Content Plans
Provides integration guidance for Flutter applications to consume the generated MCPs
MCP-Server
Ein Server, der themenbasierte Master Content Plans (MCPs) generiert. Der Server aggregiert Ressourcen aus dem Web und organisiert sie in strukturierten Lernpfaden.
Merkmale
- Erstellen Sie Lernpfade für beliebige Themen (nicht nur Technologiethemen)
- Finden Sie relevante Ressourcen mithilfe der Websuche und des Scrapings
- Organisieren Sie Ressourcen in einer logischen Reihenfolge mit anpassbarer Knotenanzahl
- Unterstützung mehrerer Sprachen mit Schwerpunkt auf Portugiesisch
- Leistungsoptimierungen für die kostenlose Stufe von Render
- Caching-System für schnellere Antworten
- Gibt eine standardisierte JSON-Struktur zur Verwendung durch Clientanwendungen zurück
- NEU : TF-IDF-basierte Ressourcenrelevanzfilterung, um sicherzustellen, dass die Ressourcen zum angeforderten Thema passen
- NEU : Strategische Quizverteilung über Lernbäume für ausgewogene Lernerlebnisse
- NEU : YouTube-Integration zum Einbinden relevanter Videos in Lernpfade
- NEU : Kategoriensystem zur Generierung spezifischerer Inhalte für verschiedene Thementypen
- NEU : Asynchrones Aufgabensystem mit Echtzeit-Fortschrittsfeedback zur Verbesserung der Benutzererfahrung und Vermeidung von Timeouts
- NEU : Verbessertes Caching-System für verbesserte Leistung und schnellere Reaktionszeiten
- NEU : Optimierte Web-Scraping-Techniken für eine bessere Ressourcennutzung
- NEU : Adaptives Scraping-System, das automatisch die effizienteste Methode für jede Website auswählt
- NEU : Puppeteer-Instanzpool für effiziente Browser-Wiederverwendung und reduzierten Speicherverbrauch
Technologie-Stack
- Python 3.9+
- FastAPI
- Pyppeteer für JavaScript-lastiges Web Scraping
- Pyppeteer-Stealth zur Vermeidung der Erkennung beim Web Scraping
- Puppeteer-Instanzpool für effiziente Browser-Wiederverwendung
- DuckDuckGo Such-API
- BeautifulSoup für HTML-Parsing
- scikit-learn für TF-IDF-basierte Ressourcenrelevanzfilterung
- yt-dlp für die YouTube-Videosuche und Metadatenextraktion
- Redis (optional) für verteiltes Caching
- msgpack für effiziente Datenserialisierung
- Cachetools für erweitertes In-Memory-Caching
Installation
- Klonen Sie das Repository:Copy
- Erstellen Sie eine virtuelle Umgebung:Copy
- Installieren Sie Python-Abhängigkeiten:Copy
- Installieren Sie Node.js-Abhängigkeiten (für das optimierte Scraping-System):Copy
- Installieren Sie Chrome/Chromium für Pyppeteer (falls noch nicht installiert)
Verwendung
Lokal ausführen
- Starten Sie den Server mit der bereitgestellten Batchdatei (Windows):Oder manuell mit uvicorn:CopyCopy
- Greifen Sie auf die API unter
http://localhost:8000
zu - Generieren Sie ein MCP, indem Sie eine GET-Anfrage an Folgendes senden:Copy
- Überprüfen Sie die API-Dokumentation unter
http://localhost:8000/docs
Produktions-URL
Der Produktionsserver ist verfügbar unter:
Alle in dieser README-Datei dokumentierten Endpunkte sind sowohl unter den lokalen als auch unter den Produktions-URLs verfügbar.
Testen des Caching-Systems
- Stellen Sie eine erste Anfrage, um ein MCP zu generieren (dadurch wird der Cache gefüllt):Copy
- Machen Sie eine zweite Anfrage mit den gleichen Parametern (diese sollte den Cache verwenden):Die zweite Anfrage sollte deutlich schneller sein, da das Ergebnis aus dem Cache abgerufen wird.Copy
Dokumentation
Eine ausführliche Dokumentation ist im Ordner docs
verfügbar:
- API-Referenz - Detaillierte API-Dokumentation
- Endpunktreferenz - Vollständige Referenz aller Endpunkte
- Flutter-Integration – Leitfaden zur Integration mit Flutter-Apps
- Async Tasks System - Dokumentation für das asynchrone Tasksystem
- Leistungsverbesserungen – Übersicht der Leistungsoptimierungen
- Caching-System - Dokumentation zum Caching-System
- Web Scraping Optimierung - Details zu Web Scraping Optimierungen
API-Endpunkte
GET /health
– Endpunkt für die IntegritätsprüfungGET /generate_mcp?topic={topic}&max_resources={max_resources}&num_nodes={num_nodes}&min_width={min_width}&max_width={max_width}&min_height={min_height}&max_height={max_height}&language={language}&category={category}
– Generiert synchron ein MCP für das angegebene Thematopic
(erforderlich): Das Thema, für das ein MCP generiert werden soll (mindestens 3 Zeichen)max_resources
(optional): Maximale Anzahl einzuschließender Ressourcen (Standard: 15, min: 5, max: 30)num_nodes
(optional): Anzahl der Knoten, die in den Lernpfad aufgenommen werden sollen (Standard: 15, min: 10, max: 30)min_width
(optional): Minimale Breite des Baums (Knoten auf der ersten Ebene) (Standard: 3, min: 2, max: 10)max_width
(optional): Maximale Breite auf jeder Ebene des Baums (Standard: 5, min: 3, max: 15)min_height
(optional): Minimale Höhe des Baums (Tiefe) (Standard: 3, min: 2, max: 8)max_height
(optional): Maximale Höhe des Baums (Tiefe) (Standard: 7, min: 3, max: 12)language
(optional): Sprache für Ressourcen (Standard: "pt")category
(optional): Kategorie für das Thema (z. B. „Technologie“, „Finanzen“, „Gesundheit“). Falls nicht angegeben, wird sie automatisch erkannt.
POST /generate_mcp_async?topic={topic}&max_resources={max_resources}&num_nodes={num_nodes}&min_width={min_width}&max_width={max_width}&min_height={min_height}&max_height={max_height}&language={language}&category={category}
– Asynchrone Generierung eines MCP startenGET /status/{task_id}
- Überprüfen Sie den Status einer asynchronen AufgabeGET /tasks
- Alle Aufgaben auflistenPOST /clear_cache?pattern={pattern}&clear_domain_cache={clear_domain_cache}
– Leert den Cache basierend auf einem Musterpattern
(optional): Muster zum Abgleichen der Cache-Schlüssel (Standard: „*“ für alle)clear_domain_cache
(optional): Ob auch der Domänenmethodencache gelöscht werden soll (Standard: false)
GET /cache_stats
- Statistiken zum Cache abrufen, einschließlich Informationen zum Domänenmethoden-Cache
Beispiele
Grundlegende Verwendung (Portugiesisch)
Benutzerdefinierte Anzahl von Knoten
Englische Sprache
Kategorie manuell angeben
Vollständige Anpassung
Kontrollbaumstruktur
Asynchrone Generierung
Aufgabenstatus überprüfen
Cache leeren
Bestimmten Cache leeren
Leistungsverbesserungen
Der MCP-Server enthält mehrere Leistungsoptimierungen:
- Caching-System : Ergebnisse werden zwischengespeichert, um die Antwortzeiten bei wiederholten Abfragen zu verbessern
- Asynchrones Tasksystem : Lang andauernde Vorgänge werden asynchron verarbeitet
- Ressourcenfilterung : TF-IDF-basierte Filterung zur Auswahl der relevantesten Ressourcen
- Optimiertes Web Scraping : Effiziente Web Scraping-Techniken zur Reduzierung des Ressourcenverbrauchs
- Adaptives Scraping-System : Wählt automatisch die effizienteste Scraping-Methode für jede Website
- Puppeteer Instance Pool : Verwendet Browserinstanzen wieder, um Speichernutzung und Startzeit zu reduzieren
- Domänenmethoden-Cache : Merkt sich, welche Scraping-Methode für jede Domäne am besten funktioniert
- Ressourcenblockierung : Blockiert unnötige Ressourcen (Bilder, Stylesheets, Schriftarten) während des Scrapings
Leistungssteigerungen
- 60–80 % Reduzierung der Antwortzeit für Themen, die sich bereits im Cache befinden
- 30–50 % kürzere Reaktionszeit bei neuen Themen
- 40–60 % Reduzierung der Speichernutzung beim Web Scraping
- 3- bis 5-fache Steigerung des Durchsatzes bei gleichzeitigen Anfragen
Einsatz
Der Server kann auf verschiedenen Plattformen eingesetzt werden:
Verwenden von Docker
Bereitstellung auf Render, Fly.io oder anderen Plattformen
Befolgen Sie die plattformspezifischen Anweisungen zum Bereitstellen eines Docker-Containers oder einer Python-Anwendung.
Lizenz
Proprietäre Software – Alle Rechte vorbehalten
Diese Software ist urheberrechtlich geschützt und vertraulich. Unbefugtes Kopieren, Verteilen, Modifizieren, öffentliches Anzeigen oder öffentliches Vorführen dieser Software ist strengstens untersagt. Diese Software ist ausschließlich für die Nutzung im Rahmen eines kostenpflichtigen Abonnements vorgesehen.
© 2024 ReuneMacacada. Alle Rechte vorbehalten.
Letzter Commit: v1.1.2 – Problembehebung mit DuckDuckGo-Rate-Limit und Puppeteer
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Ein Server, der Master Content Plans (MCPs) generiert, indem er Webressourcen aggregiert und sie in strukturierte Lernpfade für jedes Thema organisiert.
Related MCP Servers
- AsecurityAlicenseAqualityA powerful MCP server for fetching and transforming web content into various formats (HTML, JSON, Markdown, Plain Text) with ease.Last updated -414612TypeScriptMIT License
- AsecurityAlicenseAqualityAn MCP server for fetching and transforming web content into various formats.Last updated -44PythonMIT License
- AsecurityFlicenseAqualityAn MCP (Model Context Protocol) server that provides Google search capabilities and webpage content analysis tools. This server enables AI models to perform Google searches and analyze webpage content programmatically.Last updated -34641TypeScript
- -securityFlicense-qualityAn MCP server that provides tools and resources for managing a coding project's todo list, allowing users to view, add, update, and delete todo items with details like priority, status, and tags.Last updated -1Python