Все статьиТехническоеСбор данных и Scraper API11 мин

Протокол MCP: как подключить AI-агентов к веб-данным

Техническое руководство по Model Context Protocol (MCP). Как интегрировать Claude, Cursor и автономных AI-агентов с веб-скрейперами для получения live-данных.

Команда InfraProxy

1 февраля 2026 г.

#MCP#AI#Cursor#Claude#API#скрейпинг#LLM

Эра автономных AI-агентов

Что такое Model Context Protocol (MCP)?
MCP (Model Context Protocol) — это открытый стандарт обмена данными на базе JSON-RPC, позволяющий LLM (Claude, GPT) безопасно взаимодействовать с внешними инструментами и API. В контексте веб-скрейпинга, поднятый MCP-сервер даёт AI-агенту возможность самостоятельно запускать браузер, использовать прокси, парсить нужные сайты и возвращать свежие live-данные в контекст диалога.

Исторически LLM были ограничены датой своего обучения (Knowledge Cutoff). Если вы спрашивали нейросеть о ценах конкурентов на сегодня, она либо галлюцинировала, либо отказывалась отвечать. Model Context Protocol (MCP), представленный Anthropic, меняет парадигму: теперь AI-модели выступают в роли оркестраторов, которые через стандартизированный протокол вызывают внешние "Tools" (инструменты) для сбора данных в реальном времени.

Архитектура Model Context Protocol

MCP работает по архитектуре Клиент-Сервер:

  1. MCP Client: Среда, где работает LLM. Это может быть Cursor IDE, Claude Desktop или ваш кастомный AI-агент на базе LangChain/LlamaIndex.
  2. MCP Server: Изолированный процесс (на Node.js или Python), который предоставляет клиенту манифест доступных инструментов (Tools), ресурсов (Resources) и промптов (Prompts).
  3. Transport Layer: Связь обычно происходит через stdio (стандартный ввод-вывод для локальных процессов) или SSE (Server-Sent Events) для удаленных вызовов.

Сценарий исполнения (Data Flow):

  • Пользователь в Cursor IDE пишет: "Сравни фичи нашего продукта с ценами на сайте example.com".
  • LLM-клиент понимает, что ему нужен интернет, и отправляет JSON-RPC запрос к локальному MCP Server, вызывая инструмент scrape_website(url="example.com").
  • MCP Server запускает Puppeteer через резидентные прокси, собирает DOM, очищает HTML от мусора (конвертирует в Markdown).
  • Сервер возвращает текст в контекст LLM.
  • Модель генерирует финальный аналитический ответ.

Создание MCP-сервера для веб-скрейпинга

Простой MCP-сервер для парсинга можно поднять на Python с использованием официального SDK от Anthropic.

Пример регистрации Tool-функции:

from mcp.server.fastmcp import FastMCP
import requests
from bs4 import BeautifulSoup

mcp = FastMCP("WebScraper")

@mcp.tool()
def fetch_webpage(url: str, use_residential_proxy: bool = True) -> str:
    """
    Скачивает контент с URL и возвращает чистый текст.
    """
    proxies = {}
    if use_residential_proxy:
         # Интеграция с пулом InfraProxy
         proxies = {"http": "http://proxy.infraproxy.com:8000", 
                    "https": "http://proxy.infraproxy.com:8000"}
    
    headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)..."}
    response = requests.get(url, headers=headers, proxies=proxies)
    
    # Очистка HTML для экономии токенов контекста LLM
    soup = BeautifulSoup(response.text, 'html.parser')
    return soup.get_text(separator='\n', strip=True)[:10000]

if __name__ == "__main__":
    mcp.run()

Прокси-инфраструктура для AI-Агентов

AI-агенты создают машинные запросы, поэтому для них особенно важны опубликованные лимиты, кэш, прозрачный User-Agent и контроль параллельности.

Прокси в MCP-сервере дают управляемый сетевой маршрут, но не разрешение на доступ. Различия DC и ISP описаны в гайде Датацентровые и ISP прокси. Для данных за авторизацией используйте официальный API или заранее согласованный доступ, а не автоматизацию входа.

Перед рабочим запуском проверьте задачу на разрешённом источнике: возможности Scraper API.

Этичность и ограничения

Перед сбором проверьте официальный API, robots.txt и условия использования источника. Соблюдайте Disallow и Crawl-delay, ограничивайте параллельность, используйте backoff на 429/503 и кэшируйте ответы. Собирайте только публичные данные: без обхода логина и paywall, без персональных данных и перепубликации чужих текстов. Используйте честный User-Agent и обрабатывайте запросы на удаление данных.

Нужно получать публичные данные без поддержки собственной инфраструктуры?

Посмотрите возможности Scraper API, условия теста и примеры интеграции.

Перейти к Scraper API