Website Content Crawler MCP Server
Enables crawling websites, including JavaScript-rendered pages, and returns extracted page content as JSON with structured error reporting.
README
Website Content Crawler MCP Server
MCP wrapper that runs the apify/website-content-crawler actor for real via apify-client
and returns its pages as JSON. Every call either returns crawled content or a structured
error — it never reports a fake success.
What it costs
Runs bill your Apify account at the rate listed for
apify/website-content-crawler — this
server adds nothing on top. No token, no charge: calls return missing_token before any
run starts.
Live output demo (same crawl logic, rendered): https://website-content-crawler.vercel.app
Setup
npm install
export APIFY_TOKEN=apify_api_... # https://console.apify.com/settings/integrations
npm start # stdio MCP server
Tool: crawl_website
Input:
| field | type | default | notes |
|---|---|---|---|
url |
string | required | http/https URL to crawl |
maxPages |
number | 10 | capped at 50 |
crawlerType |
string | cheerio |
or playwright:chrome for JS-rendered |
Output envelope (same shape every call):
{
"status": "ok",
"run": { "id": "<apify run id>", "status": "SUCCEEDED" },
"page_count": 3,
"total_in_dataset": 3,
"pages": [{ "url": "...", "title": "...", "text": "...(≤5000 chars)" }]
}
Error codes: invalid_url, missing_token, apify_auth_failed, actor_run_failed,
run_not_succeeded, dataset_fetch_failed.
Smoke test
printf '%s\n' \
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"t","version":"0"}}}' \
'{"jsonrpc":"2.0","method":"notifications/initialized"}' \
'{"jsonrpc":"2.0","id":2,"method":"tools/list"}' \
'{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"crawl_website","arguments":{"url":"https://example.com"}}}' \
| node index.js
With no APIFY_TOKEN set, request id 3 must return
{"status":"error","error":{"code":"missing_token",...}} — proof the handler reaches the
real Apify boundary instead of inventing a result.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
E2B
Using MCP to run code via e2b.