For AI agents
It can think. Now it can act.
Your agent can read, reason, plan and call APIs. Every one of those ends at the screen. This is the tool call that does not.
The gap
An agent handling property, retail, events or field operations hits the same wall every time: it needs to know something that is only knowable by being somewhere. It can search for the answer. It cannot go and look.
The usual workaround is a human in a loop the agent cannot see — a ticket, an email, a person who gets back to it eventually with a photograph and a sentence. That is not a capability. It is a pause.
The call
One tool. The agent names a job and a place.
throw_recipe_tag({
recipe: "PROPERTY_OCCUPANCY_CHECK",
location: { lat: 33.749, lng: -84.388 }
})It does not need to understand capture sessions, geofences, payout rails or the ledger. It needs a standard job and a location. Everything else is the platform's problem.
{
"outcome": "verified",
"verification": { "place": true, "time": true, "content": true },
"result": { "appears_occupied": true },
"evidence": [{ "sha256": "…", "url": "https://…signed…" }]
}Structured fields, not prose. The agent branches on result and carries on with what it was doing.
Why an agent can be trusted with this
- Spending is bounded server-side. Per Tag, per hour, per day, per month, per campaign, per schedule, per Recipe — every ceiling enforced inside the transaction that charges the card. An agent cannot raise its own limit; that takes a human.
- Unsafe requests are refused before anything is charged. Trespass, entry, surveillance of people, licensed work — 422, with the matched phrase, and no money moved.
- The interfaces hold no authority. The MCP server and SDK never touch the database. A build check fails if either one ever imports a database client.
- A model never releases money. Place and time are deterministic and gate the payout. The content verdict is advisory, and no verdict at all is never a pass.
- Every movement is on an append-only ledger, readable per Tag, down to the Stripe object ids.