เซิร์ฟเวอร์ MCP
เชื่อม AnyCrawl เข้ากับ Cursor, Claude และ VS Code ผ่าน Model Context Protocol (MCP)
AnyCrawl MCP Server — การดึงข้อมูลและการครอลเว็บที่ทรงพลังสำหรับ Cursor, Claude และไคลเอนต์ LLM อื่นๆ ผ่าน Model Context Protocol (MCP)
คุณสมบัติ
- การดึงข้อมูลเว็บ การครอล และการแยกเนื้อหา
- ความสามารถค้นหาและค้นพบ
- การประมวลผลแบบแบตช์และ concurrency
- รองรับคลาวด์และโฮสต์เอง
- ติดตามความคืบหน้าแบบเรียลไทม์
- รองรับ SSE
การติดตั้ง
รันด้วย npx
ANYCRAWL_API_KEY=YOUR-API-KEY npx -y anycrawl-mcpใช้ API ที่โฮสต์
{
"mcpServers": {
"anycrawl": {
"url": "https://mcp.anycrawl.dev/{YOUR_API_KEY}/mcp"
}
}
}ติดตั้งด้วยมือ
npm install -g anycrawl-mcp-server
ANYCRAWL_API_KEY=YOUR-API-KEY anycrawl-mcpรันบน Cursor
เพิ่มเซิร์ฟเวอร์ AnyCrawl MCP ใน Cursor:
- เปิด Cursor Settings
- ไปที่ Features > MCP Servers
- คลิก "+ Add new global MCP server"
- ใส่การตั้งค่าต่อไปนี้:
{
"mcpServers": {
"anycrawl-mcp": {
"command": "npx",
"args": ["-y", "anycrawl-mcp"],
"env": {
"ANYCRAWL_API_KEY": "YOUR-API-KEY"
}
}
}
}รันบน VS Code
เพิ่มบล็อก JSON ต่อไปนี้ใน User Settings (JSON) ของ 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}"
}
}
}
}
}รันบน Claude Desktop
เพิ่มสิ่งนี้ในไฟล์ config ของ Claude:
{
"mcpServers": {
"anycrawl": {
"url": "https://mcp.anycrawl.dev/{YOUR_API_KEY}/sse"
}
}
}การตั้งค่า
ตัวแปรสภาพแวดล้อม
จำเป็นสำหรับ Cloud API
ANYCRAWL_API_KEY: API key ของ AnyCrawl- จำเป็นเมื่อใช้ cloud API (ค่าเริ่มต้น)
- ไม่บังคับเมื่อโฮสต์เอง
ANYCRAWL_BASE_URL: URL ฐานของ AnyCrawl API- ไม่บังคับ
- จำเป็นเมื่อโฮสต์เอง
ตัวอย่างการตั้งค่า
การตั้งค่า Cloud พื้นฐาน
export ANYCRAWL_API_KEY="your-api-key-here"
npx -y anycrawl-mcpการตั้งค่าโฮสต์เอง
export ANYCRAWL_API_KEY="your-api-key"
export ANYCRAWL_BASE_URL="https://your-instance.com"
npx -y anycrawl-mcpเครื่องมือที่มี
1. เครื่องมือ Scrape (anycrawl_scrape)
ดึงข้อมูลจาก URL เดียวในรูปแบบต่างๆ
เหมาะกับ:
- แยกเนื้อหาจากหน้าเดียว
- ดึงข้อมูลอย่างรวดเร็ว
- ทดสอบ URL เฉพาะ
พารามิเตอร์:
url(จำเป็น): URL ที่จะดึงengine(ไม่บังคับ): เครื่องมือดึง (auto,playwright,cheerio,puppeteer) ค่าเริ่มต้นautoformats(ไม่บังคับ): รูปแบบผลลัพธ์ (markdown,html,text,screenshot,screenshot@fullPage,rawHtml,json)timeout(ไม่บังคับ): timeout มิลลิวินาที (ค่าเริ่มต้น: 300000)wait_for(ไม่บังคับ): เวลารอให้หน้าโหลดinclude_tags(ไม่บังคับ): แท็ก HTML ที่จะรวมexclude_tags(ไม่บังคับ): แท็ก HTML ที่จะยกเว้นjson_options(ไม่บังคับ): ตัวเลือกการดึง JSONocr_options(ไม่บังคับ): เปิด OCR เสริมสำหรับรูปใน markdown เท่านั้น ไม่เปลี่ยนhtml/rawHtml
ตัวอย่าง:
{
"name": "anycrawl_scrape",
"arguments": {
"url": "https://example.com",
"engine": "cheerio",
"formats": ["markdown", "html"],
"timeout": 30000
}
}2. เครื่องมือ Crawl (anycrawl_crawl)
เริ่มงานครอลเพื่อดึงหลายหน้าจากเว็บไซต์ โดยค่าเริ่มต้นจะรอจนเสร็จและคืนผลรวมด้วย SDK client.crawl (poll ทุก 3 วินาที timeout 60 วินาที)
เหมาะกับ:
- แยกเนื้อหาจากหลายหน้าที่เกี่ยวข้อง
- วิเคราะห์เว็บไซต์แบบครอบคลุม
- รวบรวมข้อมูลจำนวนมาก
พารามิเตอร์:
url(จำเป็น): URL ฐานสำหรับครอลengine(ไม่บังคับ): เครื่องมือดึง (auto,playwright,cheerio,puppeteer) ค่าเริ่มต้นautomax_depth(ไม่บังคับ): ความลึกสูงสุด (ค่าเริ่มต้น: 10)limit(ไม่บังคับ): จำนวนหน้าสูงสุด (ค่าเริ่มต้น: 100)strategy(ไม่บังคับ): กลยุทธ์การครอล (all,same-domain,same-hostname,same-origin)exclude_paths(ไม่บังคับ): รูปแบบ URL ที่ยกเว้นinclude_paths(ไม่บังคับ): รูปแบบ URL ที่รวมscrape_options(ไม่บังคับ): ตัวเลือกต่อหน้าpoll_seconds(ไม่บังคับ): ช่วง poll เป็นรอบ (ค่าเริ่มต้น: 3)timeout_ms(ไม่บังคับ): timeout รวมมิลลิวินาที (ค่าเริ่มต้น: 60000)
ตัวอย่าง:
{
"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
}
}คืนค่า: { "job_id": "...", "status": "completed", "total": N, "completed": N, "credits_used": N, "data": [...] }
3. เครื่องมือ Crawl Status (anycrawl_crawl_status)
ตรวจสถานะงานครอล
พารามิเตอร์:
job_id(จำเป็น): ID งานครอล
ตัวอย่าง:
{
"name": "anycrawl_crawl_status",
"arguments": {
"job_id": "7a2e165d-8f81-4be6-9ef7-23222330a396"
}
}4. เครื่องมือ Crawl Results (anycrawl_crawl_results)
รับผลจากงานครอล
พารามิเตอร์:
job_id(จำเป็น): ID งานครอลskip(ไม่บังคับ): จำนวนผลที่ข้าม (สำหรับแบ่งหน้า)
ตัวอย่าง:
{
"name": "anycrawl_crawl_results",
"arguments": {
"job_id": "7a2e165d-8f81-4be6-9ef7-23222330a396",
"skip": 0
}
}5. เครื่องมือ Cancel Crawl (anycrawl_cancel_crawl)
ยกเลิกงานครอลที่ค้างอยู่
พารามิเตอร์:
job_id(จำเป็น): ID งานครอลที่จะยกเลิก
ตัวอย่าง:
{
"name": "anycrawl_cancel_crawl",
"arguments": {
"job_id": "7a2e165d-8f81-4be6-9ef7-23222330a396"
}
}6. เครื่องมือ Search (anycrawl_search)
ค้นหาเว็บด้วย AnyCrawl
เหมาะกับ:
- หาข้อมูลเฉพาะจากหลายเว็บ
- การวิจัยและการค้นพบ
- เมื่อไม่ทราบว่าเว็บใดมีข้อมูล
พารามิเตอร์:
query(จำเป็น): คำค้นหาengine(ไม่บังคับ): เครื่องมือค้นหา (google)limit(ไม่บังคับ): จำนวนผลสูงสุด (ค่าเริ่มต้น: 5)offset(ไม่บังคับ): จำนวนผลที่ข้าม (ค่าเริ่มต้น: 0)pages(ไม่บังคับ): จำนวนหน้าผลค้นหาlang(ไม่บังคับ): รหัสภาษาcountry(ไม่บังคับ): รหัสประเทศscrape_options(ไม่บังคับ): ตัวเลือกการดึงผลค้นหาsafeSearch(ไม่บังคับ): ระดับความปลอดภัย (0=ปิด, 1=ปานกลาง, 2=เข้มงวด)
ตัวอย่าง:
{
"name": "anycrawl_search",
"arguments": {
"query": "latest AI research papers 2024",
"engine": "google",
"limit": 5,
"scrape_options": {
"engine": "cheerio",
"formats": ["markdown"]
}
}
}รูปแบบผลลัพธ์
Markdown
เนื้อหา markdown ที่สะอาดและมีโครงสร้าง เหมาะกับ LLM
HTML
เนื้อหา HTML ดิบพร้อมการจัดรูปแบบ
Text
ข้อความล้วนๆ มีการจัดรูปแบบน้อย
Screenshot
ภาพหน้าจอของหน้า
Screenshot@fullPage
ภาพหน้าจอเต็มหน้าลงไปด้านล่าง
Raw HTML
HTML ดิบที่ยังไม่ประมวลผล
JSON
การดึงข้อมูลมีโครงสร้างด้วย schema สำหรับคุณ
เครื่องมือดึงข้อมูล
Auto (ค่าเริ่มต้น)
- เลือกเครื่องมืออัจฉริยะ
- เลือกเครื่องมือที่เหมาะสมต่อ URL โดยอัตโนมัติ
- เหมาะกับการดึงข้อมูลทั่วไป
Cheerio
- เร็วและเบา
- เหมาะกับเนื้อหาคงที่
- เรนเดอร์ฝั่งเซิร์ฟเวอร์
Playwright
- อัตโนมัติเบราว์เซอร์เต็มรูปแบบ
- เรนเดอร์ JavaScript
- เหมาะกับเนื้อหาไดนามิก
Puppeteer
- อัตโนมัติ Chrome/Chromium
- สมดุลระหว่างฟีเจอร์และประสิทธิภาพ
การจัดการข้อผิดพลาด
เซิร์ฟเวอร์ให้การจัดการข้อผิดพลาดครบถ้วน:
- ข้อผิดพลาดการตรวจสอบ: พารามิเตอร์ไม่ถูกต้องหรือขาดฟิลด์ที่จำเป็น
- ข้อผิดพลาด API: ข้อผิดพลาด AnyCrawl พร้อมข้อความรายละเอียด
- ข้อผิดพลาดเครือข่าย: การเชื่อมต่อและ timeout
การบันทึกล็อก
เซิร์ฟเวอร์มี logging ละเอียด:
- Debug: รายละเอียดการดำเนินการ
- Info: สถานะทั่วไป
- Warn: ปัญหาไม่ร้ายแรง
- Error: ข้อผิดพลาดร้ายแรงและความล้มเหลว
ตั้งระดับล็อกด้วยตัวแปรสภาพแวดล้อม:
export LOG_LEVEL=debug # debug, info, warn, errorการพัฒนา
ข้อกำหนดเบื้องต้น
- Node.js 18+
- npm
ตั้งค่า
git clone https://github.com/any4ai/anycrawl-mcp-server.git
cd anycrawl-mcp-server
npm ciBuild
npm run buildทดสอบ
npm testLint
npm run lintFormat
npm run formatการมีส่วนร่วม
- Fork ที่เก็บ
- สร้าง branch ฟีเจอร์
- รัน tests:
npm test - ส่ง pull request
ใบอนุญาต
MIT License — ดูไฟล์ LICENSE
การสนับสนุน
- GitHub Issues: รายงานบั๊กหรือขอฟีเจอร์
- เอกสาร: เอกสาร AnyCrawl API
- อีเมล: help@anycrawl.dev
เกี่ยวกับ AnyCrawl
AnyCrawl เป็น crawler Node.js/TypeScript ที่ทรงพลัง แปลงเว็บไซต์เป็นข้อมูลพร้อม LLM และดึงผล SERP มีโครงสร้างจาก Google/Bing/Baidu ฯลฯ มี multi-threading แบบเนทีฟสำหรับงานจำนวนมากและรองรับหลายรูปแบบผลลัพธ์
- เว็บไซต์: https://anycrawl.dev
- GitHub: https://github.com/any4ai/anycrawl
- API: https://api.anycrawl.dev