MCP Server
MCP-сервер
Сервер, который генерирует планы основного контента (MCP) на основе тем. Сервер агрегирует ресурсы из сети и организует их в структурированные пути обучения.
Функции
Создавайте пути обучения по любой теме (не только по технологическим темам)
Найдите соответствующие ресурсы с помощью веб-поиска и скрапинга
Организуйте ресурсы в логическую последовательность с настраиваемым количеством узлов.
Поддержка нескольких языков с упором на португальский
Оптимизация производительности для бесплатного уровня Render
Система кэширования для более быстрых ответов
Возвращает стандартизированную структуру JSON для использования клиентскими приложениями.
НОВОЕ : Фильтрация по релевантности ресурсов на основе TF-IDF для обеспечения соответствия ресурсов запрошенной теме
НОВОЕ : Стратегическое распределение тестов по деревьям обучения для сбалансированного обучения
НОВОЕ : интеграция с YouTube для включения соответствующих видео в учебные планы
НОВОЕ : Система категорий для создания более специфичного контента для различных типов тем.
НОВОЕ : Асинхронная система задач с обратной связью о ходе выполнения в реальном времени для улучшения пользовательского опыта и предотвращения простоев
НОВОЕ : Улучшенная система кэширования для повышения производительности и сокращения времени отклика
НОВОЕ : Оптимизированные методы веб-скрейпинга для лучшего использования ресурсов
НОВОЕ : Адаптивная система парсинга, которая автоматически выбирает наиболее эффективный метод для каждого веб-сайта.
НОВОЕ : пул экземпляров Puppeteer для эффективного повторного использования браузера и снижения потребления памяти
Related MCP server: url-context-mcp
Технологический стек
Питон 3.9+
FastAPI
Pyppeteer для веб-скрапинга с использованием JavaScript
Pyppeteer-скрытность для избежания обнаружения во время веб-скрапинга
Пул экземпляров Puppeteer для эффективного повторного использования браузера
API поиска DuckDuckGo
BeautifulSoup для анализа HTML
scikit-learn для фильтрации релевантности ресурсов на основе TF-IDF
yt-dlp для поиска видео на YouTube и извлечения метаданных
Redis (опционально) для распределенного кэширования
msgpack для эффективной сериализации данных
cachetools для расширенного кэширования в памяти
Установка
Клонируйте репозиторий:
git clone https://github.com/yourusername/mcp_server.git cd mcp_serverСоздайте виртуальную среду:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activateУстановите зависимости Python:
pip install -r requirements.txtУстановите зависимости Node.js (для оптимизированной системы скрапинга):
npm installУстановите Chrome/Chromium для Pyppeteer (если еще не установлен)
Использование
Работает локально
Запустите сервер с помощью предоставленного пакетного файла (Windows):
run_local.batИли вручную с помощью uvicorn:
uvicorn main:app --reload --host 0.0.0.0 --port 8000Доступ к API по адресу
http://localhost:8000Создайте MCP, отправив запрос GET на:
GET /generate_mcp?topic=your_topicПроверьте документацию API по адресу
http://localhost:8000/docs
URL-адрес производства
Производственный сервер доступен по адресу:
https://reunemacacada.onrender.comВсе конечные точки, описанные в этом файле README, доступны как по локальным, так и по производственным URL-адресам.
Тестирование системы кэширования
Сделайте первый запрос на генерацию MCP (это заполнит кэш):
GET /generate_mcp?topic=python&num_nodes=15&language=ptСделайте второй запрос с теми же параметрами (он должен использовать кэш):
GET /generate_mcp?topic=python&num_nodes=15&language=ptВторой запрос должен быть значительно быстрее, поскольку результат будет извлечен из кэша.
Документация
Подробная документация доступна в папке 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- Получить статистику о кэше, включая информацию о кэше методов домена
Примеры
Базовое использование (португальский)
GET /generate_mcp?topic=pythonПользовательское количество узлов
GET /generate_mcp?topic=machine+learning&num_nodes=20английский язык
GET /generate_mcp?topic=javascript&language=enУкажите категорию вручную
GET /generate_mcp?topic=python&category=technologyПолная настройка
GET /generate_mcp?topic=história+do+brasil&max_resources=20&num_nodes=25&min_width=4&max_width=8&min_height=4&max_height=8&language=ptСтруктура дерева управления
GET /generate_mcp?topic=machine+learning&min_width=2&max_width=4&min_height=5&max_height=10Асинхронная генерация
POST /generate_mcp_async?topic=inteligência+artificial&category=technologyПроверить статус задачи
GET /status/550e8400-e29b-41d4-a716-446655440000Очистить кэш
POST /clear_cacheОчистить определенный кэш
POST /clear_cache?pattern=mcp:*Улучшения производительности
MCP Server включает в себя несколько оптимизаций производительности:
Система кэширования : результаты кэшируются для улучшения времени отклика при повторных запросах.
Асинхронная система задач : длительные операции обрабатываются асинхронно.
Фильтрация ресурсов : фильтрация на основе TF-IDF для выбора наиболее релевантных ресурсов.
Оптимизированный веб-скрапинг : эффективные методы веб-скрапинга для снижения использования ресурсов
Адаптивная система парсинга : автоматически выбирает наиболее эффективный метод парсинга для каждого веб-сайта.
Пул экземпляров Puppeteer : повторно использует экземпляры браузера для сокращения использования памяти и времени запуска.
Кэш методов домена : запоминает, какой метод очистки лучше всего подходит для каждого домена.
Блокировка ресурсов : блокирует ненужные ресурсы (изображения, таблицы стилей, шрифты) во время сканирования.
Рост производительности
Сокращение времени ответа для тем, уже находящихся в кэше, на 60–80 %
Сокращение времени ответа на новые темы на 30–50 %
40-60% сокращение использования памяти при веб-скрапинге
Увеличение пропускной способности в 3–5 раз для одновременных запросов
Развертывание
Сервер может быть развернут на различных платформах:
Использование Докера
docker build -t mcp-server .
docker run -p 8080:8080 mcp-serverРазвертывание на Render, Fly.io или других платформах
Следуйте инструкциям по развертыванию контейнера Docker или приложения Python для конкретной платформы.
Лицензия
Запатентованное программное обеспечение - Все права защищены
Это программное обеспечение является собственностью и конфиденциально. Несанкционированное копирование, распространение, изменение, публичный показ или публичное исполнение этого программного обеспечения строго запрещено. Это программное обеспечение предназначено для использования только в рамках платной модели подписки.
© 2024 РеунеМакакада. Все права защищены.
Последний коммит: v1.1.2 — исправление проблем с ограничением скорости DuckDuckGo и Puppeteer
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for generating rough-draft project plans from natural-language prompts.
One MCP server for all web data. Scrape, search, crawl, and AI research in one install.
MCP server that lets your AI assistant build and deploy apps, hosting each one at a live URL.
Unified 15-tool SEO, SERP, clean Markdown & GEO (LLM citation Share-of-Voice) MCP server.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAI-powered MCP server that transforms learning by finding best YouTube tutorials, generating personalized learning paths, and tracking progress for any tech skill.11MIT
- AlicenseAqualityDmaintenanceAn MCP server that fetches web pages and extracts clean, AI-usable context from them, enabling tools for link discovery, content search, and integrated fetch-and-search operations.517 npm1MIT
- AlicenseAqualityDmaintenanceMCP server that provides web content fetching, summarization, comparison, and extraction capabilities, handling up to 20 URLs per request.339 npm9MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server that compiles interactive, standards-conformant e-learning courses into SCORM packages. It lets you (or an AI client) describe a course as a structured spec and receive a self-contained SCORM zip ready for any LMS.9MIT