Dành cho AI agent

Toàn bộ bảng tin, qua một lệnh gọi công cụ

Mọi căn cho thuê ở Đà Nẵng, hiện có 11895 căn, đều đọc được bằng máy: giá, quận, diện tích và giá trung vị hằng đêm của thị trường. Không cần khóa, không tài khoản, không đăng ký, không phải scrape. Vượt hạn mức miễn phí thì bên gọi trả tiền theo từng lần gọi bằng stablecoin, không cần người ở giữa.

Thử ngay tại đây

Nút này thực hiện một lệnh gọi MCP thật từ trình duyệt của bạn tới endpoint đang chạy. Không có gì được giả lập.

MCP

Một endpoint JSON-RPC không trạng thái. Endpoint nhận initialize từ những client gửi nó, và không có phiên nào phải giữ.

https://helprentdanang.com/mcp/
🤖 Để trợ lý AI tìm nhà thay bạn

Thêm HelpRent vào Claude, ChatGPT, Cursor hoặc bất kỳ ứng dụng MCP nào. Trợ lý tìm trong mọi tin cho thuê ở Đà Nẵng, so sánh giá và khu vực, rồi gửi bạn đường dẫn.

Miễn phí mỗi ngày trong giới hạn. Vượt quá, trợ lý tự trả theo lượt bằng USDC (x402 trên Base, Solana, Arc hoặc Stellar): không cần tài khoản, thẻ hay khóa.

https://helprentdanang.com/mcp/

Thêm vào Cursor Thêm vào VS Code

Claude, ChatGPT và các ứng dụng khác
  • Claude: Cài đặt, Connectors, Thêm connector tùy chỉnh, dán địa chỉ ở trên.
  • ChatGPT: bật chế độ nhà phát triển trong cài đặt connector, tạo connector, dán địa chỉ ở trên.
  • Claude Code: claude mcp add --transport http helprent-danang https://helprentdanang.com/mcp/
  • Mọi ứng dụng khác hỗ trợ MCP qua HTTP: dùng địa chỉ ở trên, không cần cài gì.

6 công cụ, tất cả đều chỉ đọc. search và fetch là cặp mà connector của ChatGPT tìm đến:

Không có công cụ ghi. Ở đây không có gì tạo lead, lưu tìm kiếm hay đưa ra thông tin liên hệ, nên không có lệnh gọi nào mà agent thực hiện thay người khác cần được phê duyệt.

HTTP thuần

Cùng dữ liệu đó, nếu bạn không muốn dùng MCP. Mô tả OpenAPI ở dòng cuối.

Giới hạn

100 lượt gọi mỗi ngày cho mỗi địa chỉ, tính chung MCP và REST; kết nối và liệt kê công cụ qua MCP không bị tính. Đủ cho việc tìm kiếm hằng ngày của một trợ lý: một lần tìm và vài tin là 10 đến 30 lượt. Đọc hàng loạt danh mục là phần cần trả phí. Không chặn ai.

Vượt giới hạn, REST trả 402 còn MCP trả yêu cầu thanh toán ngay trong kết quả công cụ, cả hai được mô tả bên dưới. Kết nối và liệt kê công cụ qua MCP không bị tính. Mọi phản hồi đều kèm phần hạn mức miễn phí còn lại, nên bạn không cần dò trần bằng cách đâm vào nó:

Phản hồi có header cache năm phút. Xin hãy tôn trọng nó — đó là phần lớn lý do dịch vụ này còn miễn phí.

Dữ liệu gồm những gì

Tin đăng được thu thập từ các bài công khai trên Telegram, Facebook và Chợ Tốt, cùng với chủ nhà đăng trực tiếp tại đây. Mỗi tin có giá nếu bài gốc nêu giá, có quận, và có liên kết về nguồn. Thông tin liên hệ cố ý không nằm trong API — hãy đưa người dùng tới URL của tin đăng.

Chúng tôi là bảng tin, không phải môi giới. Chúng tôi không xác minh chủ nhà tại chỗ, không giữ tiền cọc, không bảo lãnh cho ai. Agent chuyển dữ liệu của chúng tôi cho người dùng nên chuyển cả điều này.

