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:
git clone https://github.com/yourusername/mcp_server.git cd mcp_serverErstellen Sie eine virtuelle Umgebung:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activateInstallieren Sie Python-Abhängigkeiten:
pip install -r requirements.txtInstallieren Sie Node.js-Abhängigkeiten (für das optimierte Scraping-System):
npm installInstallieren Sie Chrome/Chromium für Pyppeteer (falls noch nicht installiert)
Verwendung
Lokal ausführen
Starten Sie den Server mit der bereitgestellten Batchdatei (Windows):
run_local.batOder manuell mit uvicorn:
uvicorn main:app --reload --host 0.0.0.0 --port 8000Greifen Sie auf die API unter
http://localhost:8000
zuGenerieren Sie ein MCP, indem Sie eine GET-Anfrage an Folgendes senden:
GET /generate_mcp?topic=your_topicÜ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):
GET /generate_mcp?topic=python&num_nodes=15&language=ptMachen Sie eine zweite Anfrage mit den gleichen Parametern (diese sollte den Cache verwenden):
GET /generate_mcp?topic=python&num_nodes=15&language=ptDie zweite Anfrage sollte deutlich schneller sein, da das Ergebnis aus dem Cache abgerufen wird.
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
- AsecurityAlicenseAqualityAn MCP server for fetching and transforming web content into various formats.Last updated -47MIT License
- AsecurityFlicenseAqualityA specialized server that helps users create new Model Context Protocol (MCP) servers by providing tools and templates for scaffolding projects with various capabilities.Last updated -81645
- -securityFlicense-qualityAn MCP server that enables generating scripts based on specified topics and keywords, while also providing functionality to store and summarize notes.Last updated -1
- AsecurityFlicenseAqualityAn MCP server that helps teams create, manage, and access structured project documentation through six core document types, leveraging AI to generate comprehensive project knowledge management.Last updated -53399