multi-scraper-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@multi-scraper-mcpScrape email addresses from this company's website"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP server as an Apify Actor — a working reference
This is the source behind renzomacar/multi-scraper-mcp,
an MCP server that runs as an Apify Actor in Standby mode and exposes 16 lead-generation and
web-scraping tools to AI clients like Claude, Cursor and Windsurf.
It is published as a reference because the interesting part is not the tool list — it is the
three transport bugs that kept real clients from connecting while every run reported SUCCEEDED.
The three failures this code fixes
1. A stale session id used to wedge the client forever
Sessions live in an in-memory Map, but a Standby run is not one long-lived process — Apify
recycles it. A client that reconnects on Tuesday with Monday's Mcp-Session-Id hits a process
that has never heard of it.
The server used to answer 400. The spec
is explicit that the answer must be 404:
The server MAY terminate the session at any time, after which it MUST respond to requests containing that session ID with HTTP 404 Not Found.
When a client receives HTTP 404 [...] it MUST start a new session by sending a new
InitializeRequestwithout a session ID attached.
The client's recovery path is keyed to the status code. 400 removes its ability to heal itself.
See sessionGone() in src/main.js.
2. The Accept header rejected clients before any of our code ran
The spec requires clients to send Accept: application/json, text/event-stream. Several real
clients send only one, or nothing, and the transport answers 406 before the request reaches a
handler — so there is nothing in the logs and no failed run in the console.
normalizeAccept() accepts them anyway. The catch: the transport reads the header from
req.rawHeaders, so patching req.headers alone does nothing.
3. A slow tool dropped the connection mid-work
These tools wrap scrapers that take one to three minutes. Without bytes on the wire the Standby
gateway drops the connection. The fix streams a notifications/message every 10 seconds, and
clears the interval in finally so an early error return cannot leak the timer.
Related MCP server: ZapFetch MCP Server
Billing honestly
Actor.charge sits on the path that actually returned data, after the items are in hand — not at
the top of the request handler. Charging on arrival means charging for failures.
Layout
file | what's in it |
| Actor init, Express app, Streamable HTTP + legacy SSE transports, the three fixes |
| tool registry: name, description, input schema, target Actor |
| Actor definition, input and output schemas |
Running it
npm install
npm startThen point an MCP client at http://localhost:4321/mcp. On the Apify platform the Standby URL is
https://USERNAME--ACTOR-NAME.apify.actor/mcp — note the USERNAME-- prefix; publishing the URL
without it makes every copy-paste fail.
A check worth running
Six requests, each one a bug that shipped:
handshake with a correct
Acceptheader → 200handshake with
Accept: application/json→ 200 (was 406)handshake with no
Acceptheader → 200 (was 406)tools/listwith an unknown session id → 404 (was 400)initializewhile still holding a stale id → 200 (was 400)tools/liston a live session → 200, full tool list
Numbers 2 through 5 were all broken in production while the Actor reported healthy runs.
License
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