multi-scraper-mcp
MCP-Server als Apify-Actor – eine funktionierende Referenz
Dies ist die Quelle hinter renzomacar/multi-scraper-mcp, einem MCP-Server, der als Apify-Actor im Standby-Modus läuft und 16 Tools zur Lead-Generierung und zum Web-Scraping für KI-Clients wie Claude, Cursor und Windsurf bereitstellt.
Es ist als Referenz veröffentlicht, weil der interessante Teil nicht die Tool-Liste ist – sondern die drei Transportfehler, die echte Clients daran hinderten, sich zu verbinden, während jeder Lauf SUCCEEDED meldete.
Die drei Fehler, die dieser Code behebt
1. Eine veraltete Sitzungs-ID blockierte den Client dauerhaft
Sitzungen leben in einer In-Memory-Map, aber ein Standby-Lauf ist kein langlebiger Prozess – Apify recycelt ihn. Ein Client, der sich am Dienstag mit der Mcp-Session-Id von Montag wieder verbindet, trifft auf einen Prozess, der davon nie gehört hat.
Der Server antwortete früher mit 400. Die Spezifikation ist eindeutig, dass die Antwort 404 sein muss:
Der Server KANN die Sitzung jederzeit beenden, danach MUSS er auf Anfragen mit dieser Sitzungs-ID mit HTTP 404 Not Found antworten.
Wenn ein Client HTTP 404 [...] erhält, MUSS er eine neue Sitzung starten, indem er eine neue
InitializeRequestohne angehängte Sitzungs-ID sendet.
Der Wiederherstellungspfad des Clients ist an den Statuscode gekoppelt. 400 nimmt ihm die Fähigkeit, sich selbst zu heilen. Siehe sessionGone() in src/main.js.
2. Der Accept-Header lehnte Clients ab, bevor unser Code überhaupt lief
Die Spezifikation verlangt, dass Clients Accept: application/json, text/event-stream senden. Mehrere echte Clients senden nur eines oder gar nichts, und der Transport antwortet mit 406, bevor die Anfrage einen Handler erreicht – es gibt also nichts in den Logs und keinen fehlgeschlagenen Lauf in der Konsole.
normalizeAccept() akzeptiert sie trotzdem. Der Haken: Der Transport liest den Header aus req.rawHeaders, daher bewirkt das Patchen von req.headers allein nichts.
3. Ein langsames Tool ließ die Verbindung mitten in der Arbeit abbrechen
Diese Tools umschließen Scraper, die ein bis drei Minuten dauern. Ohne Bytes auf der Leitung verwirft das Standby-Gateway die Verbindung. Der Fix streamt alle 10 Sekunden eine notifications/message und löscht das Intervall in finally, damit eine frühe Fehlerrückgabe den Timer nicht leaken kann.
Related MCP server: ZapFetch MCP Server
Ehrliche Abrechnung
Actor.charge sitzt auf dem Pfad, der tatsächlich Daten zurückgab, nachdem die Elemente in der Hand sind – nicht am Anfang des Request-Handlers. Das Abrechnen bei Ankunft bedeutet, für Fehler zu berechnen.
Aufbau
Datei | Inhalt |
| Actor-Init, Express-App, Streamable HTTP + Legacy-SSE-Transports, die drei Fixes |
| Tool-Registry: Name, Beschreibung, Eingabeschema, Ziel-Actor |
| Actor-Definition, Eingabe- und Ausgabeschemata |
Ausführen
npm install
npm startRichten Sie dann einen MCP-Client auf http://localhost:4321/mcp. Auf der Apify-Plattform lautet die Standby-URL https://USERNAME--ACTOR-NAME.apify.actor/mcp – beachten Sie das Präfix USERNAME--; wenn Sie die URL ohne dieses veröffentlichen, schlägt jedes Kopieren und Einfügen fehl.
Ein Test, der sich lohnt
Sechs Anfragen, jede davon ein Fehler, der ausgeliefert wurde:
Handshake mit korrektem
Accept-Header → 200Handshake mit
Accept: application/json→ 200 (war 406)Handshake ohne
Accept-Header → 200 (war 406)tools/listmit unbekannter Sitzungs-ID → 404 (war 400)initializewährend noch eine veraltete ID gehalten wird → 200 (war 400)tools/listauf einer aktiven Sitzung → 200, vollständige Tool-Liste
Die Nummern 2 bis 5 waren alle in der Produktion defekt, während der Actor gesunde Läufe meldete.
Lizenz
MIT
This server cannot be installed
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
- AlicenseNot gradedqualityNot gradedmaintenanceExposes over 19,000 Apify Actors as MCP tools for web scraping, data extraction, and OSINT automation. It enables AI agents to dynamically discover and execute scrapers to collect structured data and crawl web content.
- AlicenseAqualityCmaintenanceAn APAC-native web scraping API for AI agents that provides tools for scraping, crawling, searching, and extracting structured data from websites, directly usable from MCP-compatible clients like Claude Desktop, Cursor, and Windsurf.712MIT
- FlicenseNot gradedqualityCmaintenanceProvides 42+ MCP tools for browser automation, web scraping, and search, enabling AI agents like Claude and Cursor to browse, extract data, and run research agents on the live web.8

spidra-mcp-serverofficial
AlicenseAqualityBmaintenanceEnables AI assistants to scrape pages, batch-process URLs, and crawl entire websites with AI-powered extraction.12428MIT
Related MCP Connectors
Enable language models to perform advanced AI-powered web scraping with enterprise-grade reliabili…
Hosted MCP with 91 agent tools: X, domains, SEO, Maps, Trends, Search, YouTube, TikTok, and more.
100+ MCP tools for AI agents: content metadata, trade intelligence, business-expertise analysis.
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/Perufitlife/apify-mcp-server-example'
If you have feedback or need assistance with the MCP directory API, please join our Discord server