★84 зірок на GitHub, і їхня кількість продовжує зростати. Yozh Crawler + Scraper — це безкоштовний проект з відкритим кодом, який розробляється відкрито. Поставте нам зірку, якщо він заслуговує на місце у вашому стеку.
Інструменти, якими ваш агент може реально скористатися
Yozh Scraper нативним чином підтримує MCP. Підключіть одну HTTP-точку доступу до Claude Desktop, Cursor або вашого власного циклу агента — і ваша модель отримає справжні веб-інструменти: скрейпінг, сканування, сесії, пресети. Без допоміжного коду, без спеціальних обгортків.
Claude DesktopCursorClineContinueZedn8nLangChainAnthropic SDKClaude DesktopCursorClineContinueZedn8nLangChainAnthropic SDK
Чому не спрацьовує спеціальний код-зв'язка для інструментів
Агентам потрібні справжні веб-інструменти, а не спеціальні обгорнуті модулі на Python
Кожна команда створює однаковий зв'язувальний код: інструмент на Python для кожного джерела збору даних, напівзламане сховище сесій та саморобний оркестратор, який втрачає контекст після одного виклику. Через три тижні агент працює один раз, двічі виходить з ладу, і ніхто не пам’ятає, термін дії якого проксі закінчився. Ми надаємо чотири компоненти, необхідні для кожного циклу роботи агента, у готовому вигляді — через MCP, з одним HTTP-ендпоінтом.
Якщо у вашого агента коли-небудь закінчився час очікування на третьому етапі багатоетапного сканування — ця стаття саме для вас.
Індивідуальний інструмент на Python для кожного джерела
Проблема. Кожна нова функція агента — це ще один @tool декоратор: один для Amazon, один для eBay, один для вікі компанії. Зміни схеми, розбіжності у версіях та реєстр інструментів, за який ніхто не відповідає. Впровадження нової моделі означає повторну реалізацію обгорткових функцій з нуля.
Як Yozh Scraper вирішує цю проблему. Одна кінцева точка HTTP MCP localhost:8000/mcp автоматично відкриває доступ до всіх можливостей — scrape_page, scrape_batch, crawl, sessions, presets. Додайте один рядок до конфігурації Claude / Cursor / Cline, і модель виявить інструменти під час виконання. Одна й та сама кінцева точка для кожного клієнта.
Один MCP-ендпоінт
Автовиявлення
Без зв'язувального коду
Виклики інструментів без збереження стану втрачають контекст входу
Проблема. Виклики інструменту не зберігають стан — кожен виклик запускає новий браузер, видаляє файли cookie та не проходить другий етап двофакторної аутентифікації. Агенти, що застрягли в циклі повторного входу, швидко витрачають токени та припиняють спроби після третьої спроби. Ручне зберігання файлів cookie є ненадійним і призводить до їх витоку між запусками.
Як Yozh Scraper вирішує цю проблему. API сесій із «прилипаючим» session_id агентом, що зберігається між викликами. Декларативний DSL для входу (goto / fill / click / wait) або вставте експортовані файли cookie один раз — стан зберігання зберігається протягом 24 годин. Кожен наступний виклик інструменту повторно використовує сесію, повторна авторизація не потрібна.
Закріплений session_id
Декларативний вхід
TTL 24 год
Ручна авторизація та налаштування проксі в коді агента
Проблема. Кожен агент зрештою змушений займатися API-ключами, ротацією проксі-серверів, кодами країн, повторними спробами — тобто налаштуваннями, які не мають жодного стосунку до його основних обов’язків. Конфіденційні дані просочуються в підказки, агент приймає «креативні» рішення щодо повторних спроб, а ліміти на проксі-сервери вичерпуються вже за тиждень.
Як Yozh Scraper вирішує цю проблему.CYBERYOZH_API_KEY у .env — код агента ніколи не бачить облікові дані. Виберіть proxy: {country: "us", type: "mobile"} у виклику інструменту, Yozh обробляє ротацію, відбитки та повторні спроби на стороні сервера. Агент зосереджується на міркуванні.
Автентифікація на сервері
Декларативний проксі
Без секретів у промптах
Багатоетапні обходи в циклі агента
Проблема. «Знайти всі сторінки товарів на цьому сайті та витягти ціни» — це один користувацький запит, але в коді агента це 200 викликів інструментів, черга, рівень дублювання та постійний контроль за тайм-аутом. Модель марнує вікно контексту на облік URL-адрес, з якими їй ніколи не слід мати справу.
Як це вирішує Yozh Scraper. Yozh Crawler обходить сайт на стороні сервера, передає виявлені URL-адреси через SSE і при кожному збігу передає їх у скрейпер. Агент запускається crawl_and_scrape один раз, отримуючи єдиний потік структурованих результатів. Сервер зберігає чергу, а модель — свій контекст.
Стрімінг через SSE
Черга на сервері
Один виклик інструмента
Як це працює
Від docker compose up до інструментів для дзвінків агентів — у 3 кроки
Один кінцевий пункт MCP, один рядок конфігурації у вашому клієнті, жодного допоміжного коду. Цей самий алгоритм працює для Claude Desktop, Cursor, Cline або вашого власного циклу агента.
1Запустити кінцеву точку MCP
Склонуйте репозиторій і docker compose up. Сервер MCP працює за адресою localhost:8000/mcp — скрейпер, краулер, сесії та пресети автоматично доступні як інструменти.
# one-time setup
git clone
github.com/CyberYozh-data/yozh-scraper
cd yozh-scraper
docker compose up -d
2Підключіть його до вашого клієнта
Один рядок у claude_desktop_config.json (або еквівалент Cursor / Cline). Перезапустіть клієнт — інструменти виявляються автоматично, обгортки для окремих джерел не потрібні.
Модель вибирає інструмент, вводить параметри та отримує у відповідь структурований JSON. Сесії зберігаються між викликами. Багатоетапні сканування передаються потоком через SSE.
Що ви отримаєте натомість — одна форма, всі торгові майданчики
Виберіть пресет, щоб побачити, як виглядає відповідь. Набір полів залежить від джерела, але структура запиту залишається однаковою.
Рецепти
Як агенти налаштовують систему — по 10 рядків кожен
Три готові до використання конфігурації агентів. Від однорядкових команд у Claude Desktop до повного циклу LangChain — за всіма ними стоїть одна й та сама кінцева точка MCP.
1Claude — агент для проведення дослідження на основі даних з відкритих джерел
Один раз підключіть Yozh до Claude Desktop. Попросіть модель дослідити якусь тему — вона самостійно scrape_page / crawl самостійно і синтезує відповідь.
# claude_desktop_config.json (~/Library/...)
{
"mcpServers": {
"yozh": {
"type": "http",
"url": "http://localhost:8000/mcp"
}
}
}
# restart Claude · prompt:# "compare ssd prices on amazon vs walmart"# → claude calls scrape_page on each PDP
Транспорт HTTPавтовиявлення інструментівбез зв'язувального коду
2Cursor Copilot із веб-інструментами
Додайте той самий сервер MCP до Cursor — тепер ваш агент IDE зможе отримувати актуальну документацію, перевіряти ціни конкурентів або збирати відповідь зі Stack Overflow прямо під час введення запиту.
# .cursor/mcp.json (project root)
{
"mcpServers": {
"yozh": {
"type": "http",
"url": "http://localhost:8000/mcp"
}
}
}
# prompt in Cmd+L composer:# "fetch the latest pricing from acme.com/plans# and update PricingTable.tsx"
конфіг на проєкттой самий MCP-ендпоінтвиклики інструментів у чаті
3Цикл LangChain / Anthropic SDK
Агент Plain Python — Anthropic SDK із mcp_servers списком. Один URL-адресу HTTP — і модель отримує всі інструменти Yozh. Працює так само з адаптером MCP від LangChain.
Стрімінг через SSEбагатоінструментний автопілотваш оркестратор
FAQ
Поширені запитання щодо MCP та інтеграції агентів
Які клієнти MCP підтримуються?
Будь-що, що підтримує транспортний протокол HTTP у рамках Model Context Protocol: Claude Desktop, Cursor, Cline, Continue, Zed, вузол n8n MCP, адаптер LangChain MCP, а також параметр mcp_servers param. Кінцева точка за адресою localhost:8000/mcp — це один URL-адресу; ви можете націлити на неї будь-який із них. Не потрібно підтримувати окремі обгортки для кожного клієнта чи прокладки stdio.
Як інструменти реєструються в агенті?
Автоматичне виявлення через MCP. Коли клієнт підключається до /mcp, сервер виводить список усіх доступних інструментів разом із їхніми схемами у форматі JSON: scrape_page, scrape_batch, crawl, create_session, list_presets, generate_preset. Модель розпізнає їх як вбудовані інструменти під час виконання — без декораторів та ручного налаштування схеми. Нові можливості у вихідному коді yozh-scraper з’являються автоматично після наступного оновлення.
Чи може мій агент здійснювати багатоетапне сканування в режимі потокової передачі?
Так — Yozh Crawler сканує сайт на стороні сервера та передає виявлені URL-адреси через SSE. Агент запускається crawl один раз, отримуючи єдиний потік подій зі структурованими результатами по мірі їх надходження. Кожне сканування підтримує налаштування області дії (в межах одного домену / одного хосту / списку дозволених), RPS для кожного домену та опціональне ланцюгове підключення до скрепера, завдяки чому кожна знайдена URL-адреса аналізується ще до потрапляння в потік. Скасування за допомогою DELETE /scrape/{id} — м’яка зупинка дозволяє завершити обробку сторінок, що вже обробляються; примусова зупинка здійснюється другим викликом.
Як сесії зберігаються між викликами інструментів?
API сесій. Створіть сесію один раз за допомогою декларативного DSL для входу (goto / fill / click / wait) або шляхом вставлення експортованих файлів cookie. Yozh зберігає файли cookie на стороні сервера Playwright storageState на стороні сервера та надає вам фіксований session_id. Кожен наступний виклик інструменту, що передає цей ідентифікатор, повторно використовує той самий стан браузера — включаючи портали, захищені двофакторною автентифікацією, LinkedIn та адміністративні панелі партнерів. Час життя (TTL) за замовчуванням становить 24 години, його можна оновити. Агент ніколи не має доступу до облікових даних; він лише пересилає ідентифікатор сесії, який отримав у відповідь.
Як розширити функціонал за допомогою власних інструментів?
Три варіанти. (1) Індивідуальна пресет — перетягніть файл JSON у src/presets/custom/ або викличте POST /api/v1/presets/generate з прикладом URL-адреси та дозвольте LLM визначити схему. Пресет відображається як параметр у існуючому scrape_page інструменті. (2) Власний інструмент MCP — зареєструйте власний обробник у src/mcp/tools/, і він потрапить до списку автоматично виявлених. (3) Форк — репозиторій має ліцензію MIT, сервер MCP розміщений в одному модулі Python (src/mcp/server.py) і його легко розширити.
Відкрите програмне забезпечення · Ліцензія MIT · 84 ★
Готові надати своєму агенту ефективні інструменти?
Один кінцевий пункт MCP — усі можливості Yozh автоматично доступні для Claude, Cursor, Cline та ваших власних циклів агентів. Безкоштовно. Назавжди. Поставте нам зірочку, якщо це вам допомогло — кожна зірочка має значення.
Yozh Crawler + Scraper розповсюджується за ліцензією MIT. Користуйтеся ним. Створюйте форки. Розробляйте на його основі.
Нас люблять data-команди та AI-розробники
Що кажуть люди, які створюють проекти за допомогою Yozh
5,0 / 5 · Огляд 5
GitHub
За одне післяобіддя ми замінили наш внутрішній кластер Playwright на Yozh. Кінцева точка MCP одразу ж інтегрувалася в наш агент Claude — жодного допоміжного коду, а сканер і скрепер просто запрацювали.
MRMarcus ReinhardtГоловний інженер з обробки данихNorthwind Analytics
X
Система пресетів — це головна фішка. Ми передаємо назву джерела й отримуємо у відповідь чистий JSON; функція автоматичного відновлення навіть встигла виявити дві зміни у макеті Amazon ще до того, як ми їх помітили.
PNPriya NairЗасновникScrapeStack
Reddit
Нарешті з’явився скрейпер з відкритим кодом, який розглядає проксі-сервери та сесії як повноцінні компоненти. Ми використовуємо його для доступу до партнерських порталів, що вимагають авторизації — сесії зберігаються, а результати залишаються однаковими в усіх регіонах.
DODaniel OseiІнженер бекендуLoopfeed
X
Підключив його до Cursor через MCP, і тепер мій агент отримує веб-дані в режимі реального часу під час виконання завдання. Потокове сканування через SSE — це саме те, чого бракувало робочим процесам агента.
EKElena KovacІнженер з штучного інтелектуVektor Labs
GitHub
Ми відмовилися від платного API для зчитування даних, щоб скоротити витрати, і готувалися до погіршення якості — але отримали зовсім протилежний результат. Сервіс розміщений на власному хостингу, оплата не стягується за кожен запит, а схема вихідних даних є чіткішою, ніж та, за яку ми раніше платили.