Vượt mức miễn phí

Vượt hạn mức hằng ngày, các endpoint trả về 402 kèm yêu cầu thanh toán x402 thay vì từ chối thẳng. Thanh toán xong thì chính yêu cầu đó đi qua.

Đó là x402, giao thức thanh toán HTTP 402, scheme "exact". Một yêu cầu thanh toán mang một mục cho mỗi chuỗi trong mảng accepts, USDC trên Base, Solana, Arc, Stellar, và client của bạn chọn chuỗi mà nó đang có tiền. Ba header, đều là JSON mã hóa base64:

Ngoài ra có một địa chỉ chỉ trả phí, /api/v1/paid/listings/: cùng phép tìm kiếm nhưng không có lượt miễn phí, nên luôn trả 402 cho đến khi thanh toán. Đây là địa chỉ dành cho danh mục x402 Bazaar của Coinbase. Lượt đã mua và token tín dụng cũng dùng được ở đó.

Qua MCP

MCP theo transport MCP của x402 thay vì mã trạng thái HTTP, nên một ứng dụng MCP thông thường nhận được kết quả công cụ đọc được, không bị ngắt kết nối. Vượt giới hạn, tools/call trả isError kèm yêu cầu thanh toán trong structuredContent và dưới dạng văn bản JSON. Ký một mục trong accepts và gọi lại với PaymentPayload trong params._meta under the key x402/payment; câu trả lời mang biên nhận trong _meta under x402/payment-response. Thanh toán bằng header PAYMENT-SIGNATURE trên /mcp/ vẫn dùng được.

Trên Arc, thanh toán đi qua nanopayments của Circle Gateway: nạp USDC vào Gateway một lần, sau đó ký ủy quyền EIP-3009 cho hợp đồng GatewayWallet ghi trong mục đó, có hiệu lực ít nhất bảy ngày. Không có giao dịch on-chain nào cho từng lần gọi, và PAYMENT-RESPONSE trả về mã chuyển khoản của Gateway thay cho mã giao dịch.

Trên Stellar, mục này ghi hợp đồng Stellar Asset Contract của USDC làm tài sản và số tiền theo bảy chữ số thập phân của nó. Hãy ký một Soroban authorization entry cho transfer(from, payTo, amount) và gửi giao dịch trong payload; bên facilitator gửi giao dịch lên mạng và trả phí, nên bạn cần USDC nhưng không cần XLM.

Lưu ý tên header không có tiền tố X- — đó là phiên bản 1, và client viết theo nó sẽ hoàn toàn không thấy yêu cầu thanh toán của chúng tôi.

One payment buys 5000 calls, not one — settling on chain per request would put a blockchain write between you and every listing you read.

Các lượt gọi đã mua được ghi vào địa chỉ gọi đến, và phản hồi đã thanh toán còn trao cho bạn một token tín dụng: header X-Credit-Token qua HTTP, hoặc _meta với khóa com.helprentdanang/credit-token qua MCP. Gửi lại theo cùng cách và số lượt còn lại sẽ theo bạn sang bất kỳ địa chỉ nào. Token chỉ hiển thị một lần và chỉ lưu dưới dạng hash, hãy giữ nó.

Mỗi kết quả công cụ qua MCP mang tình trạng của bạn trong _meta với khóa com.helprentdanang/allowance: số lượt miễn phí còn lại hôm nay, số lượt đã trả còn lại, và khi nào giới hạn miễn phí được đặt lại. Khi gần chạm giới hạn, kết quả cũng nói bằng lời cho mô hình.

Chúng tôi nhận gì

