# Toast MCP connector

Connect Toast to Elaichi and Claude, ChatGPT, Cursor, or any MCP client can read your restaurants' checks, orders, payments, menus, and payouts as the person who signed in, with every call logged.

Source: https://elaichi.ai/connectors/toast/

## Facts

| | |
| --- | --- |
| Application | Toast |
| Category | Ecommerce |
| AI tools | 117 |
| Authentication | Connects with an API key |
| Bring your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. Connected tools are never listed one by one, however few there are. The endpoint advertises `search_tools` and `execute_tool` instead |

## What you can ask once Toast is connected

- Total payments for the downtown restaurant last Friday
- Which menu items appear on the most open checks today?
- Summarize this week's payouts across all group restaurants

## Connect Toast in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Toast.
2. Optionally set Share with, then press Connect.
3. Paste a Toast API key. One person generates a token in Toast and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Toast tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Toast MCP connector for Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Toast MCP connector for ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Toast MCP connector for Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Toast to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Toast tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Toast through Elaichi

### Check on every restaurant before the huddle

Operations. Ask for last night's checks and payments across all your Toast restaurants and get one plain-language rundown before the morning meeting, without opening each location one at a time.

### Reconcile payouts against payments

Finance. Pull the payouts, payout payments, and sales dates for a week and set them next to the guest payments Toast recorded, so the numbers that go to the accountant already match.

### Compare menus across locations

Kitchen. List the menus at each restaurant, spot items and prices that drift between locations, and create a corrected price when the chef signs off.

### Find an open check fast

Front of house. Ask which checks are still open at a restaurant, or open a new check for a walk-in group, while the manager is still on the floor.

### Log labor and review shift coverage

People. Record a labor entry after a shift and list the week's labor by restaurant, so scheduling conversations start from what actually happened.

### Track metrics across the restaurant group

Leadership. List the restaurants in a group alongside their orders and payments, and record a metric for the board pack without a spreadsheet in between.

## Frequently asked questions

### How do I connect Toast to Claude?

First connect Toast in Elaichi by pasting a Toast API key. There is no OAuth application to register and no client ID or secret to generate. Then in Claude go to Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp as the endpoint. Sign in with your Elaichi account and Toast is available in your next conversation.

### Does Toast work with ChatGPT and Cursor as well as Claude?

Yes. Once Toast is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client, and the Elaichi Agent. You connect Toast once and every client picks it up.

### What can an AI agent actually do with my Toast data?

With Toast connected, an agent can list your restaurants, pull checks, orders, payments, and payouts for a location or a date range, read the menus at each site, and record new checks, labor entries, prices, payouts, and metrics on your behalf. Short, concrete asks like "payments at the downtown restaurant yesterday" work better than long paragraphs.

### Does connecting Toast give the AI access to every restaurant?

No. Every call to Toast runs inside the access of the person who signed in, so an agent can only see the restaurants and records that person can already see in Toast. Elaichi can narrow that further with roles and restrictions, and it can never widen it.

### Can my team share one Toast connection?

Yes. One manager connects Toast with the API key and shares the connection with a team in Elaichi, and nobody else on the team ever handles a credential. Each person still signs in to Elaichi as themselves, so the audit log names the person who pulled a payout report, not the shared connection.

### Can I stop an agent from deleting or changing things in Toast?

Yes. Restrictions in Elaichi work per action, so you can allow reading checks and payments while blocking anything that creates a check, a price, or a payout in Toast. A restricted action is never advertised to Claude, ChatGPT, or Cursor at all, so no prompt can reach it.

### What happens to a Toast connection when someone leaves?

Offboarding a person in Elaichi ends their access to Toast at once, in every client they used. A Toast connection they shared with the team keeps working for everyone else. If you want it gone entirely, disconnecting Toast once in Elaichi removes it from Claude, ChatGPT, Cursor, and every other client together.

### Does the Toast MCP connector work with Gemini, Codex, Claude Code or other MCP clients?

Yes. Toast is reached over the same MCP endpoint every client uses, so anything that speaks MCP can call it — Gemini, Codex, Claude Code, Windsurf, Cline, Zed and OpenCode among them — alongside Claude, ChatGPT, Cursor, and the Elaichi Agent. The tools on offer and the access behind them are identical whichever client asks. Only the setup screen differs.

## All 117 Toast tools

Every tool below is callable through https://api.elaichi.ai/mcp once Toast is connected, subject to the toolbox it is in and the restrictions on the caller.

