Contrate motoristas para entregas reais, de qualquer agente
Um servidor MCP, 36 ferramentas, uma API REST. O seu agente pode cotar um trabalho, reservar, acompanhar o motorista, ler o comprovante e pagar — sem humano no processo, exceto para recarregar a carteira (e nem isso, com USDC).
1. Cole isto no seu agente
Set up RentADriver so this agent can book real-world package deliveries. 1. Run: npx -y rentadriver-mcp setup (or add the MCP config from rentadriver.ai/for-agents) 2. If there is no API key yet, call the signup tool with my name and email — it returns a key once and a $20 welcome credit. 3. Test with check_coverage and get_quote (both free). Before booking, always call create_delivery with dryRun=true and show me the price. 4. Book with create_delivery, then track_delivery until delivered, then get_proof_of_delivery and confirm_delivery.
2. Ou adicione a configuração MCP você mesmo
{
"mcpServers": {
"rentadriver": {
"command": "npx",
"args": ["-y", "rentadriver-mcp"],
"env": { "RENTADRIVER_API_KEY": "rd_live_YOUR_KEY" }
}
}
}Qualquer cliente compatível com MCP funciona: Claude Desktop, Claude Code, Cursor, Windsurf, Cline, agentes próprios. Teste primeiro com get_quote — não precisa de chave.
3. Não usa MCP? Use a API REST
# import the spec as tools
spec = requests.get("https://api.rentadriver.ai/.well-known/openapi.json").json()
# or hand-write the three that matter:
tools = [
{"type": "function", "function": {"name": "get_quote", "description": "Price a delivery", "parameters": spec["components"]["schemas"]["QuoteRequest"]}},
{"type": "function", "function": {"name": "create_delivery", "description": "Book a delivery (needs x-api-key)", "parameters": spec["components"]["schemas"]["CreateDeliveryRequest"]}},
{"type": "function", "function": {"name": "track_delivery", "parameters": {"type": "object", "properties": {"delivery_id": {"type": "string"}}}}},
]As 36 ferramentas
Referência completa com entradas e retornos →check_coverage— Tells you whether an address or a lat/lng pair is inside a RentADriver service area, which city it maps to, and the nearest area with distance if it isn't covered..list_service_areas— Launch cities with country, currency, timezone, centre, radius, launch phase and the minimum price.get_quote— Prices a delivery from one pickup to one or more drop-offs.list_intercity_lanes— Lists the city-to-city lanes between launch cities (Melbourne → Sydney, London → Birmingham, Chicago → New York and more) with road distance, transit time including rest breaks, sample prices for the express, standard and shared speed tiers, and the next fixed shared departures in the origin timezone..get_intercity_quote— Prices a city-to-city delivery with a dedicated driver or a shared lane run.get_platform_stats— Live counts: drivers signed up, on shift now, service areas, deliveries, agents connected, founding-driver signups.
signup— Creates an organisation for an agent, app or business and returns an API key exactly once, plus a $20 welcome credit.check_account_status— Confirms the configured key works and returns the account name, plan, wallet balance, spending caps and which capabilities are enabled (card deposits, x402).get_wallet_balance— Current balance in cents with the last 50 ledger entries (deposits, holds, releases, captures, tips, refunds)..create_wallet_deposit— Creates a Stripe Checkout session for a card deposit and returns the URL a human must open to pay.create_x402_deposit— Agent-native funding without a card.set_spending_controls— Caps what the account can spend per delivery and per rolling 24 hours.list_api_keys— Lists the account's keys with prefix, name, last use and revocation state.create_api_key— Issues an additional key (max 10 active) for another agent or environment.revoke_api_key— Permanently deactivates a key.
create_delivery— Books a delivery from a quote_id or directly from pickup and drop-offs.create_store_pickup— Shortcut for the most common agent job: a driver collects a prepaid order from a store using the order reference and delivers it with a photo and the recipient's name.create_batch— Submits up to 25 create_delivery payloads in one call and returns a per-item result, so one bad address does not fail the batch..fund_delivery— Holds the price from the wallet for a delivery created with fund=false, or retries funding after a deposit.get_delivery— Full delivery record by id or short code: status, next_action, stops with statuses, driver summary and live position while active, ETAs, proof summary, timestamps..list_deliveries— Pages through the account's deliveries, newest first.track_delivery— Compact live view for polling: status, next_action, ETAs, driver first name and position, per-stop progress, last event and the SSE stream URL.get_delivery_events— Every event on the delivery in order: created, funded, dispatching, offers_sent, assigned, each driver step, delivered, confirmed, paid, plus messages and location pings..update_delivery— Changes instructions, contingency rules, the drop-off contact or the window while the job is in progress.cancel_delivery— Cancels and releases the hold.create_return— Books the reverse trip of a completed delivery: the driver collects from the last drop-off and brings the item back to the original pickup, with proof at both ends..
send_message_to_driver— Sends a message to the assigned driver as a push notification and in-app thread.get_delivery_messages— The full message thread between your account and the driver for one delivery, oldest first..
get_proof_of_delivery— Signed photo URLs (valid one hour), signature image, recipient name, OTP result, coordinates and timestamps for the delivery and each stop..confirm_delivery— Confirms a delivered job, captures the held funds and releases the driver's pay.open_dispute— Freezes the funds and asks a human to review the proof.tip_driver— Adds a tip from the wallet after delivery.rate_driver— 1–5 stars with an optional comment.
register_webhook— Registers a URL for delivery.* events (or a subset).list_webhooks— Active webhooks on the account..delete_webhook— Deactivates a webhook.
Recursos: delivery://{id}, coverage://{area}, openapi://spec. Prompt: plan_delivery. Referência REST completa nos docs.
Regras de design em que o seu agente pode confiar
get_quote é grátis e devolve o detalhamento completo. create_delivery aceita dryRun. Nada se move antes de fund.
Toda resposta de entrega diz o que fazer a seguir: fund, wait, track, confirm, dispute, retry.
Envie idempotency_key e uma nova tentativa após falha devolve a mesma entrega, não uma segunda.
Limite o gasto por entrega e por dia na conta; a API recusa qualquer valor acima.
Reservado na criação, liberado no cancelamento ou sem motorista, capturado na confirmação, congelado em falha até revisão humana.
Fotos, assinatura, nome do destinatário, OTP, geo e hora — não uma alegação em texto livre.