Skip to main content
Errand (same-city delivery-run) is a capability independent from food ordering: it helps a user move an item from one place to another — picking up a package, sending documents, running an errand — and does not itself involve ordering food or shopping. Errand exposes its Agent interface via MCP (Model Context Protocol) over the Streamable HTTP transport, with 19 tools (all prefixed errand_) covering the full flow from user authorization, saving addresses, and pricing, to placing an order, payment, and delivery tracking.

Connecting

Endpoint:
Errand and food ordering are two independent MCP services (different endpoints) that share the same credential but must be connected to separately. The MCP Client discovers tools via tools/list and calls them via tools/call.

Authentication

Two layers — Agent identity at the connection layer, user authorization via a tool parameter:
Passed at the connection layer via the Authorization: Bearer <agent_credential> header, required on every MCP request; uses the same credential as food ordering.
Errand’s consent_grant_id is issued independently from food ordering’s and the two cannot be mixed; passing an Errand grant to a food-ordering tool (or vice versa) returns CONSENT_GRANT_WRONG_CAP. If your Agent has cross-capability interop enabled, unbinding shares one grant across both and invalidates it for both at once — see the authorization tool pages for details.

Units and coordinate system

All amount fields are in cents (integers), not yuan; distance is in meters, weight in grams; the coordinate system is always GCJ-02.

Full flow

Minimal loop:

Key field flow

Tool list

Grouped by function, 19 tools in total.

Authorization

Addresses

Quoting

Ordering

Orders

Cancellation

Tips

See each tool’s page for its full parameters and return fields. See Status enums for status values, Error handling for error codes, and Status callbacks for the callback format.