Website Content Crawler MCP Server
Website Content Crawler MCP Server
MCP 包装器,通过 apify-client 真实运行 apify/website-content-crawler actor,并将其页面以 JSON 形式返回。每次调用要么返回抓取的内容,要么返回结构化错误——绝不会报告虚假成功。
费用
运行费用按 apify/website-content-crawler 页面列出的费率计入你的 Apify 账户——此服务器不额外加价。没有 token 就不会产生费用:任何运行开始前,调用都会返回 missing_token。
实时输出演示(相同的抓取逻辑,渲染效果):https://website-content-crawler.vercel.app
Related MCP server: Dev Tool MCP
设置
npm install
export APIFY_TOKEN=apify_api_... # https://console.apify.com/settings/integrations
npm start # stdio MCP server工具:crawl_website
输入参数:
字段 | 类型 | 默认值 | 说明 |
| string | 必填 | 要抓取的 http/https URL |
| number | 10 | 上限 50 |
| string |
| 或 |
输出信封(每次调用的结构相同):
{
"status": "ok",
"run": { "id": "<apify run id>", "status": "SUCCEEDED" },
"page_count": 3,
"total_in_dataset": 3,
"pages": [{ "url": "...", "title": "...", "text": "...(≤5000 chars)" }]
}错误代码:invalid_url、missing_token、apify_auth_failed、actor_run_failed、run_not_succeeded、dataset_fetch_failed。
冒烟测试
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在未设置 APIFY_TOKEN 的情况下,请求 id 3 必须返回 {"status":"error","error":{"code":"missing_token",...}}——证明 handler 能到达真实 Apify 边界,而不是凭空编造结果。
Available Tools
1 toolcrawl_websiteA
Crawl a website and extract page content by running the apify/website-content-crawler actor. Returns a fixed-shape envelope: {status, run:{id,status}, page_count, pages:[{url,title,text}]}. Requires APIFY_TOKEN in the environment.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL to crawl (http/https) | |
| maxPages | No | Maximum pages to crawl, capped at 50 (default 10) | |
| crawlerType | No | cheerio = fast/static and cheaper; playwright:chrome = JS-rendered sites (default cheerio) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It reveals that this is an external actor invocation, requires APIFY_TOKEN, and returns a fixed envelope, which gives the agent an honest model of what happens. It does not detail cost/time/side effects, but the core execution model is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences deliver purpose, mechanism, return shape, and a prerequisite without wasted words. The key purpose is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The hard-coded return envelope compensate for the absent output schema, and the auth requirement is noted. It doesn't cover failure modes or performance expectations, but the essentials for calling and understanding the result are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all three parameters. The description adds no parameter-level meaning, but the baseline 3 is appropriate because it does not need to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise action ('Crawl a website and extract page content') plus the underlying mechanism (running the apify/website-content-crawler actor), so its purpose is clear even without siblings. It also states the return shape to help the tool be disambiguated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys when the tool is appropriate: when a website needs to be crawled and page text extracted. It names the required environment token and return envelope, but does not explicitly state when not to use or what alternatives might apply.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v1.0.0- First observed
crawl_website
TDQS
Scored across 1 tool
Only one tool is exposed, so there is no chance of confusing it with another. Its purpose is clear and unambiguous.
The single tool name 'crawl_website' uses a consistent verb_noun structure. With no other tools, there are no conflicting naming conventions.
A one-tool server is borderline. The tool covers the core need, but the server feels thin and could reasonably expose additional operations like crawl status or history.
The server offers a direct crawl-and-extract action, but lacks supporting operations such as configurable crawling options, job inspection, or the ability to cancel or list previous runs. The surface is functional but minimal.
Maintenance
Related MCP Connectors
Fetch and extract data from any public web page, even JS-rendered or anti-bot protected
Fetch any public web page through managed proxies, with optional JS rendering and extraction rules.
Turn any website into structured JSON data matching your custom schema.
Fetch, crawl, and browse protected pages with anti-bot handling - renders in a real browser and
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables web scraping and document processing with JavaScript execution, anti-detection measures, batch processing, and structured data extraction. Supports multiple formats including markdown, HTML, screenshots, and handles PDFs with OCR capabilities.4MIT
- FlicenseNot gradedqualityDmaintenanceProvides web crawling and browser automation capabilities with support for multiple content formats (HTML, JSON, PDF, screenshots, Markdown), page content extraction, console message monitoring, and network request tracking.-
- AlicenseAqualityAmaintenanceEnables web scraping, structured data extraction, and screenshot capture with automatic anti-bot bypass, supporting JavaScript rendering, proxy rotation, and tiered pricing.25198 npmMIT
- AlicenseAqualityAmaintenanceEnables fetching any public web page through managed proxies, with optional JavaScript rendering, returning markdown, text, HTML, or structured JSON.1192 npm32 PyPI11MIT