
Product
Socket Brings Supply Chain Security to skills.sh
Socket is now scanning AI agent skills across multiple languages and ecosystems, detecting malicious behavior before developers install, starting with skills.sh's 60,000+ skills.
web-parser-mcp
Advanced tools
🚀 UNIFIED BROWSER SESSION v3.7.1! Revolutionary: Enhanced Playwright content loading, stealth mode, dynamic content waiting, perfect session sharing!
РЕВОЛЮЦИОННАЯ АРХИТЕКТУРА! 🚀 ОДИН браузерный контекст для ВСЕХ инструментов! Автоматическое разделение сессии! Идеальное управление авторизацией!
// Раньше: Сложная синхронизация между requests и Playwright
browser_login() → сохраняет куки в authenticated_session
fetch_html() → вручную переносит куки в requests.Session
parse_page() → вручную переносит куки в requests.Session
// Теперь: Единый браузерный контекст для всех инструментов
browser_login() → логинится в unified browser session
fetch_html() → использует тот же browser session
parse_page() → использует тот же browser session
parallel_fetch() → использует тот же browser session
fetch_html - теперь использует UnifiedHTTPClient (Playwright only)parallel_fetch - обновлен для использования unified browser sessionbrowser_login - использует unified session + нет cleanupauto_paginate - использует unified browser contextinfinite_scroll - использует unified browser contextdebug_screenshot - использует unified browser context// 1. Логин один раз
{
"tool": "browser_login",
"arguments": {
"url": "https://site.com/login",
"username": "user@email.com",
"password": "password"
}
}
// 2. ВСЕ инструменты автоматически используют сессию!
{
"tool": "fetch_html",
"arguments": {"url": "https://site.com/protected"}
}
// ✅ session_used: {"source": "unified_browser_session", "cookies_count": 15}
{
"tool": "parallel_fetch",
"arguments": {"urls": ["https://site.com/page1", "https://site.com/page2"]}
}
// ✅ Оба запроса используют авторизацию автоматически!
{
"tool": "auto_paginate",
"arguments": {"url": "https://site.com/data", "max_pages": 5}
}
// ✅ Весь процесс пагинации использует авторизацию!
Теперь авторизация работает идеально для ВСЕХ инструментов! 🎉
domcontentloaded + networkidle + JavaScript delaywait_for="#content" для ожидания конкретных элементов// Раньше: Простая загрузка
{
"tool": "fetch_html",
"arguments": {
"url": "https://spa-site.com"
}
}
// ❌ Мог не загрузить динамический контент
// Теперь: Enhanced loading с полным контролем
{
"tool": "fetch_html",
"arguments": {
"url": "https://spa-site.com",
"wait_for": "#main-content",
"stealth": true,
"debug": true
}
}
// ✅ Полный контент + performance метрики + диагностика
domcontentloaded - базовая загрузка DOMselector waiting - ожидание конкретного элемента (если указан wait_for)networkidle - ожидание пока сеть успокоитсяjavascript_delay - дополнительное время для JS выполнения{
"tool": "fetch_html",
"arguments": {
"url": "https://protected-site.com",
"stealth": true
}
}
Включает:
navigator.webdriver{
"method": "playwright_enhanced",
"wait_strategies_used": ["domcontentloaded", "selector:#content", "networkidle", "javascript_delay"],
"performance": {
"dom_content_loaded": 245.5,
"load_complete": 1250.8,
"total_time": 1456.3
},
"page_title": "Dynamic SPA Page",
"final_url": "https://spa-site.com/redirected"
}
Теперь fetch_html получает ПОЛНЫЙ контент современных веб-приложений! 🚀
📁 src/tools/definitions/
├── 🔍 fetch_tools.py # 4 инструмента: HTML fetching и basic extraction
├── 🔐 auth_tools.py # 2 инструмента: Form и browser authentication
├── 📊 session_tools.py # 5 инструментов: Session management и auth setup
├── 🧭 navigation_tools.py # 3 инструмента: Pagination и parallel processing
├── 🎬 media_tools.py # 2 инструмента: Screenshots и media download
└── 📋 data_tools.py # 3 инструмента: Structured data processing
// 1. Логинимся через browser_login
{
"tool": "browser_login",
"arguments": {
"url": "https://site.com/login",
"username": "user@email.com",
"password": "password"
}
}
// ✅ Результат: session сохраняется глобально
{
"success": true,
"progress_steps": [...],
"cookies_imported": 15,
"session_saved": "Tools can now use 15 cookies"
}
// 2. Теперь fetch_html АВТОМАТИЧЕСКИ использует куки!
{
"tool": "fetch_html",
"arguments": {
"url": "https://site.com/protected-page"
// 🔥 НЕ НУЖНО указывать куки - они уже есть!
}
}
// ✅ Результат: получаем защищенный контент
{
"html": "...protected content...",
"authenticated_session_used": true,
"cookies_from_login": 15
}
// 3. Очищаем сессию когда нужно
{
"tool": "clear_session",
"arguments": {
"clear_cache": true
}
}
// ✅ Результат: полная очистка
{
"status": "completed",
"cleared_items": [
"Authenticated session for https://site.com/login",
"Session cookies (15 items)",
"Memory cache (5 items)"
]
}
{
"tool": "browser_login",
"arguments": {
"url": "https://stepik.org/login",
"username": "your@email.com",
"password": "yourpassword",
"headless": true
}
}
Результат:
{
"success": true,
"automatic_login": true,
"form_filled": true,
"button_clicked": true,
"progress_steps": [
{"step": "Initializing browser", "status": "completed"},
{"step": "Page loaded", "status": "completed"},
{"step": "Form fields detected", "status": "completed"},
{"step": "Username filled", "status": "completed"},
{"step": "Password filled", "status": "completed"},
{"step": "Login button clicked", "status": "completed"},
{"step": "Login completed successfully", "status": "completed"}
]
}
// БЫЛО: Быстрая загрузка
await page.wait_for_load_state('domcontentloaded')
// СТАЛО: Полное ожидание формы
await page.wait_for_load_state('domcontentloaded')
await asyncio.sleep(3) // Ожидание JS рендеринга
await page.wait_for_load_state('networkidle', timeout=15000)
// БЫЛО: 8 базовых селекторов
username_candidates = [
"input[type='email']",
"input[name*='user']",
"input[type='text']:first-of-type"
]
// СТАЛО: 20+ продвинутых селекторов
username_candidates = [
"input[type='email']",
"input[name*='email' i]",
"input[name*='user' i]",
"input[name*='login' i]",
"input[placeholder*='email' i]",
"input[autocomplete='email']",
"[data-testid*='username']",
"[data-test*='email']",
"input:not([type='password']):not([type='hidden'])",
// ... и еще 10+ вариантов
]
// БЫЛО: Быстрое заполнение
await element.fill(username)
// СТАЛО: Реалистичное взаимодействие
await page.wait_for_selector(selector, state="visible", timeout=10000)
await element.click() // Фокус поля
await asyncio.sleep(0.5) // Пауза перед вводом
await element.fill("") // Очистка поля
await element.type(username, delay=50) // Медленный ввод
input[type="email"] + input[type="password"]data-testid, data-test атрибуты{
"tool": "browser_login",
"arguments": {
"url": "https://site.com/login",
"username": "your@email.com",
"password": "yourpassword",
"headless": false,
"verbose": true
}
}
**Результат:**
```json
{
"success": true,
"automatic_login": true,
"form_filled": true,
"button_clicked": true,
"progress_steps": [
{"step": "Initializing browser", "status": "completed"},
{"step": "Waiting for form elements to load", "status": "completed"},
{"step": "Auto-detecting username field", "status": "completed", "details": "input[name='email']"},
{"step": "Username filled", "status": "completed"},
{"step": "Password filled", "status": "completed"},
{"step": "Login button clicked", "status": "completed"},
{"step": "Login completed successfully", "status": "completed"}
]
}
Теперь browser_login работает стабильно на большинстве сайтов! 🎉
Обновлено v3.6.1 - browser_login теперь работает правильно!
npm install -g web-parser-mcp
git clone <repository-url>
cd web-parser-mcp
# Если у вас установлен uv (рекомендуется)
uv sync
# Или использовать pip
pip install -r requirements.txt
npx web-parser-mcp
# С uv
uv run main.py
# Или с обычным Python
python main.py
Добавьте в конфигурацию вашего MCP клиента:
{
"mcpServers": {
"web-parser": {
"command": "npx",
"args": ["web-parser-mcp"]
}
}
}
Или для локального использования:
{
"mcpServers": {
"web-parser": {
"command": "uv",
"args": ["run", "/path/to/web-parser-mcp/main.py"]
}
}
}
Получает HTML контент с автоматическим выбором метода парсинга.
Параметры:
url (обязательный): URL веб-страницыtimeout (опционально): Таймаут запроса в секундах (по умолчанию: 10)headers (опционально): Пользовательские заголовки HTTPuse_browser (опционально): Принудительно использовать Playwright (по умолчанию: false)wait_for (опционально): CSS селектор для ожидания загрузкиimport_cookies_from (опционально): Импорт cookies из браузера ('chrome', 'firefox', 'edge', 'safari')anti_detection (опционально): Включить антидетекцию (по умолчанию: false)debug (опционально): Подробные логи (по умолчанию: false)stealth (опционально): Stealth режим (по умолчанию: false)Примеры использования:
Простой сайт (автоматически использует requests):
{
"tool": "fetch_html",
"arguments": {
"url": "https://example.com"
}
}
JavaScript SPA (автоматически определяет и использует Playwright):
{
"tool": "fetch_html",
"arguments": {
"url": "https://react-app.com/dashboard",
"wait_for": "#content",
"debug": true
}
}
Сложный сайт с anti-detection:
{
"tool": "fetch_html",
"arguments": {
"url": "https://protected-site.com",
"use_browser": true,
"stealth": true,
"anti_detection": true,
"import_cookies_from": "chrome"
}
}
Извлекает чистый текст из HTML контента.
Параметры:
html (обязательный): HTML контент для обработкиpreserve_formatting (опционально): Сохранять форматирование (по умолчанию: false)Пример использования:
{
"tool": "extract_text",
"arguments": {
"html": "<div><p>Hello <strong>World</strong></p></div>",
"preserve_formatting": true
}
}
Находит HTML элементы по CSS селекторам.
Параметры:
html (обязательный): HTML контент для поискаselector (обязательный): CSS селектор (например: "div.class", "#id", "a[href]")attribute (опционально): Конкретный атрибут для извлеченияlimit (опционально): Максимальное количество элементов (по умолчанию: 10)Пример использования:
{
"tool": "find_elements",
"arguments": {
"html": "<div><a href='http://example.com'>Link</a></div>",
"selector": "a[href]",
"attribute": "href",
"limit": 5
}
}
Извлекает и фильтрует ссылки с расширенными возможностями. Идеален для получения списка страниц для дальнейшего обхода.
Параметры:
url (опционально): URL веб-страницы для извлечения ссылокhtml (опционально): HTML контент для извлечения ссылокbase_url (опционально): Базовый URL для разрешения относительных ссылокinternal_only (опционально): Только внутренние ссылки (тот же домен)external_only (опционально): Только внешние ссылки (другие домены)url_pattern (опционально): Regex паттерн для фильтрации URLtext_pattern (опционально): Regex паттерн для фильтрации текста ссылокexclude_fragments (опционально): Исключить фрагменты (#section) (по умолчанию: true)unique_only (опционально): Только уникальные URL (по умолчанию: true)limit (опционально): Максимальное количество ссылок (по умолчанию: 100)Примеры использования:
Получить все внутренние ссылки с сайта:
{
"tool": "extract_links",
"arguments": {
"url": "https://example.com",
"internal_only": true,
"limit": 50
}
}
Найти ссылки на статьи (по паттерну URL):
{
"tool": "extract_links",
"arguments": {
"url": "https://blog.example.com",
"url_pattern": "/article/",
"internal_only": true
}
}
Получить пагинацию (ссылки "Далее", "Next"):
{
"tool": "extract_links",
"arguments": {
"url": "https://example.com/posts",
"text_pattern": "(Next|Далее|>)",
"internal_only": true
}
}
Выполняет авторизацию через веб-формы и сохраняет сессию для последующих запросов.
Параметры:
login_url (обязательный): URL страницы с формой логинаusername (обязательный): Имя пользователя или emailpassword (обязательный): Парольusername_field (опционально): Имя поля для username (автоопределение)password_field (опционально): Имя поля для password (автоопределение)additional_fields (опционально): Дополнительные поля формы (CSRF токены и т.д.)submit_url (опционально): URL для отправки формы (автоопределение)Пример использования:
{
"tool": "login_form",
"arguments": {
"login_url": "https://example.com/login",
"username": "myuser@example.com",
"password": "mypassword",
"additional_fields": {
"_token": "csrf_token_value"
}
}
}
Устанавливает HTTP Basic Authentication для всех последующих запросов.
Параметры:
username (обязательный): Имя пользователяpassword (обязательный): ПарольПример использования:
{
"tool": "set_basic_auth",
"arguments": {
"username": "api_user",
"password": "api_password"
}
}
Импортирует cookies из браузера для аутентификации без повторного логина.
Параметры:
browser (обязательный): Браузер для импорта ('chrome', 'firefox', 'edge', 'safari')domain (опционально): Домен для импорта cookies (по умолчанию: все)Примеры использования:
Импорт всех cookies из Chrome:
{
"tool": "import_browser_cookies",
"arguments": {
"browser": "chrome"
}
}
Импорт cookies для конкретного сайта:
{
"tool": "import_browser_cookies",
"arguments": {
"browser": "chrome",
"domain": "example.com"
}
}
Получает информацию о текущей сессии, включая cookies и статус аутентификации.
Пример использования:
{
"tool": "get_session_info",
"arguments": {}
}
Очищает все данные сессии, включая cookies и аутентификацию.
Пример использования:
{
"tool": "clear_session",
"arguments": {}
}
Комплексный парсинг веб-страницы с извлечением структурированных данных.
Параметры:
url (обязательный): URL веб-страницыextract_title (опционально): Извлечь заголовок страницы (по умолчанию: true)extract_meta (опционально): Извлечь мета-теги (по умолчанию: true)extract_links (опционально): Извлечь все ссылки (по умолчанию: false)extract_images (опционально): Извлечь все изображения (по умолчанию: false)custom_selectors (опционально): Пользовательские CSS селекторыПример использования:
{
"tool": "parse_page",
"arguments": {
"url": "https://news.ycombinator.com",
"extract_links": true,
"extract_images": true,
"custom_selectors": {
"headlines": ".titleline > a",
"scores": ".score"
}
}
}
{
"tool": "login_form",
"arguments": {
"login_url": "https://site.com/login",
"username": "user@example.com",
"password": "password123"
}
}
{
"tool": "get_session_info",
"arguments": {}
}
{
"tool": "fetch_html",
"arguments": {
"url": "https://site.com/private-area"
}
}
{
"tool": "clear_session",
"arguments": {}
}
{
"tool": "set_basic_auth",
"arguments": {
"username": "api_user",
"password": "api_key"
}
}
После этого все запросы будут использовать Basic Authentication.
{
"tool": "fetch_html",
"arguments": {
"url": "https://admin.modern-spa.com",
"wait_for": "#dashboard-content",
"debug": true
}
}
{
"tool": "extract_links",
"arguments": {
"url": "https://admin.modern-spa.com",
"use_browser": true,
"internal_only": true
}
}
{
"tool": "import_browser_cookies",
"arguments": {
"browser": "chrome",
"domain": "secure-site.com"
}
}
{
"tool": "fetch_html",
"arguments": {
"url": "https://secure-site.com/private-data"
}
}
{
"tool": "fetch_html",
"arguments": {
"url": "https://protected-site.com/data",
"use_browser": true,
"stealth": true,
"anti_detection": true,
"wait_for": ".content-loaded",
"debug": true
}
}
{
"tool": "fetch_html",
"arguments": {
"url": "https://example.com",
"use_browser": false
}
}
{
"tool": "parse_page",
"arguments": {
"url": "https://example.com/dynamic",
"use_browser": true,
"extract_links": true,
"wait_for": "#content"
}
}
Система автоматически определяет тип сайта и выбирает оптимальный метод:
Playwright автоматически используется для:
wait_for или stealthRequests используется для:
{
"tool": "set_oauth_token",
"arguments": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"provider": "google"
}
}
{
"tool": "browser_login",
"arguments": {
"url": "https://complex-auth-site.com/login",
"headless": false,
"wait_for_user": true,
"timeout": 300,
"success_indicator": "#dashboard"
}
}
{
"tool": "auto_paginate",
"arguments": {
"url": "https://news-site.com/articles",
"max_pages": 10,
"wait_between": 2,
"extract_data": {
"titles": "h2.article-title",
"links": "a.read-more",
"dates": ".article-date"
}
}
}
{
"tool": "parallel_fetch",
"arguments": {
"urls": [
"https://site1.com/page1",
"https://site2.com/page2",
"https://site3.com/page3"
],
"max_workers": 5,
"extract_data": {
"titles": "h1",
"prices": ".price"
}
}
}
{
"tool": "debug_screenshot",
"arguments": {
"url": "https://complex-page.com",
"path": "debug_complex_page.png",
"full_page": true,
"wait_for": "#content-loaded"
}
}
{
"tool": "import_browser_cookies",
"arguments": {
"browser": "chrome",
"domain": "secured-site.com"
}
}
{
"tool": "parallel_fetch",
"arguments": {
"urls": ["https://secured-site.com/page1", "https://secured-site.com/page2"],
"use_browser": true,
"max_workers": 3
}
}
{
"tool": "auto_paginate",
"arguments": {
"url": "https://secured-site.com/data",
"max_pages": 5,
"extract_data": {
"records": ".data-record",
"values": ".field-value"
}
}
}
{
"tool": "infinite_scroll",
"arguments": {
"url": "https://social-feed.com",
"trigger_selector": ".load-more-btn",
"max_scrolls": 20,
"scroll_pause_time": 3,
"extract_data": {
"posts": ".post-content",
"authors": ".post-author",
"likes": ".like-count"
},
"stop_condition": ".end-of-feed"
}
}
{
"tool": "extract_structured_data",
"arguments": {
"url": "https://shop.com/product/123",
"schema": "product",
"output_format": "json"
}
}
Пользовательская схема для курсов:
{
"tool": "extract_structured_data",
"arguments": {
"url": "https://learning-platform.com/course/python",
"schema": "custom",
"custom_schema": {
"title": ["h1.course-title", ".main-title"],
"instructor": [".teacher-name", ".instructor"],
"price": [".price", ".cost"],
"duration": [".length", ".duration"],
"students": [".enrollment-count", ".students"]
},
"output_format": "table"
}
}
// Сначала проверяем кэш
{
"tool": "cache_results",
"arguments": {
"action": "get",
"key": "product_data_123"
}
}
// Если нет в кэше - загружаем и кэшируем
{
"tool": "cache_results",
"arguments": {
"action": "set",
"key": "product_data_123",
"value": "fetched_product_data",
"duration": "1h"
}
}
// Статистика кэша
{
"tool": "cache_results",
"arguments": {
"action": "stats"
}
}
{
"tool": "download_media",
"arguments": {
"url": "https://gallery.com/photos",
"types": ["images", "videos"],
"download_path": "./media_files/",
"max_files": 100,
"min_size": 10,
"max_size": 50
}
}
Скачивание документов:
{
"tool": "download_media",
"arguments": {
"url": "https://research-site.com/papers",
"types": ["pdfs", "documents"],
"download_path": "./research_papers/",
"max_files": 20,
"min_size": 100,
"max_size": 10
}
}
{
"tool": "import_browser_cookies",
"arguments": {
"browser": "chrome",
"domain": "enterprise-platform.com"
}
}
{
"tool": "infinite_scroll",
"arguments": {
"url": "https://enterprise-platform.com/data-feed",
"max_scrolls": 50,
"extract_data": {
"records": ".data-record",
"timestamps": ".record-time",
"values": ".metric-value"
}
}
}
{
"tool": "extract_structured_data",
"arguments": {
"url": "https://enterprise-platform.com/analytics",
"schema": "custom",
"custom_schema": {
"metrics": [".metric", ".kpi"],
"trends": [".trend-data", ".chart-data"],
"alerts": [".alert", ".warning"]
}
}
}
{
"tool": "parallel_fetch",
"arguments": {
"urls": ["https://enterprise-platform.com/dept1", "https://enterprise-platform.com/dept2"],
"max_workers": 5,
"extract_data": {
"department_data": ".dept-metrics",
"staff_count": ".staff-counter"
}
}
}
{
"tool": "download_media",
"arguments": {
"url": "https://enterprise-platform.com/reports",
"types": ["pdfs", "documents"],
"download_path": "./enterprise_reports/"
}
}
{
"tool": "debug_screenshot",
"arguments": {
"url": "https://enterprise-platform.com/dashboard",
"path": "./debug/enterprise_dashboard.png",
"full_page": true
}
}
{
"tool": "browser_login",
"arguments": {
"url": "https://stepik.org/login",
"headless": false,
"success_indicator": ".navbar-profile",
"verbose": true,
"auto_screenshot_on_error": true
}
}
Получите детальный анализ:
{
"success": false,
"diagnostics": {
"error_details": "CAPTCHA detected on page with selector: .g-recaptcha",
"protection_detected": "CAPTCHA",
"browser_logs": [
"[console] Loading reCAPTCHA...",
"[ERROR] Failed to verify reCAPTCHA"
],
"final_screenshot": "./debug/browser_login_1703123456.png",
"login_errors": ["Invalid credentials"],
"response_status": 200
},
"recommendations": [
"Manual CAPTCHA solving required. Use headless=false for user interaction.",
"Consider using anti-captcha services for automation."
]
}
{
"tool": "login_form",
"arguments": {
"login_url": "https://stepik.org/login",
"username": "test@example.com",
"password": "password123",
"verbose": true
}
}
Получите полный анализ:
{
"status_code": 403,
"likely_success": false,
"success_score": "2/12",
"failure_score": "4/7",
"response_time_seconds": 1.2,
"diagnostics": {
"error_details": "403 Forbidden - Bot detection active",
"protection_detected": "Bot Detection",
"response_protection": "Bot Detection",
"login_errors": ["Too many login attempts"],
"redirect_chain": [
{"url": "https://stepik.org/login", "status": 200, "final_url": "https://stepik.org/login"},
{"url": "https://stepik.org/api/auth", "status": 403, "final_url": "https://stepik.org/blocked"}
],
"form_analysis": {
"action": "/api/auth",
"method": "POST",
"inputs": [
{"name": "email", "type": "email", "required": true},
{"name": "password", "type": "password", "required": true},
{"name": "csrfmiddlewaretoken", "type": "hidden", "value": "***"}
]
}
},
"recommendations": [
"403 Forbidden suggests bot protection. Try browser_login with manual interaction.",
"Import real browser cookies before login attempt."
]
}
{
"tool": "import_browser_cookies",
"arguments": {
"browser": "chrome",
"domain": "stepik.org",
"verbose": true
}
}
Получите детальную диагностику:
{
"cookies_imported": 0,
"diagnostics": {
"browser_found": true,
"cookie_file_path": "C:\\Users\\user\\AppData\\Local\\Google\\Chrome\\User Data",
"total_cookies_in_file": 150,
"domain_matches": 0,
"access_error": "Permission denied - browser data directory not accessible",
"cookie_breakdown": {
"total_found": 150,
"domain_filtered": 0,
"successfully_imported": 0,
"import_failures": 0
},
"system_info": {
"platform": "Windows",
"architecture": "64bit"
}
},
"recommendations": [
"No cookies found for domain 'stepik.org' in chrome.",
"Visit stepik.org in chrome browser first to create cookies.",
"Check domain spelling or try without domain filter."
]
}
{
"tool": "parse_page",
"arguments": {
"url": "https://stepik.org/login",
"custom_selectors": {
"csrf_token": {
"selector": "input[name='csrfmiddlewaretoken']",
"extract": "attribute",
"attribute": "value",
"fallbacks": [
"meta[name='csrf-token']",
"input[name*='csrf']"
]
},
"login_field": {
"selector": "input[name='email']",
"extract": "attribute",
"attribute": "name"
}
},
"smart_extraction": true,
"verbose": true
}
}
Получите точное извлечение:
{
"custom": {
"csrf_token": {
"values": ["xyz123token456"],
"count": 1,
"selector_used": "input[name='csrfmiddlewaretoken']",
"selectors_tried": 3,
"success": true,
"diagnostics": {
"primary_selectors": ["input[name='csrfmiddlewaretoken']"],
"fallback_selectors": ["meta[name='csrf-token']", "input[name*='csrf']"],
"extract_type": "attribute",
"attribute_name": "value"
}
},
"login_field": {
"values": ["email"],
"count": 1,
"selector_used": "input[name='email']",
"success": true
}
},
"extraction_stats": {
"successful_extractions": 2,
"failed_extractions": 0,
"total_values_extracted": 2
}
}
{"tool": "parse_page", "arguments": {"url": "https://site.com/login", "verbose": true}}
{"tool": "import_browser_cookies", "arguments": {"browser": "chrome", "verbose": true}}
{"tool": "browser_login", "arguments": {"url": "https://site.com/login", "verbose": true, "auto_screenshot_on_error": true}}
{"tool": "login_form", "arguments": {"login_url": "https://site.com/login", "username": "user", "password": "pass", "verbose": true}}
При первом запуске автоматически установятся:
uv syncuv run main.pyMIT License
FAQs
🚀 MCP SERVER FIXED v3.7.9! Resolved import errors, middleware conflicts, type hints - NOW WORKING PERFECTLY!
The npm package web-parser-mcp receives a total of 15 weekly downloads. As such, web-parser-mcp popularity was classified as not popular.
We found that web-parser-mcp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket is now scanning AI agent skills across multiple languages and ecosystems, detecting malicious behavior before developers install, starting with skills.sh's 60,000+ skills.

Product
Socket now supports PHP with full Composer and Packagist integration, enabling developers to search packages, generate SBOMs, and protect their PHP dependencies from supply chain threats.

Security News
An AI agent is merging PRs into major OSS projects and cold-emailing maintainers to drum up more work.