API ưu đãi
Tìm ưu đãi Việt Nam từ ChatGPT và Claude qua máy chủ MCP tương thích. API MCP và REST công khai. Không cần API key.
https://www.sandeals.net/mcpKết nối MCP
Claude Code
Thêm máy chủ vào Claude Code.
Terminalclaude mcp add --transport http sandeals https://www.sandeals.net/mcpKiểm tra kết nối. Trong phiên Claude, lệnh /mcp cũng hiển thị trạng thái này.
Terminalclaude mcp listHỏi ưu đãi bằng ngôn ngữ tự nhiên.
Claude CodeDùng SanDeals tìm ưu đãi cà phê, trả về tên và link của từng ưu đãi.
claude mcp add --scope project --transport http sandeals https://www.sandeals.net/mcp
ChatGPT
Trong ChatGPT Plugins, thêm một custom MCP server.
Dán URL máy chủ và chọn No authentication.
URL máy chủhttps://www.sandeals.net/mcpCài đặt, rồi chọn SanDeals bằng @ trong cuộc trò chuyện.
Cursor và client khác
Mọi client hỗ trợ remote MCP qua Streamable HTTP đều kết nối được bằng URL máy chủ. Với Cursor, thêm vào mcp.json:
{
"mcpServers": {
"sandeals": {
"url": "https://www.sandeals.net/mcp"
}
}
}ChatGPT Actions
Import /openapi.json vào ChatGPT Custom GPT Actions. Thao tác searchDeals. Auth: None.
https://www.sandeals.net/openapi.jsonPrompt cho agent
Trỏ agent tới www.sandeals.net/for-agents.md, hoặc dùng prompt này:
Kết nối https://www.sandeals.net/mcp. Gọi search_deals. Trả về title và link của từng ưu đãi trong response.Giao diện
Cùng một catalog qua MCP, REST hoặc HTML. Người dùng dùng form tìm kiếm trên website. Model không được gửi form đó.
Máy chủ MCP
Streamable HTTP. Không lưu phiên. URL chuẩn www.sandeals.net/mcp.
| Endpoint | POST /mcp |
|---|---|
| Alias | POST /api/mcp |
| Auth | None |
| Transport | Streamable HTTP · JSON-RPC 2.0 |
| Protocol | 2025-03-26 · 2025-06-18 · 2025-11-25 |
| Methods | initialize · tools/list · tools/call |
Công cụ
search_dealsChỉ đọcTìm ưu đãi theo từ khóa. Mỗi kết quả có tên, link và danh mục.
| Trường | Kiểu | Ghi chú |
|---|---|---|
queryBắt buộc | string | 1–512 chars |
limit | integer | 1–50 · default 10 |
list_dealsChỉ đọcLiệt kê catalog, có thể lọc theo danh mục hoặc từ khóa.
| Trường | Kiểu | Ghi chú |
|---|---|---|
category | enum | all · food · travel · shopping · tech · books · lifestyle · education |
search | string | ≤ 512 chars |
limit | integer | 1–100 · default 20 |
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_deals",
"arguments": {
"query": "coffee",
"limit": 5
}
}
}REST
Cùng kết quả với tool search_deals. Tham số q là bắt buộc. limit tùy chọn, mặc định 10, tối đa 50. POST cần mode: "agent" để nhận JSON có cấu trúc.
GETPOST/api/search-advanced
curl "https://www.sandeals.net/api/search-advanced?q=coffee&limit=5"
Kết quả
Mỗi kết quả có title và href.
{
"ok": true,
"query": "coffee",
"total": 1,
"results": [
{
"title": "Example Cafe",
"href": "https://slink.sandeals.net/example",
"category": "food",
"summary": "Example cafe — coffee and tea, Vietnam.",
"score": 13,
"source": "deals"
}
],
"response": "Found 1 deals for \"coffee\": 1. Example Cafe — https://slink.sandeals.net/example",
"meta": {
"mode": "agent",
"matched": true
}
}| Trường | Kiểu | Ghi chú |
|---|---|---|
results[].title | string | Tên cửa hàng hoặc ưu đãi |
results[].href | string | URL ưu đãi |
results[].category | string | food (ăn uống), travel (du lịch), shopping (mua sắm), tech (công nghệ), books (sách), lifestyle (đời sống) |
meta.matched | boolean | false nghĩa là gợi ý thay thế |
Ràng buộc
meta.matched là false thì báo không có kết quả khớp chính xác, rồi trả các dòng gợi ý. Chỉ dùng giá trị có trong response.Thử
Form GET. Chạy khi tắt JavaScript. Cùng đường dẫn người dùng xem kết quả HTML.
Ví dụ: coffeegiàyvoucherJSON cà phê
Chỉ mục
Tệp máy đọc được cho crawler và coding agent.
| Đường dẫn | Định dạng |
|---|---|
| /llms.txt | Markdown |
| /for-agents.md | Markdown |
| /api/llms | JSON |
| /.well-known/ai.txt | Text |
| /openapi.json | OpenAPI 3 |
| GET /mcp | JSON |