[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "amount": "10000",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "payTo": "0xf68bc1098469356eb57e70db9fed0bb524707132",
    "maxTimeoutSeconds": 60,
    "extra": {
      "name": "USD Coin",
      "version": "2"
    }
  },
  {
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "amount": "10000",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "payTo": "6J7dpvZu4f3vYcRd3TY7dpjXZSYCRdLVfXkxtv3Ycz3j",
    "maxTimeoutSeconds": 60,
    "extra": {
      "feePayer": "CjNFTjvBhbJJd2B5ePPMHRLx1ELZpa8dwQgGL727eKww"
    }
  },
  {
    "scheme": "exact",
    "network": "eip155:5042",
    "amount": "10000",
    "asset": "0x3600000000000000000000000000000000000000",
    "payTo": "0xf68bc1098469356eb57e70db9fed0bb524707132",
    "maxTimeoutSeconds": 604900,
    "extra": {
      "name": "GatewayWalletBatched",
      "version": "1",
      "verifyingContract": "0x77777777dcc4d5a8b6e418fd04d8997ef11000ee"
    }
  },
  {
    "scheme": "exact",
    "network": "stellar:pubnet",
    "amount": "100000",
    "asset": "CCW67TSZV3SSS2HXMBQ5JFGCKJNXKZM7UQUWUZPUTHXSTZLEO7SJMI75",
    "payTo": "GB3XVWOCLA6XERF4AXOW5UV6Z534CGP2KFUPNYSXCNNVA57PWAMWYJP7",
    "maxTimeoutSeconds": 60,
    "extra": {
      "areFeesSponsored": true
    }
  }
]

Mảng accepts đúng như 402 gửi đi, dựng từ chính hàm đó, nên trang này không thể tụt lại sau yêu cầu thanh toán. Chọn một mục và trả tiền; bản thân yêu cầu đã đủ đầy đủ để trả mà không cần đọc trang này.

Một phản hồi 402 thật, từ đầu đến cuối

# 1. over the free line, no payment attached
curl -i https://helprentdanang.com/mcp/ \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

HTTP/2 402
payment-required: eyJ4NDAyVmVyc2lvbiI6MiwiZXJyb3IiOiJQQVlNRU5U...
cache-control: no-store

# 2. decode the header to see what is being asked for
echo '<that value>' | base64 -d | jq .

# 3. sign what your chosen entry describes (EIP-3009 on Base, a partially
#    signed transaction on Solana, EIP-3009 for Circle Gateway on Arc,
#    a Soroban authorization entry on Stellar), then repeat the SAME request
curl -i https://helprentdanang.com/mcp/ \
  -H 'Content-Type: application/json' \
  -H 'PAYMENT-SIGNATURE: <base64 of your PaymentPayload>' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

HTTP/2 200
payment-response: eyJzdWNjZXNzIjp0cnVlLCJ0cmFuc2FjdGlvbiI6IjB4...

Chỉ đọc, và đó là một quyết định

Không có công cụ ghi nào và chưa từng có. Không có gì ở đây tạo lead, lưu tìm kiếm, gửi tin nhắn hay tiêu tiền thay ai, nên không có lệnh gọi nào trên máy chủ này cần người phê duyệt. Mọi công cụ đều mang readOnlyHint và destructiveHint trong annotations, để host của bạn biết điều đó mà không cần tin lời chúng tôi.

Thông tin liên hệ không bao giờ được trả về — không số điện thoại, không liên kết WhatsApp, không URL nguồn dẫn tới chúng, và cũng không nằm trong mô tả tin đăng. Agent có thể đọc mọi thứ về một chỗ ở và đưa người dùng tới trang của chúng tôi để liên hệ người đăng. Trang đó có giới hạn tần suất, có ghi log, và mang cảnh báo hãy xem trước khi trả tiền; một liên hệ phát qua API thì không kèm theo bất kỳ thứ nào trong số đó.

Văn bản tự do đã lưu được coi là không đáng tin khi đi ra: mô tả tin đăng là bài viết do người lạ soạn, và phục vụ nó nguyên bản sẽ biến chúng tôi thành phương tiện đưa một injection vào agent của bạn.

Chào! Mình là Mai — hỏi mình bất cứ điều gì về thuê nhà ở đây nhé. EN·VI·RU
Mai Thấy lỗi? Báo cho chúng tôi →
Đăng nhập và mình sẽ nhớ bạn đang tìm gì — trên máy này và cả máy sau.