Máy chủ MCP
Tích hợp thu thập web AnyCrawl vào Cursor, Claude và VS Code qua Model Context Protocol (MCP)
AnyCrawl MCP Server — Thu thập và crawl web mạnh mẽ cho Cursor, Claude và các client LLM khác qua Model Context Protocol (MCP).
Tính năng
- Thu thập web, crawl và trích nội dung
- Tìm kiếm và khám phá
- Xử lý batch và đồng thời
- Hỗ trợ cloud và tự lưu trữ
- Theo dõi tiến trình thời gian thực
- Hỗ trợ SSE
Cài đặt
Chạy bằng npx
ANYCRAWL_API_KEY=YOUR-API-KEY npx -y anycrawl-mcpDùng API được host
{
"mcpServers": {
"anycrawl": {
"url": "https://mcp.anycrawl.dev/{YOUR_API_KEY}/mcp"
}
}
}Cài đặt thủ công
npm install -g anycrawl-mcp-server
ANYCRAWL_API_KEY=YOUR-API-KEY anycrawl-mcpChạy trên Cursor
Thêm máy chủ AnyCrawl MCP vào Cursor:
- Mở Cursor Settings
- Vào Features > MCP Servers
- Nhấp "+ Add new global MCP server"
- Nhập cấu hình sau:
{
"mcpServers": {
"anycrawl-mcp": {
"command": "npx",
"args": ["-y", "anycrawl-mcp"],
"env": {
"ANYCRAWL_API_KEY": "YOUR-API-KEY"
}
}
}
}Chạy trên VS Code
Thêm khối JSON sau vào file User Settings (JSON) trong VS Code:
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "apiKey",
"description": "AnyCrawl API Key",
"password": true
}
],
"servers": {
"anycrawl": {
"command": "npx",
"args": ["-y", "anycrawl-mcp"],
"env": {
"ANYCRAWL_API_KEY": "${input:apiKey}"
}
}
}
}
}Chạy trên Claude Desktop
Thêm vào file cấu hình Claude:
{
"mcpServers": {
"anycrawl": {
"url": "https://mcp.anycrawl.dev/{YOUR_API_KEY}/sse"
}
}
}Cấu hình
Biến môi trường
Bắt buộc cho Cloud API
ANYCRAWL_API_KEY: API key AnyCrawl của bạn- Bắt buộc khi dùng cloud API (mặc định)
- Tùy chọn khi dùng instance tự host
ANYCRAWL_BASE_URL: URL cơ sở API AnyCrawl.- Tùy chọn
- Bắt buộc với instance tự host
Ví dụ cấu hình
Cloud cơ bản
export ANYCRAWL_API_KEY="your-api-key-here"
npx -y anycrawl-mcpTự host
export ANYCRAWL_API_KEY="your-api-key"
export ANYCRAWL_BASE_URL="https://your-instance.com"
npx -y anycrawl-mcpCông cụ có sẵn
1. Công cụ Scrape (anycrawl_scrape)
Thu thập một URL và trích nội dung theo nhiều định dạng.
Phù hợp khi:
- Trích nội dung từ một trang
- Trích dữ liệu nhanh
- Thử URL cụ thể
Tham số:
url(bắt buộc): URL cần scrapeengine(tùy chọn): Engine (auto,playwright,cheerio,puppeteer). Mặc địnhautoformats(tùy chọn): Định dạng đầu ra (markdown,html,text,screenshot,screenshot@fullPage,rawHtml,json)timeout(tùy chọn): Timeout (ms) (mặc định: 300000)wait_for(tùy chọn): Thời gian chờ trang tảiinclude_tags(tùy chọn): Thẻ HTML cần gồmexclude_tags(tùy chọn): Thẻ HTML cần loạijson_options(tùy chọn): Tùy chọn trích JSONocr_options(tùy chọn): Bật OCR cho ảnh markdown; không đổihtml/rawHtml
Ví dụ:
{
"name": "anycrawl_scrape",
"arguments": {
"url": "https://example.com",
"engine": "cheerio",
"formats": ["markdown", "html"],
"timeout": 30000
}
}2. Công cụ Crawl (anycrawl_crawl)
Bắt đầu job crawl để thu thập nhiều trang. Mặc định chờ hoàn thành và trả kết quả gộp qua SDK client.crawl (mặc định: poll mỗi 3 giây, timeout sau 60 giây).
Phù hợp khi:
- Trích nội dung từ nhiều trang liên quan
- Phân tích toàn site
- Thu thập dữ liệu hàng loạt
Tham số:
url(bắt buộc): URL gốc để crawlengine(tùy chọn): Engine (auto,playwright,cheerio,puppeteer). Mặc địnhautomax_depth(tùy chọn): Độ sâu tối đa (mặc định: 10)limit(tùy chọn): Số trang tối đa (mặc định: 100)strategy(tùy chọn): Chiến lược (all,same-domain,same-hostname,same-origin)exclude_paths(tùy chọn): Mẫu URL loại trừinclude_paths(tùy chọn): Mẫu URL bao gồmscrape_options(tùy chọn): Tùy chọn scrape từng trangpoll_seconds(tùy chọn): Khoảng poll khi chờ (giây) (mặc định: 3)timeout_ms(tùy chọn): Timeout tổng khi chờ (ms) (mặc định: 60000)
Ví dụ:
{
"name": "anycrawl_crawl",
"arguments": {
"url": "https://example.com/blog",
"engine": "playwright",
"max_depth": 2,
"limit": 50,
"strategy": "same-domain",
"poll_seconds": 3,
"timeout_ms": 60000
}
}Trả về: { "job_id": "...", "status": "completed", "total": N, "completed": N, "credits_used": N, "data": [...] }.
3. Công cụ trạng thái crawl (anycrawl_crawl_status)
Kiểm tra trạng thái job crawl.
Tham số:
job_id(bắt buộc): ID job crawl
Ví dụ:
{
"name": "anycrawl_crawl_status",
"arguments": {
"job_id": "7a2e165d-8f81-4be6-9ef7-23222330a396"
}
}4. Công cụ kết quả crawl (anycrawl_crawl_results)
Lấy kết quả từ job crawl.
Tham số:
job_id(bắt buộc): ID job crawlskip(tùy chọn): Số kết quả bỏ qua (phân trang)
Ví dụ:
{
"name": "anycrawl_crawl_results",
"arguments": {
"job_id": "7a2e165d-8f81-4be6-9ef7-23222330a396",
"skip": 0
}
}5. Công cụ hủy crawl (anycrawl_cancel_crawl)
Hủy job crawl đang chờ.
Tham số:
job_id(bắt buộc): ID job crawl cần hủy
Ví dụ:
{
"name": "anycrawl_cancel_crawl",
"arguments": {
"job_id": "7a2e165d-8f81-4be6-9ef7-23222330a396"
}
}6. Công cụ Search (anycrawl_search)
Tìm kiếm web bằng công cụ tìm kiếm AnyCrawl.
Phù hợp khi:
- Tìm thông tin cụ thể trên nhiều site
- Nghiên cứu và khám phá
- Khi chưa biết site nào có thông tin
Tham số:
query(bắt buộc): Truy vấn tìm kiếmengine(tùy chọn): Công cụ tìm (google)limit(tùy chọn): Số kết quả tối đa (mặc định: 5)offset(tùy chọn): Số kết quả bỏ qua (mặc định: 0)pages(tùy chọn): Số trang tìm kiếmlang(tùy chọn): Mã ngôn ngữcountry(tùy chọn): Mã quốc giascrape_options(tùy chọn): Tùy chọn scrape kết quả tìm kiếmsafeSearch(tùy chọn): Mức tìm kiếm an toàn (0=tắt, 1=vừa, 2=chặt)
Ví dụ:
{
"name": "anycrawl_search",
"arguments": {
"query": "latest AI research papers 2024",
"engine": "google",
"limit": 5,
"scrape_options": {
"engine": "cheerio",
"formats": ["markdown"]
}
}
}Định dạng đầu ra
Markdown
Markdown sạch, có cấu trúc, phù hợp LLM.
HTML
HTML thô, giữ định dạng.
Text
Văn bản thuần, ít định dạng.
Screenshot
Ảnh chụp vùng nhìn thấy của trang.
Screenshot@fullPage
Ảnh chụp toàn trang, gồm phần dưới fold.
Raw HTML
HTML chưa xử lý.
JSON
Trích dữ liệu có cấu trúc bằng schema tùy chỉnh.
Engine
Auto (mặc định)
- Chọn engine thông minh
- Tự chọn engine tối ưu cho từng URL
- Phù hợp scrape đa mục đích
Cheerio
- Nhanh và nhẹ
- Tốt cho nội dung tĩnh
- Render phía server
Playwright
- Tự động hóa trình duyệt đầy đủ
- Render JavaScript
- Tốt cho nội dung động
Puppeteer
- Tự động hóa Chrome/Chromium
- Cân bằng tính năng và hiệu năng
Xử lý lỗi
Máy chủ cung cấp xử lý lỗi đầy đủ:
- Lỗi xác thực: Tham số không hợp lệ hoặc thiếu trường bắt buộc
- Lỗi API: Lỗi API AnyCrawl kèm thông báo chi tiết
- Lỗi mạng: Kết nối và timeout
Ghi log
Máy chủ ghi log chi tiết:
- Debug: Thông tin thao tác chi tiết
- Info: Trạng thái chung
- Warn: Vấn đề không nghiêm trọng
- Error: Lỗi nghiêm trọng
Đặt mức log bằng biến môi trường:
export LOG_LEVEL=debug # debug, info, warn, errorPhát triển
Yêu cầu
- Node.js 18+
- npm
Thiết lập
git clone https://github.com/any4ai/anycrawl-mcp-server.git
cd anycrawl-mcp-server
npm ciBuild
npm run buildTest
npm testLint
npm run lintFormat
npm run formatĐóng góp
- Fork repository
- Tạo nhánh tính năng
- Chạy test:
npm test - Gửi pull request
Giấy phép
MIT License — xem file LICENSE
Hỗ trợ
- GitHub Issues: Báo lỗi hoặc đề xuất tính năng
- Tài liệu: AnyCrawl API Docs
- Email: help@anycrawl.dev
Về AnyCrawl
AnyCrawl là crawler Node.js/TypeScript mạnh, chuyển website thành dữ liệu sẵn sàng cho LLM và trích kết quả SERP có cấu trúc từ Google/Bing/Baidu/v.v. Hỗ trợ đa luồng gốc cho xử lý hàng loạt và nhiều định dạng đầu ra.
- Website: https://anycrawl.dev
- GitHub: https://github.com/any4ai/anycrawl
- API: https://api.anycrawl.dev