Разработка MCP-сервера для сбора данных через парсинг-сервисы

Ключевая задача

Создать сервер на Python, который по протоколу MCP будет предоставлять AI-агенту структурированную информацию о товарах с веб-страниц. Основная особенность - использование внешних сервисов для обхода антипарсинговых защит.

Технический стек

  • Python 3.11+
  • FastMCP для реализации протокола
  • Pydantic для валидации данных
  • HTTPX для работы с API
  • Docker для контейнеризации

Функциональные требования

Инструмент get_competitor_data

  • Принимает URL страницы и список полей
  • Отправляет запрос к внешнему API парсинга (например, Firecrawl, ScrapingBee)
  • Преобразует полученный контент в структурированный JSON
  • Прямой парсинг HTML на стороне сервера не допускается

Обработка и валидация данных

  • Извлекаемые поля:
    • Наименование товара
    • Чистота состава (значение и единица измерения)
    • Информация об упаковке (тип и вес)
    • Наличие товара
    • Цена
  • Валидация через Pydantic-модели

Формат ответа

{
  "status": "success/error",
  "data": {
    "name": "Название товара",
    "purity": {"value": 99.5, "unit": "%"},
    "packaging": {"type": "bag", "weight": 25.0},
    "availability": true,
    "url": "ссылка"
  },
  "metrics": {"duration": 0.0, "cost": 0.0}
}

Обработка ошибок

  • Блокировки доступа (403)
  • Исчерпание лимитов запросов (429)
  • Проблемы авторизации в API

Нефункциональные требования

  • Модульность: Архитектура должна позволять легко заменять провайдера API парсинга (изменение одного класса)
  • Безопасность: API-ключи хранятся исключительно в переменных окружения (.env файл)
  • Контейнеризация: Предоставить Dockerfile для запуска в изолированном окружении
  • Логирование: Запись всех входящих запросов, их длительности и результатов обработки

Результаты работы

  • Исходный код сервера
  • Файл .env.example с шаблоном переменных окружения
  • Dockerfile для сборки контейнера
  • Инструкция по подключению и настройке

Разработка дизайна многостраничного сайта для медицинского лабораторного сервиса

Требуется разработать дизайн сайта для медицинской лаборатории в соответствии с предоставленным гайдлайном. Пользователи смогут выбирать анализы, составлять заказ, оплачивать онлайн и выбирать пункт для сдачи биоматериала.

Разработка мониторингового Python-бота с API и Telegram-уведомлениями

Требуется создать Python-бота, который будет отслеживать активность крупных инфлюенсеров в социальных сетях по заданным крипто-активам и отправлять уведомления в Telegram. Интеграция со сторонним API для получения данных обязательна.