> ## Documentation Index
> Fetch the complete documentation index at: https://docs.agentcard.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# buy_set_delivery_address

> Set a NEW delivery address by its raw parts (street, city, state, zip) for merchants with NO saved addresses to choose from (e.g.

Connect to `https://mcp.agentcard.sh/mcp` with the **user's connection token** (or a `buy_token` for org-owned accounts).

**Behavior:** idempotent.

<Note>Not in the default `tools/list`. It is still callable by exact name, and appears when the client sends the `x-expert-tools: 1` header.</Note>

## What it does

Set a NEW delivery address by its raw parts (street, city, state, zip) for merchants with NO saved addresses to choose from (e.g. Good Eggs, or DoorDash while browsing anonymously). Use this INSTEAD of buy\_set\_default\_address in that case. Confirm the address with the user, and call it BEFORE buy\_search\_products — delivery routing and item availability depend on it.

## Inputs

| Field                   | Type    | Description                                                                                                                                   |
| ----------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| `merchant` *(required)* | string  | Merchant slug, e.g. 'goodeggs'.                                                                                                               |
| `street` *(required)*   | string  | Street address, e.g. "2261 Market St".                                                                                                        |
| `city` *(required)*     | string  | City, e.g. "San Francisco".                                                                                                                   |
| `state` *(required)*    | string  | Two-letter state/province code, e.g. "CA" or "BC".                                                                                            |
| `zip` *(required)*      | string  | US ZIP or Canadian postal code, e.g. "94114" or "V3J 0T1".                                                                                    |
| `address2`              | string  | Optional apartment / suite / floor.                                                                                                           |
| `phone`                 | string  | Recipient phone number, e.g. +14155550100. Required for retail shipping merchants (their carriers demand one); delivery merchants ignore it.  |
| `name`                  | string  | Recipient full name for the shipping label. Pass it when you know it; delivery merchants ignore it.                                           |
| `can_leave_at_door`     | boolean | Whether the courier may leave the order at the door (merchant-dependent). Pass it when the user (or their saved address) states a preference. |

## Returns

None.

## Example call

```json theme={null}
{
  "tool": "buy_set_delivery_address",
  "arguments": {
    "merchant": "\u2026",
    "street": "\u2026",
    "city": "\u2026",
    "state": "\u2026",
    "zip": "\u2026"
  }
}
```
