>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
TypeScript

Jak połączyć tysiące gotowych parserów z Twoim LLM

Apify MCP Server

Pracując z modelami językowymi w rzeczywistych projektach, dość szybko napotykasz ten sam problem. Model świetnie radzi sobie z rozumowaniem i pisaniem kodu, ale jest ślepy. Potrzebuje świeżych danych z zewnętrznego świata: aktualnych postów z sieci społecznościowych, danych kontaktowych firm z map, kart produktów z marketplace'ów czy świeżych wyników wyszukiwania.

Zazwyczaj w tym momencie programista zaczyna pisać własne narzędzia do Function Calling, budować wrappery wokół Playwrighta lub składać pipeline'y przez Cheerio. Po kilku tygodniach utrzymywania takich skryptów zauważasz, że połowa czasu idzie na walkę z captchami, układami stron i nieaktualnymi selektorami.

Zespół Apify rozwiązał ten problem poprzez Model Context Protocol, wydając projekt apify-mcp-server. W zasadzie zamienili cały swój katalog gotowych scraperów chmurowych w ujednolicony interfejs wywoływania narzędzi dla agentów AI.

Co to jest i dlaczego tego potrzebujesz

Repozytorium zawiera implementację serwera MCP, który łączy lokalnych lub chmurowych klientów (Claude Desktop, Cursor, VS Code, ChatGPT) z platformą Apify. Platforma uruchamia tysiące gotowych skryptów zwanych Actorami. Każdy taki Actor może pobierać ustrukturyzowane dane z konkretnych stron: Google Maps, Facebook, Instagram, sklepów internetowych lub po prostu crawlować strony na potrzeby RAG.

MCP Clients

Zamiast ręcznie opisywać schematy dla dziesiątek API dla Twojego modelu, łączysz jeden punkt końcowy. Asystent sam wyszukuje odpowiedni scraper w katalogu, czyta jego schemat JSON, waliduje parametry wejściowe i uruchamia zbieranie danych.

Jak działa wywoływanie narzędzi

Główną cechą serwera jest dynamiczne wykrywanie narzędzi. Nie musisz na twardo kodować konfiguracji każdego wymaganego parsera z wyprzedzeniem.

Domyślnie serwer udostępnia agentowi podstawowy zestaw akcji:

  1. search-actors znajduje odpowiedni scraper w katalogu na podstawie zapytania tekstowego.
  2. fetch-actor-details pobiera schemat parametrów wejściowych i dokumentację znalezionego skryptu.
  3. call-actor uruchamia wykonanie zadania na infrastrukturze Apify.
  4. get-dataset-items pobiera gotowe ustrukturyzowane wyniki partiami z obsługą paginacji.
  5. apify--rag-web-browser jest wbudowany jako szybkie narzędzie do wyszukiwania w internecie i parsowania treści na potrzeby RAG.

Jeśli zapytasz Claude'a: "Znajdź top 10 kawiarni w Pradze na Google Maps z numerami telefonów", agent nie powie, że nie ma dostępu. Wywołuje search-actors, znajduje Google Maps Scraper, przekazuje mu współrzędne i miasto, czeka na wynik i odczytuje zbiór danych.

{
  "query": "coffee shops in Prague",
  "maxResults": 10
}

Model sam generuje ten JSON, sprawdzając go względem schematu parametrów wybranego scrapera.

Opcje połączenia: chmura kontra uruchomienie lokalne

Serwer można połączyć z klientem na dwa sposoby. Wybór zależy od tego, gdzie działa Twój agent.

1. Opcja hostowana przez Streamable HTTP

Najprostsza ścieżka dla Claude.ai lub VS Code. Zespół Apify samodzielnie hostuje serwer pod adresem mcp.apify.com. Obsługiwana jest autoryzacja OAuth, więc w niektórych klientach nie musisz nawet ręcznie kopiować tokenów API.

Jeśli potrzebujesz tylko konkretnego narzędzia bez dodatkowego obciążania kontekstu modelu, możesz przekazać parametry bezpośrednio w URL:

https://mcp.apify.com?tools=apify/rag-web-browser

W tym trybie serwer udostępni agentowi tylko jedno narzędzie wyszukiwania, nie zaśmiecając kontekstu metadanymi innych parserów.

2. Uruchomienie lokalne przez stdio

Jeśli konfigurujesz Claude Desktop lub lokalnego agenta w terminalu, uruchom serwer przez npx:

export APIFY_TOKEN="ваш_токен_apify"
npx @apify/actors-mcp-server --tools actors,docs,apify/rag-web-browser

Proces lokalny odczytuje zmienne środowiskowe, pobiera schematy i komunikuje się z klientem przez standardowe strumienie wejścia/wyjścia.

Płatność bez tworzenia konta

Interesującym szczegółem architektonicznym jest ekonomia agentów. Co robisz, gdy agent AI działa autonomicznie i nie ma zarejestrowanego profilu Apify z powiązaną kartą?

Twórcy wbudowali obsługę automatycznych protokołów płatności:

  • AGI: agent kupuje prepaid token z limitem poprzez mikropłatności przez x402 lub MPP i używa go jako standardowego tokena Bearer.
  • Direct x402: płatność w USDC w sieci Base za każde konkretne uruchomienie przez narzędzie mcpc. Niewykorzystane saldo jest automatycznie zwracane do portfela agenta po 60 minutach nieaktywności.
  • Skyfire: agent generuje tokeny płatności przez infrastrukturę Skyfire i przekazuje je w parametrach wywołania narzędzia.

To eliminuje problem rozliczeń, gdy agenci działają w całkowicie izolowanych środowiskach.

Niuansy techniczne i ograniczenia

W kodzie źródłowym znajduje się kilka praktycznych rozwiązań wartych rozważenia podczas integracji:

  • Schematy parametrów wejściowych są przycinane. Długie opisy pól są skracane do 500 znaków, a listy wartości enum są ograniczone do 20 000 znaków. To celowe, aby ciężkie schematy złożonych parserów nie zjadały okna kontekstu modelu.
  • Wywołanie call-actor nie zwraca całej tablicy sparsowanych danych od razu w pierwszej odpowiedzi. Zwraca ID zbioru danych i metadane uruchomienia. Aby pobrać wiersze, agent wykonuje kolejny krok przez get-dataset-items. To chroni kontekst przed przepełnieniem gigabajtami tekstu.
  • Wysyłanie telemetrii i Sentry są domyślnie włączone w trybie stdio. Możesz je wyłączyć flagą --telemetry-enabled=false lub zmienną środowiskową TELEMETRY_ENABLED=false.

Kto skorzysta z tego projektu w praktyce

Jeśli budujesz autonomiczne agenty do badań, analizy konkurencji, generowania leadów czy monitorowania cen, projekt zaoszczędzi tygodnie pracy nad infrastrukturą scrapingu. Zamiast pisać własne crawlery, zyskujesz gotowy dostęp do sprawdzonych parserów przez standaryzowany protokół.

Najłatwiejszy sposób na start to połączenie hostowanego punktu końcowego https://mcp.apify.com z Claude Desktop lub Cursor i przetestowanie podstawowego narzędzia apify/rag-web-browser. Dla wąskich zadań produkcyjnych lepiej od razu na twardo zakodować listę narzędzi przez parametr tools, aby agent nie wydawał tokenów na niepotrzebne przeszukiwanie katalogu.

Powiązane projekty