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-сервер
Сервер, который генерирует планы основного контента (MCP) на основе тем. Сервер агрегирует ресурсы из сети и организует их в структурированные пути обучения.
Функции
- Создавайте пути обучения по любой теме (не только по технологическим темам)
- Найдите соответствующие ресурсы с помощью веб-поиска и скрапинга
- Организуйте ресурсы в логическую последовательность с настраиваемым количеством узлов.
- Поддержка нескольких языков с упором на португальский
- Оптимизация производительности для бесплатного уровня Render
- Система кэширования для более быстрых ответов
- Возвращает стандартизированную структуру JSON для использования клиентскими приложениями.
- НОВОЕ : Фильтрация по релевантности ресурсов на основе TF-IDF для обеспечения соответствия ресурсов запрошенной теме
- НОВОЕ : Стратегическое распределение тестов по деревьям обучения для сбалансированного обучения
- НОВОЕ : интеграция с YouTube для включения соответствующих видео в учебные планы
- НОВОЕ : Система категорий для создания более специфичного контента для различных типов тем.
- НОВОЕ : Асинхронная система задач с обратной связью о ходе выполнения в реальном времени для улучшения пользовательского опыта и предотвращения простоев
- НОВОЕ : Улучшенная система кэширования для повышения производительности и сокращения времени отклика
- НОВОЕ : Оптимизированные методы веб-скрейпинга для лучшего использования ресурсов
- НОВОЕ : Адаптивная система парсинга, которая автоматически выбирает наиболее эффективный метод для каждого веб-сайта.
- НОВОЕ : пул экземпляров Puppeteer для эффективного повторного использования браузера и снижения потребления памяти
Технологический стек
- Питон 3.9+
- FastAPI
- Pyppeteer для веб-скрапинга с использованием JavaScript
- Pyppeteer-скрытность для избежания обнаружения во время веб-скрапинга
- Пул экземпляров Puppeteer для эффективного повторного использования браузера
- API поиска DuckDuckGo
- BeautifulSoup для анализа HTML
- scikit-learn для фильтрации релевантности ресурсов на основе TF-IDF
- yt-dlp для поиска видео на YouTube и извлечения метаданных
- Redis (опционально) для распределенного кэширования
- msgpack для эффективной сериализации данных
- cachetools для расширенного кэширования в памяти
Установка
- Клонируйте репозиторий:Copy
- Создайте виртуальную среду:Copy
- Установите зависимости Python:Copy
- Установите зависимости Node.js (для оптимизированной системы скрапинга):Copy
- Установите Chrome/Chromium для Pyppeteer (если еще не установлен)
Использование
Работает локально
- Запустите сервер с помощью предоставленного пакетного файла (Windows):Или вручную с помощью uvicorn:CopyCopy
- Доступ к API по адресу
http://localhost:8000
- Создайте MCP, отправив запрос GET на:Copy
- Проверьте документацию API по адресу
http://localhost:8000/docs
URL-адрес производства
Производственный сервер доступен по адресу:
Все конечные точки, описанные в этом файле README, доступны как по локальным, так и по производственным URL-адресам.
Тестирование системы кэширования
- Сделайте первый запрос на генерацию MCP (это заполнит кэш):Copy
- Сделайте второй запрос с теми же параметрами (он должен использовать кэш):Второй запрос должен быть значительно быстрее, поскольку результат будет извлечен из кэша.Copy
Документация
Подробная документация доступна в папке docs
:
- Справочник API — Подробная документация API
- Справочник конечных точек — полный справочник всех конечных точек
- Интеграция Flutter — руководство по интеграции с приложениями Flutter
- Система асинхронных задач — документация по системе асинхронных задач
- Улучшения производительности — обзор оптимизаций производительности
- Система кэширования - Документация по системе кэширования
- Оптимизация веб-скрапинга - Подробности об оптимизации веб-скрапинга
Конечные точки API
GET /health
— конечная точка проверки работоспособностиGET /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}
- Синхронно сгенерировать MCP для указанной темыtopic
(обязательно): Тема для создания MCP (минимум 3 символа)max_resources
(необязательно): максимальное количество включаемых ресурсов (по умолчанию: 15, мин.: 5, макс.: 30)num_nodes
(необязательно): количество узлов, включаемых в путь обучения (по умолчанию: 15, мин.: 10, макс.: 30)min_width
(необязательно): Минимальная ширина дерева (узлы на первом уровне) (по умолчанию: 3, мин: 2, макс: 10)max_width
(необязательно): максимальная ширина на любом уровне дерева (по умолчанию: 5, мин.: 3, макс.: 15)min_height
(необязательно): Минимальная высота дерева (глубина) (по умолчанию: 3, мин: 2, макс: 8)max_height
(необязательно): Максимальная высота дерева (глубина) (по умолчанию: 7, мин.: 3, макс.: 12)language
(необязательно): Язык для ресурсов (по умолчанию: «pt»)category
(необязательно): Категория для темы (например, «технологии», «финансы», «здравоохранение»). Если не указано, она будет определена автоматически.
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}
- Запустить асинхронную генерацию MCPGET /status/{task_id}
— проверка статуса асинхронной задачиGET /tasks
— список всех задачPOST /clear_cache?pattern={pattern}&clear_domain_cache={clear_domain_cache}
— Очистить кэш на основе шаблонаpattern
(необязательно): шаблон для сопоставления ключей кэша (по умолчанию: «*» для всех)clear_domain_cache
(необязательно): следует ли также очищать кэш методов домена (по умолчанию: false)
GET /cache_stats
- Получить статистику о кэше, включая информацию о кэше методов домена
Примеры
Базовое использование (португальский)
Пользовательское количество узлов
английский язык
Укажите категорию вручную
Полная настройка
Структура дерева управления
Асинхронная генерация
Проверить статус задачи
Очистить кэш
Очистить определенный кэш
Улучшения производительности
MCP Server включает в себя несколько оптимизаций производительности:
- Система кэширования : результаты кэшируются для улучшения времени отклика при повторных запросах.
- Асинхронная система задач : длительные операции обрабатываются асинхронно.
- Фильтрация ресурсов : фильтрация на основе TF-IDF для выбора наиболее релевантных ресурсов.
- Оптимизированный веб-скрапинг : эффективные методы веб-скрапинга для снижения использования ресурсов
- Адаптивная система парсинга : автоматически выбирает наиболее эффективный метод парсинга для каждого веб-сайта.
- Пул экземпляров Puppeteer : повторно использует экземпляры браузера для сокращения использования памяти и времени запуска.
- Кэш методов домена : запоминает, какой метод очистки лучше всего подходит для каждого домена.
- Блокировка ресурсов : блокирует ненужные ресурсы (изображения, таблицы стилей, шрифты) во время сканирования.
Рост производительности
- Сокращение времени ответа для тем, уже находящихся в кэше, на 60–80 %
- Сокращение времени ответа на новые темы на 30–50 %
- 40-60% сокращение использования памяти при веб-скрапинге
- Увеличение пропускной способности в 3–5 раз для одновременных запросов
Развертывание
Сервер может быть развернут на различных платформах:
Использование Докера
Развертывание на Render, Fly.io или других платформах
Следуйте инструкциям по развертыванию контейнера Docker или приложения Python для конкретной платформы.
Лицензия
Запатентованное программное обеспечение - Все права защищены
Это программное обеспечение является собственностью и конфиденциально. Несанкционированное копирование, распространение, изменение, публичный показ или публичное исполнение этого программного обеспечения строго запрещено. Это программное обеспечение предназначено для использования только в рамках платной модели подписки.
© 2024 РеунеМакакада. Все права защищены.
Последний коммит: v1.1.2 — исправление проблем с ограничением скорости DuckDuckGo и 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.
Сервер, который генерирует основные планы контента (MCP) путем агрегации веб-ресурсов и организации их в структурированные пути обучения по любой теме.
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