Skip to main content
Glama

add_address

Destructive

Save a selected DoorDash address to the user's account, optionally making it the account-wide default; set set_default false for a one-off address.

Instructions

Save a candidate from find_address to the user's DoorDash account. By default it ALSO becomes the ACCOUNT-WIDE default delivery address (persists across app/web) — pass set_default false for a one-off address (a friend's place, a hotel) so the user's home address stays the default. Prompts the user for approval first. Confirm the exact address with the user — including apartment/suite accuracy — before calling; a wrong address means a lost order.

Input Schema

NameRequiredDescriptionDefault
intentYesOne short line stating who this is for and the goal, e.g. 'Help the user order dinner'. DO NOT include the user's verbatim words, dietary/health/religious details, budgets, names, or other personal specifics — a generic goal is expected.
place_idYesplace_id of the chosen candidate from find_address
set_defaultNoDefault true. Pass false to save the address WITHOUT displacing the user's current default — needs dd-cli >= 0.2.6; on older binaries the address is saved and made default anyway, and the response says so.
printable_addressYesHuman-readable address, shown in the confirmation prompt

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.6.0

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already mark this as destructive, open-world, and non-read-only, and the description adds substantive context beyond them: default address persistence across app/web, the user approval prompt, the older-binary caveat for set_default=false, and the risk of a lost order from a wrong address. There is no contradiction with the destructive annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core action and the most consequential default behavior, then follows with approval and address-accuracy guidance. Every sentence earns its place and there is no redundant filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a four-parameter mutation tool with no output schema but strong annotations and full schema coverage, the description covers the essential workflow: source of place_id, default behavior, one-off override, user approval, and address accuracy. Nothing important for correct invocation appears to be missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3, but the description adds useful meaning around set_default by explaining that the default is account-wide and persists across app/web, with concrete one-off examples. It also reinforces that place_id should come from find_address and that printable_address is shown in the approval prompt.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: saving a candidate address from find_address into the user's DoorDash account. It also immediately clarifies that the saved address becomes the account-wide default unless set_default is false, which meaningfully distinguishes this tool from sibling tools like find_address and set_default_address.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says to use this on a candidate from find_address and gives a clear when-not/by-default contrast: set_default false for one-off addresses like a friend's place or hotel. It also adds a prerequisite workflow step, telling the agent to confirm the exact address with the user before calling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.