Crawl-MCP
Crawl-MCP: Неофициальный MCP-сервер для crawl4ai
⚠️ Важно: Это неофициальная реализация MCP-сервера для отличной библиотеки crawl4ai. Не связана с оригинальным проектом crawl4ai.
Полнофункциональный сервер протокола контекста модели (MCP), который объединяет мощную библиотеку crawl4ai с передовыми возможностями ИИ. Извлекайте и анализируйте контент из любого источника: веб-страниц, PDF-файлов, документов Office, видео YouTube и многого другого. Включает интеллектуальное суммирование для значительного сокращения использования токенов при сохранении важной информации.
🌟 Ключевые особенности
🔍 Интеграция с поиском Google - 7 оптимизированных жанров поиска с официальными операторами Google
🔍 Продвинутый веб-краулинг: поддержка JavaScript, глубокое картирование сайтов, извлечение сущностей
🌐 Универсальное извлечение контента: веб-страницы, PDF, документы Word, Excel, PowerPoint, ZIP-архивы
🤖 ИИ-суммирование: умное сокращение токенов (до 88,5%) при сохранении основной информации
🎬 Интеграция с YouTube: извлечение транскриптов видео и их краткое содержание без API-ключей
⚡ Готовность к продакшену: 19 специализированных инструментов с комплексной обработкой ошибок
Related MCP server: Crawl4AI MCP Server
🚀 Быстрый старт
Предварительные требования (обязательно)
Python 3.11 или выше (FastMCP требует Python 3.11+)
Установка системных зависимостей для Playwright:
Ubuntu 24.04 LTS (требуется ручная настройка):
# Manual setup required due to t64 library transition
sudo apt update && sudo apt install -y \
libnss3 libatk-bridge2.0-0 libxss1 libasound2t64 \
libgbm1 libgtk-3-0t64 libxshmfence-dev libxrandr2 \
libxcomposite1 libxcursor1 libxdamage1 libxi6 \
fonts-noto-color-emoji fonts-unifont python3-venv python3-pip
python3 -m venv venv && source venv/bin/activate
pip install playwright==1.55.0 && playwright install chromium
sudo playwright install-depsДругие Linux/macOS:
sudo bash scripts/prepare_for_uvx_playwright.shWindows (от имени администратора):
scripts/prepare_for_uvx_playwright.ps1Установка
UVX (рекомендуется — проще всего):
# After system preparation above - that's it!
uvx --from git+https://github.com/walksoda/crawl-mcp crawl-mcpDocker (готов к продакшену):
# Clone the repository
git clone https://github.com/walksoda/crawl-mcp
cd crawl-mcp
# Build and run with Docker Compose (STDIO mode)
docker-compose up --build
# Or build and run HTTP mode on port 8000
docker-compose --profile http up --build crawl4ai-mcp-http
# Or build manually
docker build -t crawl4ai-mcp .
docker run -it crawl4ai-mcpВозможности Docker:
🔧 Поддержка нескольких браузеров: Chromium, Firefox, Webkit (headless)
🐧 Google Chrome: Дополнительный Chrome Stable для совместимости
⚡ Оптимизированная производительность: Предварительно настроенные флаги браузера для Docker
🔒 Безопасность: Запуск от пользователя без прав root
📦 Полный набор зависимостей: Все необходимые библиотеки включены
Настройка Claude Desktop
Установка через UVX:
Добавьте в ваш claude_desktop_config.json:
{
"mcpServers": {
"crawl-mcp": {
"transport": "stdio",
"command": "uvx",
"args": [
"--from",
"git+https://github.com/walksoda/crawl-mcp",
"crawl-mcp"
],
"env": {
"CRAWL4AI_LANG": "en"
}
}
}
}Режим Docker HTTP:
{
"mcpServers": {
"crawl-mcp": {
"transport": "http",
"baseUrl": "http://localhost:8000"
}
}
}Для японского интерфейса:
"env": {
"CRAWL4AI_LANG": "ja"
}📖 Документация
Тема | Описание |
Полные инструкции по установке для всех платформ | |
Полная документация инструментов и примеры использования | |
Конфигурации для конкретных платформ | |
Доступ к HTTP API и методы интеграции | |
Техники для опытных пользователей и рабочие процессы | |
Вклад в проект и настройка среды разработки |
Документация по языкам
🛠️ Обзор инструментов
Веб-краулинг (3)
crawl_url- Извлечение контента веб-страницы с поддержкой JavaScriptdeep_crawl_site- Краулинг нескольких страниц сайта с настраиваемой глубинойcrawl_url_with_fallback- Краулинг со стратегиями резервного копирования для сайтов с защитой от ботов
Извлечение данных (3)
intelligent_extract- Извлечение специфических данных с веб-страниц с помощью LLMextract_entities- Извлечение сущностей (email, телефоны и т.д.) с веб-страницextract_structured_data- Извлечение структурированных данных с помощью CSS-селекторов или LLM
YouTube (4)
extract_youtube_transcript- Извлечение транскриптов YouTube с временными меткамиbatch_extract_youtube_transcripts- Извлечение транскриптов из нескольких видео YouTube (макс. 3)get_youtube_video_info- Получение метаданных видео YouTube и доступности транскриптаextract_youtube_comments- Извлечение комментариев к видео YouTube с пагинацией
Поиск (4)
search_google- Поиск в Google с фильтрацией по жанрамbatch_search_google- Выполнение нескольких поисковых запросов в Google (макс. 3)search_and_crawl- Поиск в Google и краулинг топовых результатовget_search_genres- Получение доступных жанров поиска
Обработка файлов (3)
process_file- Конвертация PDF, Word, Excel, PowerPoint, ZIP в markdownget_supported_file_formats- Получение списка поддерживаемых форматов файлов и возможностейenhanced_process_large_content- Обработка большого контента с чанкингом и фильтрацией BM25
Пакетные операции (2)
batch_crawl- Краулинг нескольких URL с резервными стратегиями (макс. 3 URL)multi_url_crawl- Краулинг нескольких URL с конфигурацией на основе шаблонов (макс. 5 шаблонов URL)
💾 Сохранение больших результатов на диск (экономия токенов)
Все инструменты сбора информации принимают необязательный параметр output_path, который записывает полностью полученный контент прямо на диск и возвращает компактный ответ, содержащий только метаданные. Это позволяет LLM получать огромные страницы, длинные транскрипты YouTube или целые пакеты данных, не превышая лимит контекста — читайте из сохраненного файла только тогда, когда это необходимо.
Как это работает:
Инструменты для одного файла (например,
crawl_url,extract_youtube_transcript) записывают один.md(или.jsonдля инструментов типа JSON) — передайте абсолютный путь к файлу; расширение добавляется автоматически, если оно опущено. Существующий обычный файл по этому пути будет отклонен, если не указаноoverwrite=true.Пакетные инструменты (
batch_crawl,multi_url_crawl,deep_crawl_site,search_and_crawl,batch_extract_youtube_transcripts) ожидают абсолютный путь к директории и записывают один.mdна каждый URL плюсindex.json. Любой несуществующий путь рассматривается как директория и создается — включая имена, содержащие точки, такие как/tmp/run.v1. Если путь уже существует как обычный файл, вызов будет отклонен.batch_crawl/multi_url_crawlсохраняют свою форму возвратаlistи встраивают ключoutput_fileв каждый успешный элемент.Инструменты с словарем запросов (
search_google,batch_search_google,search_and_crawl,batch_extract_youtube_transcripts) считывают ключи сохранения напрямую из своего словаря запросов.Общие параметры:
output_path(абсолютный;Noneили""пропускает сохранение),include_content_in_response(по умолчаниюfalse— еслиtrue, контент также включается в ответ, все еще подвергается любому нарезаниюcontent_limit/content_offset/max_content_per_page),overwrite(по умолчаниюfalse).Запись атомарна для каждого файла (временный файл +
os.replace); родительские директории создаются автоматически; полная неразрезанная полезная нагрузка сохраняется до любого нарезания или внутренней обрезки инструмента, поэтому копия на диске всегда полная, даже если ответ был обрезан.Пакетные инструменты со словарем (
deep_crawl_site,search_and_crawl,batch_extract_youtube_transcripts) пропускают сохранение для элементов, которые сообщаютsuccess=false; они все равно появляются вindex.jsonсfile: null, чтобы вызывающие стороны могли проанализировать список попыток.
Пример для одного Markdown-файла:
{
"tool": "crawl_url",
"arguments": {
"url": "https://example.com/long-article",
"output_path": "/tmp/crawl_out/article.md"
}
}Структурированное извлечение JSON (расширение добавляется автоматически):
{
"tool": "extract_structured_data",
"arguments": {
"url": "https://example.com/products",
"extraction_type": "css",
"css_selectors": {"price": ".price", "name": "h1"},
"output_path": "/tmp/crawl_out/products"
}
}Режим пакетной директории:
{
"tool": "batch_crawl",
"arguments": {
"urls": ["https://a.example", "https://b.example"],
"output_path": "/tmp/crawl_out/batch_run1"
}
}Каждый сохраненный markdown-файл начинается с блока YAML frontmatter, содержащего url, title, fetched_at и source_tool, поэтому артефакт является самоописываемым.
🎯 Типичные сценарии использования
Исследование контента:
search_and_crawl → extract_structured_data → analysisАнализ документации:
deep_crawl_site → batch processing → extractionАнализ медиа:
extract_youtube_transcript → summarization workflowКартирование сайтов:
batch_crawl → multi_url_crawl → comprehensive data🚨 Быстрое устранение неполадок
Проблемы с установкой:
Перезапустите скрипты установки с соответствующими привилегиями
Попробуйте метод установки для разработки
Проверьте, установлены ли зависимости браузера
Проблемы с производительностью:
Используйте
wait_for_js: trueдля сайтов с интенсивным использованием JavaScriptУвеличьте время ожидания (timeout) для медленно загружающихся страниц
Используйте
extract_structured_dataдля целевого извлечения
Проблемы с конфигурацией:
Проверьте синтаксис JSON в
claude_desktop_config.jsonУбедитесь, что пути к файлам абсолютные
Перезапустите Claude Desktop после внесения изменений в конфигурацию
🏗️ Структура проекта
Оригинальная библиотека: crawl4ai от unclecode
MCP-обертка: Этот репозиторий (walksoda)
Реализация: Неофициальная сторонняя интеграция
📄 Лицензия
Этот проект является неофициальной оберткой вокруг библиотеки crawl4ai. Пожалуйста, обратитесь к оригинальной лицензии crawl4ai для получения информации о базовой функциональности.
🤝 Вклад в проект
Смотрите наше Руководство по разработке для получения рекомендаций по внесению вклада и инструкций по настройке среды разработки.
🔗 Связанные проекты
crawl4ai - Базовая библиотека для веб-краулинга
Model Context Protocol - Стандарт, который реализует этот сервер
Claude Desktop - Основной клиент для MCP-серверов
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseBqualityDmaintenanceAn MCP Server for Web scraping and Crawling, built using Crawl4AI224
- Flicense-qualityDmaintenanceA locally-hosted MCP server that provides AI assistants with advanced web crawling capabilities, including structured data extraction, deep site crawling, and page screenshots. It enables users to convert single or multiple URLs into clean Markdown content for processing by LLMs without requiring external API keys for basic features.
- AlicenseAqualityBmaintenanceWeb extraction MCP server for AI agents. Extract structured data from any URL with built-in Cloudflare bypass, JavaScript rendering, and intelligent parsing. Returns clean markdown or JSON.57942MIT
- Alicense-qualityCmaintenanceMCP server integrating Crawl4AI for universal web crawling and data extraction. Enables AI agents to crawl, extract markdown/HTML, take screenshots, generate PDFs, and execute JavaScript on web pages.677MIT
Related MCP Connectors
An MCP server that gives your AI access to the source code and docs of all public github repos
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/walksoda/crawl-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server