- **Create a Toast metric** (Create). Create a Toast aggregated sales reporting data request for a custom business-date range. Returns the reportRequestGuid used to retrieve the data with the metrics list method. Requires a body with startBusinessDate and endBusinessDate.
- **List all Toast metrics** (List). Get the aggregated sales reporting data for a Toast analytics report request. Returns an id and an attributes object whose fields depend on the aggregation options used when the data request was created. Required: report_request_guid. Data is gathered asynchronously; retry until Toast finishes preparing the report.
- **List all Toast restaurants informations** (List). List the Toast restaurants in the management group associated with the API client. Returns, for each restaurant, its guid, name, and activated, test_mode, and archived status flags.
- **Create a Toast check** (Create). Create a check reporting data request in Toast for a specific time range. Returns: reportRequestGuid, the identifier used to retrieve the data. Required: time_range, startBusinessDate, endBusinessDate. Currently day is the only valid time_range value.
- **List all Toast checks** (List). Get the check reporting data for a Toast report request. Returns the CheckReportingData object with per-check reporting fields (schema-specific shape); a 202 response is returned while Toast is still gathering the data. Required: report_request_guid.
- **Create a Toast labor** (Create). Create a labor reporting data request in Toast for a specific time range. Returns: id. Required: time_range, startBusinessDate, endBusinessDate. The data is gathered asynchronously.
- **List all Toast labors** (List). Get the labor reporting data in Toast for a report request. Returns: id. Required: report_request_guid. If the data is still being gathered, retry the request later.
- **List all Toast menus** (List). List all menus configured for a Toast restaurant, such as drinks, dinner, and dessert menus. Returns each menu's guid and its menu attributes. Max 300 per page.
- **Get single Toast menu by ID** (Get). Get a single menu configured for a Toast restaurant by id (the menu's Toast POS guid). Returns the menu's guid and its menu attributes. Required: id.
- **Create a Toast payout** (Create). Create a Toast payout reporting data request organized by settled date for a specific time range (the 'payout by settled date' report). Set time_range to day, week or month, and provide startDate and endDate (YYYYMMDD) in the body, optionally limiting to restaurantIds or excluding excludedRestaurantIds. Returns the reportRequestGuid string used to retrieve the data with payouts.list. Required: time_range, startDate, endDate.
- **List all Toast payouts** (List). Retrieve the Toast payout reporting data organized by settled date for a previously created report request. Returns one row per restaurant and settled date with restaurantGuid, restaurantName, restaurantLocationName, restaurantLocationCode, settledDate, salesPeriodStartDateTime, salesPeriodEndDateTime, transactionCount, paymentAmount, refundAmount, totalFeeAmount, withholdingAmount, payoutAmount and payoutStatus. A 202 means Toast is still gathering the data; retry later. Required: report_request_guid.
- **Create a Toast payout payment** (Create). Create a Toast payout reporting data request organized by payment for a specific time range. Returns the reportRequestGuid used to retrieve the reporting data. Requires time_range (only 'day' is currently a valid value), plus startDate and endDate in the body.
- **List all Toast payout payments** (List). Get Toast payout reporting data organized by payment for a specific report request. Returns the reporting data payload (attributes) whose payment-organized fields are defined by the upstream PayoutPaymentsReportingData schema. Required: report_request_guid. While the platform is still gathering the data the request returns 202 and must be retried later.
- **Create a Toast payout sales date** (Create). Create a Toast payout reporting data request organized by sales date for a specific time range. Returns: reportRequestGuid, the identifier used to retrieve the data. Requires time_range (day, week, or month), startDate, and endDate. week covers seven days or fewer and month covers 31 days or fewer.
- **List all Toast payout sales dates** (List). Get the Toast payout reporting data organized by sales date for a reporting data request. Returns the payout reporting data organized by sales date, with fields defined by the Toast Analytics API `PayoutSalesDateReportingData` schema. Required: report_request_guid. Returns 202 with an in-progress marker while the platform is still gathering the data; retry later.
- **Create a Toast guest payment** (Create). Create a Toast guest reporting data request organized by payment for a specific time range. Returns the reportRequestGuid used to retrieve the reporting data via the list method. Required: time_range, startDate, endDate. time_range must be day (one day) or week (seven days or fewer).
- **List all Toast guest payments** (List). Get the Toast guest reporting data organized by payment for a reporting data request. Returns: data, the guest payment-card reporting data for the request. Required: report_request_guid. While the platform is still gathering the data the call returns an in-progress response - retry the request at a later time.
- **Get single Toast restaurant by ID** (Get). Get detailed configuration information for a specific Toast restaurant by id (the restaurant's Toast GUID). Returns: id. Required: id. Pass includeArchived=true to also retrieve archived restaurants, which otherwise return a 404 (defaults to false).
- **List all Toast restaurants** (List). List the Toast restaurants that your partner API client can access. Returns: id.
- **List all Toast group restaurants** (List). List the Toast restaurants that belong to a restaurant management group. Returns an array of Restaurant objects, each containing the restaurant's unique Toast platform identifier in its guid. Required: management_group_guid.
- **List all Toast payments** (List). List Toast payment identifiers for one restaurant business day. Returns an array of payment GUID strings. Requires one of paidBusinessDate, refundBusinessDate, or voidBusinessDate, each in yyyyMMdd format (e.g. 20170101).
- **Get single Toast payment by ID** (Get). Get a single Toast payment by its GUID. Returns the full Payment object including guid, amount, tipAmount, paymentStatus, paidDate, and cardType. Required: guid.
- **Create a Toast price** (Create). Calculate check prices, taxes and service charges for a Toast Order object without creating the order. Validates that all referenced items, modifiers and dining options exist. The order GUID is not set in the response because nothing is persisted; prices can change over time as restaurant configuration and schedules change. Requires the Toast-Restaurant-External-ID header (set from the connection). Required: diningOption, checks (with selections).
- **List all Toast orders** (List). Retrieve a Toast order by its GUID. Returns the full Order object including guid, entityType, businessDate, diningOption, openedDate, and nested checks with payments and item selections. Required: guid.
- **Create a Toast order** (Create). Create a new guest order in Toast. Returns the persisted Order object including generated guid, businessDate, approvalStatus, diningOption, openedDate, and nested checks with payments and item selections. Requires an Order object body describing the order's checks and item selections. Credit card payment types are not supported.
- **Get single Toast order by ID** (Get). Get a single Toast order by its GUID. Returns the full Order object including guid, entityType, businessDate, diningOption, openedDate, and nested checks with payments and item selections. Required: guid.
- **List all Toast orders bulks** (List). List Toast orders opened or modified during a period, returning full Order objects with their checks, selections, payments and discounts. Provide either businessDate (yyyyMMdd, orders promised that business day) or both startDate and endDate (ISO-8601 with fractional seconds, exclusive end, filtered on modified date). Paginated with page and pageSize (max 100). Returns: guid, externalId, openedDate, modifiedDate, promisedDate, businessDate, diningOption, checks, approvalStatus, source, voided, deleted, deliveryInfo, curbsidePickupInfo, server, table, revenueCenter, numberOfGuests.
- **Create a Toast check payment** (Create). Add one or more payments to a check on an existing Toast order. The body is a JSON array of Payment objects (type, amount, tipAmount, amountTendered, otherPayment for OTHER types). Returns the created Payment objects with guid, type, amount, tipAmount, paymentStatus, cardType, last4Digits, paidDate and refund details. Required: order_guid, check_guid, and a body array with at least one payment having type and amount.
- **Update a Toast check payment by ID** (Update). Update the tip amount of an existing payment on a Toast check. The body may contain only tipAmount; any other Payment field is rejected. Returns the full Order object including the updated payment. Required: order_guid, check_guid, id (payment GUID), tipAmount.
- **Create a Toast check selection** (Create). Add one or more menu items to an existing check in a Toast order. Returns the full order object including guid, entityType, openedDate, and its checks with the selections (item, quantity, price, displayName), payments, and applied discounts from both the original check and the newly added items. Required: order_guid and check_guid.
- **Create a Toast check applied discount** (Create). Add one or more check-level discounts to a check in an existing Toast order by posting an array of Discount objects. Returns the updated Order object including its guid and the checks that now carry the applied discount. Required: order_guid, check_guid.
- **Create a Toast selection applied discount** (Create). Add one or more item-level discounts to a menu item selection in a check of an existing Toast order. Returns the updated order object that includes the discount you added. Requires order_guid, check_guid, selection_guid, and a request body containing an array of Discount objects.
- **Toast order delivery infos bulk update** (Update). Update the delivery information of a Toast order using the DELIVERY dining option. Returns the full order JSON, including updated deliveryInfo, with fields such as guid, businessDate, openedDate, and checks. Required: order_guid plus any combination of deliveredDate, dispatchedDate, deliveryState, deliveryEmployee, notes. Once deliveryState is DELIVERED, no further updates are accepted.
- **Create a Toast order void** (Create). Void a Toast order, including its selections and payments. Returns the modified order object including its guid, checks, and payments. Only orders with OTHER payment types can be voided. Required: order_guid and a body with selections and payments each setting voidAll to true.
- **Create a Toast applicable discount** (Create). Get the discounts that apply to the checks and menu item selections in a Toast order. Returns an array of ApplicableDiscount objects, each describing one discount and which checks and menu item selections are eligible for it; when a promoCode is included in the request body, only the discounts associated with that promotional code are returned. Requires an ApplicableDiscountsRequest body with the…
- **Toast check applied loyalty infos bulk update** (Update). Update the applied loyalty information for a specific Toast check. Returns the updated Check object, including guid, displayNumber, amount, totalAmount, paymentStatus, and appliedLoyaltyInfo. Required: check_guid.
- **List all Toast metadata** (List). Get the menu last-modified timestamp for a Toast restaurant, a lightweight check to determine whether menu data has been updated before fetching the full menus payload. Returns: lastUpdated. Call the menus endpoint only when lastUpdated is more recent than your stored value, which is especially important for limited-bandwidth clients.
- **List all Toast entries** (List). List cash entries in Toast for a single business date: cash added to or removed from cash drawers and other cash storage devices. Returns CashEntry records with their id and attributes (CashEntry-specific fields). Required: businessDate (yyyymmdd).
- **List all Toast deposits** (List). List Toast deposits for a business date — cash removed from a restaurant to be deposited in a bank or other financial institution during that business day. Returns an array of Deposit records, each with its id. Required: businessDate (yyyymmdd format).
- **List all Toast connected restaurants** (List). List Toast restaurants that have connected to your integrated partner service. Returns a paginated page of PartnerAccessExternalRep restaurant records; the PaginatedResponse includes nextPageToken for fetching the next page. Use lastModified (UTC ISO 8601 timestamp) to find restaurants that granted or changed access after a given date and time. Max page size 200 (default 100).
- **List all Toast inventories** (List). List menu item inventory for a Toast restaurant. Returns inventory records for menu items at risk of going out of stock, each with guid, multiLocationId, status, and quantity (present when status is QUANTITY). Only items with OUT_OF_STOCK or QUANTITY status are returned; use status to restrict to one of those two.
- **List all Toast search inventories** (List). Search Toast inventory information for specific menu items by identifier. Returns an array of inventory records including guid, multiLocationId, status (IN_STOCK, OUT_OF_STOCK, or QUANTITY), and quantity. Requires a request body with one or both of multiLocationIds and guids.
- **Toast inventory updates bulk update** (Update). Update inventory information for a list of Toast menu items. Returns each item's updated inventory record including multiLocationId, guid, status, and quantity. Required: an array of MenuItemInventory objects, each identifying the menu item by multiLocationId or guid and carrying a status of IN_STOCK, OUT_OF_STOCK, or QUANTITY; items with status QUANTITY also require a quantity greater than 0.
- **List all Toast published packaging configs** (List). Get a Toast restaurant's published packaging configuration. Returns the PackagingConfig object as `attributes`, covering the restaurant's overall packaging preferences and the packaging item identifiers that can be included in takeout or delivery orders. A 200 is returned even when no configuration is published, in which case an empty, disabled configuration is returned.
- **List all Toast export item fulfillments** (List). Export item fulfillments from Toast for a single, specified business date. Returns an array of ItemFulfillment records including their id; returns no data when the restaurant lacks an active Toast Restaurant Management Suite Pro (or higher) subscription. Required: businessDate (YYYYMMDD format).
- **List all Toast published prep stations** (List). List all prep stations configured for a Toast restaurant — the locations of kitchen printers or KDS devices that receive orders for fulfillment. Returns prep station records with their id (Toast GUID). Optional lastModified filter returns only stations created or modified after that date-time; up to 1000 stations per response.
- **Get single Toast published prep station by ID** (Get). Get a single Toast prep station by id — a prep station is the location of a kitchen printer or KDS device that receives orders for fulfillment. Returns the prep station record with its id (Toast GUID). Required: id (the prep station GUID).
- **List all Toast device infos** (List). List device details for a Toast restaurant location, including POS terminals, handheld devices, and printers. Returns Device records with an id and an attributes object containing the device fields defined by the Toast Device schema.
- **Create a Toast authentication login** (Create). Request a Toast authentication token by exchanging your Toast API client credentials. Returns: status. Required: clientId, clientSecret, and userAccessType (must be TOAST_MACHINE_CLIENT).
- **List all Toast employees** (List). List all employees for a Toast restaurant. Returns an array of employee objects including id, email, firstName, lastName, jobReferences, wageOverrides, and deleted status. Optionally filter by employeeIds (repeatable, maximum 100).
- ...and 67 more tools. Call `tools/list` via the MCP endpoint, or see the full catalog via the API, for the complete set.
