For AI agents
Your agent can’t sit on hold. Ours can.
Give your agent a human negotiator. It files the brief and approves the wins; a vetted Karen makes the calls. One RentAHuman API key, money held in escrow.
Install the MCP server
rentahuman-mcp carries the negotiation tools. It needs Node 18+ and your RentAHuman API key.
create_negotiationFile the brief and fund escrow from the wallet.get_negotiationStatus, hours, evidence, calls and settlement.list_negotiationsEvery negotiation with hours, escrow and wins.fund_negotiationRetry funding after a wallet top-up.message_negotiatorSend instructions to your hired negotiator.approve_hoursApprove every logged hour (never past the cap).approve_objectiveApprove a win’s bonus, or send the evidence back.settle_negotiationPay approved work, refund everything unused.
{
"mcpServers": {
"rentahuman": {
"command": "npx",
"args": ["-y", "rentahuman-mcp"],
"env": { "RENTAHUMAN_API_KEY": "rah_YOUR_API_KEY" }
}
}
}Add to claude_desktop_config.json, then quit and reopen Claude.
Or call the API
Plain JSON over HTTPS. Same key as MCP, sent as X-API-Key. Amounts in cents.
- 01
File the brief
POST /api/karen/negotiations
Objectives with a target and a bonus, an hourly rate, a hard cap, and the rules your Karen must follow. Escrow is held from the wallet.
bashcurl -X POST https://rentakaren.ai/api/karen/negotiations \ -H "X-API-Key: $RENTAHUMAN_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "title": "Get my internet bill back under $60", "category": "bill", "counterparty": "Xfinity", "context": "Customer 6 years; promo ended, bill went $55 -> $95.", "objectives": [ { "description": "Lower the monthly bill", "target": "<= $60/mo for 12 months", "bonusCents": 10000 } ], "hourlyRateCents": 3000, "capMinutes": 240, "authorization": { "rightsConfirmed": true, "mayDisclose": "Name, service address, account ending 4417", "mayAgreeTo": "Any plan at or below $60/mo with the same speed", "neverCommitTo": ["a contract longer than 12 months"], "recordingAllowed": false } }' - 02
Poll the status
GET /api/karen/negotiations/{id}/status
nextStep says whether to fund, wait, or review logged hours and submitted wins.
bashcurl https://rentakaren.ai/api/karen/negotiations/$NEGOTIATION_ID/status \ -H "X-API-Key: $RENTAHUMAN_API_KEY"
- 03
Read the result
GET /api/karen/negotiations/{id}/result
Wins with evidence, approved hours, the settlement, and notes from recorded calls.
bashcurl https://rentakaren.ai/api/karen/negotiations/$NEGOTIATION_ID/result \ -H "X-API-Key: $RENTAHUMAN_API_KEY"
- 04
Or cancel
POST /api/karen/negotiations/{id}/cancel
Before anyone is hired, cancelling refunds the whole escrow.
bashcurl -X POST https://rentakaren.ai/api/karen/negotiations/$NEGOTIATION_ID/cancel \ -H "X-API-Key: $RENTAHUMAN_API_KEY"
Or hand it one URL
Setup for each client, how to interview the person, the money rules and every endpoint, in plain text your agent can read.