AnyCrawl MCP Server 是一个通过 Model Context Protocol(MCP)为 LLM 客户端提供网页抓取与爬取能力的服务器,项目主页为 https://github.com/any4ai/anycrawl-mcp-server。它将网页数据转换为适合大语言模型消费的格式,并支持从搜索引擎获取结构化 SERP 结果。
【用途】 主要用于让 Cursor、Claude、VS Code、Windsurf、Codex 等 LLM 客户端具备抓取单个网页、爬取整站内容以及搜索网页并抓取结果的能力。
【主要能力】
- 网页抓取(Scrape):从单个 URL 提取内容,支持多种输出格式。
- 整站爬取(Crawl):按可配置的深度与页数上限爬取多个页面,默认等待完成并返回聚合结果。
- 搜索引擎集成(Search/SERP):搜索网页并可选择抓取搜索结果。
- 多种引擎:auto(智能选择)、Playwright、Cheerio、Puppeteer。
- 灵活输出:Markdown、HTML、text、screenshot、screenshot@fullPage、rawHtml、json(结构化数据抽取)。
- 异步操作:非阻塞的爬取任务,支持状态监控。
- 错误处理与日志:参数校验错误、API 错误、网络错误、速率限制自动重试与退避,并提供多级别日志。
- 多种模式:STDIO(默认)、MCP(HTTP)、SSE;Docker Compose 部署时同一容器内运行 MCP(端口 3000)与 SSE(端口 3001),由 Nginx 前置,并支持 /{API_KEY}/mcp 与 /{API_KEY}/sse 路径。
【提供的工具】
- anycrawl_scrape:抓取单个 URL。参数含 url(必填)、engine(auto/playwright/cheerio/puppeteer,默认 auto)、formats(markdown、html、text、screenshot、screenshot@fullPage、rawHtml、json)、proxy、timeout(默认 300000 毫秒)、retry(默认 false)、wait_for、include_tags、exclude_tags、json_options。
- anycrawl_crawl:启动爬取任务以抓取多个页面。默认等待完成并返回聚合结果(每 3 秒轮询,60 秒超时)。参数含 url(必填)、max_depth(默认 10)、limit(默认 100)、strategy(all、same-domain、same-hostname、same-origin)、exclude_paths、include_paths、scrape_options、poll_seconds(默认 3)、timeout_ms(默认 60000)。返回形如 { "job_id": "...", "status": "completed", "total": N, "completed": N, "creditsUsed": N, "data": [...] }。
- anycrawl_crawl_status:查询爬取任务状态,参数 job_id(必填)。
- anycrawl_crawl_results:获取爬取任务结果,参数含 job_id(必填)、skip(分页)。
- anycrawl_cancel_crawl:取消待处理的爬取任务,参数 job_id(必填)。
- anycrawl_search:使用 AnyCrawl 搜索引擎搜索网页。参数含 query(必填)、engine(google)、limit(默认 10)、offset(默认 0)、pages、lang、country、scrape_options(必填)、safeSearch(0 关闭、1 中等、2 严格)。
【使用方式】 支持两种部署模式: 1)云服务(推荐):使用 https://mcp.anycrawl.dev,无需自建服务器。云端端点:MCP(streamable_http)为 https://mcp.anycrawl.dev/{API_KEY}/mcp(适用于 Codex 和 Cursor);SSE 为 https://mcp.anycrawl.dev/{API_KEY}/sse(仅旧版 SSE 客户端,不适用于 Codex)。 2)自托管:将 base URL 配置指向自己的 AnyCrawl API 实例;本地开发可自定义 host/port。 获取 API Key:访问 AnyCrawl 网站注册或登录(https://anycrawl.dev),注册可免费获得 1500 credits(约可爬取 1500 个页面);在 dashboard → API Keys 复制密钥,并设置为环境变量 ANYCRAWL_API_KEY。
可用模式:默认 STDIO(无需环境变量),设置 ANYCRAWL_MODE 可切换。 Docker 镜像环境变量:ANYCRAWL_MODE(compose 中默认 MCP_AND_SSE,或 MCP、SSE)、ANYCRAWL_MCP_PORT(默认 3000)、ANYCRAWL_SSE_PORT(默认 3001)、CLOUD_SERVICE(true 时从 /{API_KEY}/... 或请求头提取 API Key)、ANYCRAWL_BASE_URL(默认 https://api.anycrawl.dev)。
客户端配置:
- Cursor:需 v0.45.6+。v0.48.6 及更新版本可在 MCP Servers 设置中添加配置;v0.45.6 通过 Cursor Settings → Features → MCP Servers → "+ Add New MCP Server",Name 填 "anycrawl-mcp",Type 选 "command"。HTTP 模式(streamable_http)的本地与云端配置不同;使用 streamable_http 时 Cursor 不需要 API Key。
- VS Code:手动安装时在 User Settings (JSON)(命令面板 → Preferences: Open User Settings (JSON))中添加对应 JSON;可选在 .vscode/mcp.json 中放置配置以便共享。
- Windsurf:添加到 ~/.codeium/windsurf/model_config.json。
- Claude Desktop / Claude Code:使用 claude mcp add 命令添加;Claude Desktop 配置文件为 macOS 的 ~/Library/Application Support/Claude/claude_desktop_config.json 或 Windows 的 %APPDATA%\Claude\claude_desktop_config.json。
- SSE 模式:面向 Web 应用、测试以及基于 Web 的 LLM 客户端。
- Codex:仅使用 streamable HTTP,不支持旧版 SSE。配置写入 ~/.codex/config.toml(替换 YOUR_API_KEY),路径使用 /mcp 而非 /sse(使用 /sse 会导致 Codex 挂起直到约 30 秒超时);API Key 放在 URL 路径中(Codex 不会为远程服务器读取 ANYCRAWL_API_KEY);若启动仍超时,可增大 startup_timeout_sec(Codex 默认 10 秒)。
【适用场景】
- 从单个页面提取内容、快速数据抽取、测试特定 URL(anycrawl_scrape)。
- 从多个相关页面提取内容、整站分析、批量数据收集(anycrawl_crawl)。
- 在多个网站间查找特定信息、调研与发现、不确定哪个网站有目标信息时(anycrawl_search)。
【限制与要求】
- 需要 Node.js 22.12+(Docker 与 CI 使用 Node 22,见 .node-version)。
- 云服务需要 API Key;自托管需配置指向自建 AnyCrawl API 实例的 base URL。
- 项目采用 MIT License。
- 反馈渠道:GitHub Issues;文档:AnyCrawl API Docs;邮箱:help@anycrawl.dev。
- 关于具体收费价格、其他平台支持情况等资料未提供。