Skip to main content
Glama
README.md
# Agoda Deal Search & Room Freshness Vision ML MCP Server

MCP Server tích hợp tìm kiếm deal khách sạn trên **Agoda** bằng **Playwright Stealth** (vượt rào cản Akamai Bot Manager) và ứng dụng **Vision ML** (Zero-Shot CLIP Classification trên Apple Silicon GPU/MPS) để tự động thẩm định và lọc các phòng khách sạn mới xây, mới nâng cấp hoặc nội thất hiện đại.

---

## 🌟 Tính năng chính

1. **Playwright Stealth & GraphQL Interception**:
   - Vượt Akamai Bot Manager Premier trên Agoda.
   - Bắt gói tin `/graphql/search` chứa dữ liệu chi tiết về khách sạn, phòng, giá deal, chiết khấu và danh sách ảnh gốc chất lượng cao từ CDN Agoda.
2. **Vision ML Room Freshness Evaluator**:
   - Sử dụng model `openai/clip-vit-base-patch32` chạy tăng tốc trên GPU (Apple Silicon Metal / MPS).
   - Phân tích chi tiết từng bức ảnh phòng để chấm điểm độ mới (Modernity / Freshness Score) và phân loại:
     - `PHÒNG RẤT MỚI & HIỆN ĐẠI (Brand New / Newly Renovated)`
     - `PHÒNG KHÁ MỚI & SẠCH SẼ (Modern / Contemporary)`
     - `PHÒNG CŨ / NỘI THẤT XUỐNG CẤP (Dated / Aged)`
3. **Bộ Tools MCP hoàn chỉnh**:
   - `search_agoda_hotels`: Tìm kiếm khách sạn theo điểm đến, số khách, khoảng giá, ngày check-in.
   - `evaluate_room_quality`: Đánh giá chất lượng/độ mới của phòng qua URL ảnh bằng Vision ML.
   - `search_and_find_newest_rooms`: Workflow all-in-one tự động tìm và xếp hạng phòng mới nhất.

---

## 🛠️ Cài đặt

```bash
cd /Users/thiennd/Desktop/agoda-mcp

# Tạo môi trường ảo với Python 3.11 hoặc 3.12 (khuyến nghị uv)
uv venv --python 3.12
source .venv/bin/activate

# Cài đặt dependencies
uv pip install -r requirements.txt
# hoặc
uv pip install -e .
```

---

## 🧪 Chạy Test Thật (Live Test)

Thực hiện truy vấn thực tế: **Vũng Tàu (Trung tâm), 4 người lớn, giá 1.000.000đ - 4.000.000đ**, và đánh giá ảnh phòng bằng Vision ML:

```bash
.venv/bin/python run_live_test.py
```

Kết quả chi tiết được lưu tại file `live_test_results.json`.

---

## 🔌 Cấu hình MCP Server vào Claude Desktop / Cursor

Thêm vào file cấu hình MCP (`claude_desktop_config.json` hoặc `.cursor/mcp.json`):

```json
{
  "mcpServers": {
    "agoda-mcp": {
      "command": "/Users/thiennd/Desktop/agoda-mcp/.venv/bin/python",
      "args": ["/Users/thiennd/Desktop/agoda-mcp/src/server.py"]
    }
  }
}
```
# agoda-mcp