get_addresses
Swiggy (Instamart/Food): Get saved delivery addresses for the authenticated Swiggy user, sorted by last order date (most recent first). This tool works for Swiggy Instamart and Food services. Addresses are returned WITHOUT coordinates (latitude/longitude) for privacy protection. Authentication is handled automatically.
📄 PAGINATION: Results are returned one page at a time (10 addresses per page). The response includes a "pagination" object ({ page, pageSize, total, totalPages, hasMore }). If hasMore is true and the user has not found the address they want, call this tool again with the next page number (e.g. page=2) to fetch more.
📍 IMPORTANT — STOP here and let the user choose:
- Show the address list to the user
- Ask: "Which address would you like to use for delivery?"
- Do NOT call any other tool until the user has selected an address
- Remember the selected addressId for all subsequent operations
- If no addresses are returned, inform the user that they need to add an address first
Example
const result = await client.callTool({
name: "get_addresses",
arguments: {
page: 0,
pageSize: 0,
},
});Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
page | number | no | Page number for pagination, 1-based (default: 1) |
pageSize | number | no | Number of addresses per page (default: 10, max: 10) |
Session credentials (user identity, access token) are supplied automatically by the authenticated MCP session - you do not pass them in the tool call. See Authenticate.
Response
All Swiggy MCP tools return:
{
"success": true,
"data": { /* tool-specific payload */ },
"message": "optional human-readable message"
}
On failure:
{
"success": false,
"error": { "message": "description of what went wrong" }
}
See Error codes for the full catalogue.
Output schema
data: {
addresses: Array<{
id: string;
addressLine: string;
phoneNumber: string;
addressCategory?: string;
addressTag?: string;
}>;
pagination: {
page: number;
pageSize: number;
total: number;
totalPages: number;
hasMore: boolean;
};
}
This schema documents the structured payload returned by get_addresses. Optional fields can vary by user state, cart state, and live Swiggy availability.
Schema notes
id: stable identifier for a saved Swiggy delivery address. Use the returned ID in cart, checkout, and payment calls instead of reusing the human-readable address text.hasMore/page/pageSize/totalPages: pagination fields. Use them only to fetch or display more results from the same query/list; do not treat page numbers as item IDs.- Fields marked optional may be omitted depending on user state, cart/order state, and live Swiggy availability.
- Use returned identifiers and enum values exactly as provided; do not invent fallback IDs, status values, payment methods, or timestamps.
Details
| Field | Value |
|---|---|
| Name | get_addresses |
| MCP Server | Food |
| Endpoint | POST mcp.swiggy.com/food |
| Stage | Discover |
| Behaviour | read-only |
Next in this journey →
Continue with search_restaurants.