Local services & SaaS
Faire
Orders, inventory, reorders and messages for wholesale brands.
12 endpoints
Menus, 86 list, sales, schedules and time entries for your Toast restaurant. Use it in ChatGPT, Claude or any AI agent over MCP, or in n8n, Make and scripts over REST.
10 tools Read and write
Toast has no MCP server, and its Standard API access gives a restaurant read-only credentials (checked 28 Oct 2026). Write access goes through your Toast account rep as a custom integration. Cotlet runs 10 Toast tools hosted, over MCP for agents and REST for scripts, in your own Toast Web login.
| What you need | Standard API access | Toast IQ | Cotlet |
|---|---|---|---|
| Read menus, stock, time entries, shifts | Yes, with credentials | Yes, in chat | Yes |
| 86 an item or put it back | No | Yes, after a confirm | Yes |
| Change menu hours | No | Not stated | Yes, after your OK |
| Fix a missed clock-out | No | Yes, after a confirm | Yes, after your OK |
| Create and publish shifts | No | Edits shifts | Yes, after your OK |
| Your own agent, on a schedule | A server you run | Only inside Toast | Hosted, any MCP client |
| What your Toast account needs | RMS Essentials or higher | U.S. customers | A Toast Web login |
Checked 28 Oct 2026. Sources: Toast Support: Standard API Access · Toast Developer guide: Scopes · Toast Developer guide: Standard API access scopes · Toast IQ assistant announcement (29 Oct 2025)
Use your own account in its Cotlet Cloud Browser.
Connect your agent or create a Cotlet API key.
Ask your agent or send an HTTP request.
We never keep your Toast password, and no schedule, clock-out or menu-hour change goes live until you approve it. Who can see your session
Use MCP with your AI agent, or HTTP requests in n8n, Make, Zapier and scripts. Follow the MCP setup below or jump to the REST guide.
Log in to Toast Web once. Make a Cotlet account, open Toast in its Cloud Browser, log in with a manager login and press Enable for agents.
Add the Cotlet address. Enter https://cotlet.dev/mcp/v1 where your agent lists its MCP servers or connectors.
Let the agent through. Chat apps open a Cotlet sign-in page. Code editors, n8n and scripts use an API key you make in the console.
Toast shares https://cotlet.dev/mcp/v1 with every other app on your Cotlet account. Turned Toast on after you connected? Refresh the connector so its tools appear.
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect
Claude Code:
claude mcp add --transport http cotlet-toast \
https://cotlet.dev/mcp/v1 \
--header "Authorization: Bearer $COTLET_API_KEY" Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth // ~/.cursor/mcp.json
{
"mcpServers": {
"cotlet-toast": {
"url": "https://cotlet.dev/mcp/v1",
"headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
}
}
} # ~/.codex/config.toml
[mcp_servers.cotlet-toast]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY" MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: toast_read Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: toast_write Create a Cotlet API key with access to Toast and its read operations. Store it as COTLET_API_KEY in your environment or automation platform's credential store.
Connect Toast in Cotlet and enable it for agents. Account access: Your own Toast Web account (menu editing, sales reports, labor reports and scheduling each need the matching permission or the Admin or Manager role).
curl "https://cotlet.dev/api/v1/toast/menus?location=Main+Street" \
-H "Authorization: Bearer $COTLET_API_KEY" A successful REST call puts the tool output in result. This illustrative response excerpt omits call IDs, messages and credit details.
{
"status": "success",
"app": "toast",
"tool": "list_menus",
"result": {
"location": "Main Street",
"menus": [
{
"name": "Lunch",
"availability": "Specific days and time",
"hours": [
{
"day": "Monday",
"start": "11:00",
"end": "15:00"
}
]
},
{
"name": "Dinner",
"availability": "Specific days and time",
"hours": [
{
"day": "Monday",
"start": "17:00",
"end": "22:00"
}
]
},
{
"name": "Drinks",
"availability": "All day",
"hours": []
}
]
}
} Returns each menu from Menus > Menu management > Menu manager with the days and times it is available. Availability is set per menu in Toast, never per item, group or modifier.
Any Toast Web user who can open the menus can call it.
Replace Main Street with your own location; multi-location accounts need the correct location selection.
Keep the same selection when continuing a list. Compare changed record values as well as identifiers when refreshing your destination.
| Tool | Connect through | Example workflow |
|---|---|---|
| n8n | HTTP Request | List the items of a menu with their stock status. Use list_menu_items in your configured business report. |
| Make | HTTP > Make a request | Read the Sales summary report for a date range. Use get_sales_summary in your configured business report. |
| Python or Node.js | REST API | List scheduled shifts for a date range. Use list_shifts in your configured business report. |
Send Authorization: Bearer <your Cotlet API key> in request headers. You configure the schedule, destination and record comparisons.
Cotlet reads Toast; your workflow steps write to your chosen destination. These HTTP workflows do not require a native Cotlet connector or a prebuilt template.
Python and Node.js can use the same HTTP requests without an AI agent. Keep access keys in credentials, outside shared workflow exports.
The API and MCP reference lists operations and inputs. The REST API guide explains authentication, errors and approvals.
The totals of the Sales summary report. Needs the Sales reports permission.
Returns the totals of Reports > Sales > Sales summary. Gross sales is the regular price of items and service charges, without tax or tip. Net sales is gross sales minus discounts and refunds. Toast records a sale when the check is first opened, not when it is paid. The account needs the Sales reports permission.
MCP calltoast_read → get_sales_summary
REST endpointGET https://cotlet.dev/api/v1/toast/sales-summary
| Name | Type | Description |
|---|---|---|
| from string required | string | First day, YYYY-MM-DD. |
| to string required | string | Last day, YYYY-MM-DD. |
| dining_option string | string | Only this dining option, as named in Toast Web. |
| location string | string | Location name as shown in Toast Web. |
{
"from": "from",
"to": "to"
} {
"from": "2026-10-19",
"to": "2026-10-25",
"gross_sales": 18420.5,
"discounts": 412,
"refunds": 38.5,
"net_sales": 17970,
"tips": 2104.75
} Edits sync to Toast Payroll and change what someone is paid, so the fix asks first.
Returns the rows of Reports > Labor > Time entry management with job, time in and time out. Entries Toast closed on its own carry a 4:00 a.m. clock-out and auto_clock_out true. The account needs the Labor reporting permission.
MCP calltoast_read → list_time_entries
REST endpointGET https://cotlet.dev/api/v1/toast/time-entries
| Name | Type | Description |
|---|---|---|
| from string required | string | First day, YYYY-MM-DD. |
| to string required | string | Last day, YYYY-MM-DD. |
| employee string | string | Only this employee, as named in Toast Web. |
| auto_clock_outs_only boolean | boolean | Only entries Toast clocked out automatically. |
| location string | string | Location name as shown in Toast Web. |
{
"from": "from",
"to": "to"
} {
"entries": [
{
"entry_id": "te_7f3a",
"employee": "Dana Reyes",
"job": "Server",
"time_in": "2026-10-26T16:02",
"time_out": "2026-10-27T04:00",
"auto_clock_out": true
},
{
"entry_id": "te_7f3b",
"employee": "Luis Ortega",
"job": "Line cook",
"time_in": "2026-10-26T15:30",
"time_out": "2026-10-26T23:41",
"auto_clock_out": false
}
]
} Edits the Time in and Time out fields of the entry in Time entry management. Changes sync to Toast Payroll, so they change what the employee is paid. The account needs the Edit time entries and Labor reporting permissions. It returns the entry as saved. By default you confirm each call; you can switch that off for this tool.
MCP calltoast_write → update_time_entry
REST endpointPATCH https://cotlet.dev/api/v1/toast/entries/{entry_id}/time-entry
| Name | Type | Description |
|---|---|---|
| entry_id string required | string | Id from list_time_entries. |
| time_in string | string | New clock-in, YYYY-MM-DDTHH:MM. |
| time_out string | string | New clock-out, YYYY-MM-DDTHH:MM. |
{
"entry_id": "entry_8c41d2"
} {
"entry_id": "te_7f3a",
"employee": "Dana Reyes",
"time_in": "2026-10-26T16:02",
"time_out": "2026-10-26T23:15",
"auto_clock_out": false
} Needs the Admin or Manager role. New shifts stay unpublished until you publish them.
Returns the shifts of Team > Scheduling, published or not, with the employee (empty for an open shift) and a published flag. Only admins and managers see unpublished shifts, so the account needs one of those roles. Toast Web can take up to 15 minutes to show a newly added employee.
MCP calltoast_read → list_shifts
REST endpointGET https://cotlet.dev/api/v1/toast/shifts
| Name | Type | Description |
|---|---|---|
| from string required | string | First day, YYYY-MM-DD. |
| to string required | string | Last day, YYYY-MM-DD. |
| location string | string | Location name as shown in Toast Web. |
{
"from": "from",
"to": "to"
} {
"shifts": [
{
"shift_id": "sh_2201",
"employee": "Dana Reyes",
"job": "Server",
"start": "2026-10-30T16:00",
"end": "2026-10-30T23:00",
"published": true
},
{
"shift_id": "sh_2202",
"employee": null,
"job": "Line cook",
"start": "2026-10-30T15:00",
"end": "2026-10-30T23:00",
"published": false
}
]
} Creates the shift in Team > Scheduling and needs the Admin or Manager role. With publish true, employees see it in the MyToast app, and an open shift appears on the Open shifts page where anyone can pick it up. Unpublished shifts reach no one, but a call that publishes does, so it waits for your OK. By default you confirm each call; you can switch that off for this tool.
MCP calltoast_write → create_shift
REST endpointPOST https://cotlet.dev/api/v1/toast/shifts
| Name | Type | Description |
|---|---|---|
| start string required | string | Shift start, YYYY-MM-DDTHH:MM. |
| end string required | string | Shift end, YYYY-MM-DDTHH:MM. |
| employee string | string | Employee as named in Toast Web. Without one the shift is open. |
| job string | string | Job as named in Toast Web. |
| publish boolean | boolean | true publishes now. Default false keeps the shift hidden from employees. |
| location string | string | Location name as shown in Toast Web. |
{
"start": "start",
"end": "end"
} {
"shift_id": "sh_2203",
"employee": "Dana Reyes",
"job": "Server",
"start": "2026-10-31T16:00",
"end": "2026-10-31T23:00",
"published": false
} Publishes only the shifts you pass, like Publish selected in Scheduling. Other unpublished shifts stay hidden. Employees see published shifts in the MyToast app. Editing a published shift later may not reach employees who already checked their schedule. By default you confirm each call; you can switch that off for this tool.
MCP calltoast_write → publish_shifts
REST endpointPOST https://cotlet.dev/api/v1/toast/shifts/publish
| Name | Type | Description |
|---|---|---|
| shift_ids array required | array | Shift ids from list_shifts. |
{
"shift_ids": "shift ids"
} {
"published": [
"sh_2202",
"sh_2203"
],
"still_unpublished": 0
} Your logged-in Toast Web profile, AES-256-GCM, in Finland. Not the password.
The 10 Toast tools. No cookie, no client secret.
What your Toast Web role sees: menus, reports, hours, the schedule.
Payments, refunds, payroll runs, deposits and bank details.
Toast Web asks for an MFA code now and then. You enter it, we never do.
Disable for agents, reset the browser, or change the login's password in Toast.
Toast allows a shared Toast Web login and tells you to "limit the permissions assigned to that account". Do the same here: a login with menu, reports, labor and scheduling access. Leave off the 8.X Account Admin permissions: Toast makes MFA mandatory for them, and no tool needs them. Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory (live results). We have no SOC 2 report or third-party pentest yet.
"including but not limited to the use of automated systems or software (e.g. screen scraping) to extract data from the Toast Platform or other aspects of the Services"
The clause lists uses that could "damage, disable, overburden" Toast's systems, and automated extraction is its example. The Acceptable Use Policy lets Toast "suspend, block, or terminate your access" for a breach, and it covers AI products and integrations. Cotlet makes a few calls a day in one manager's login, but Toast could still count it as automation. We found no public case of a restaurant cut off for a script or an agent (checked 28 Oct 2026).
Your managers use the same Toast Web during service. Run big jobs, like 90 new shifts, before opening or after close.
A menu change in Toast reaches the POS only after a publish, and the two menu write tools publish for you. When a Toast Web screen moves, we repair the tool and your scheduled runs keep the same prompt. status.cotlet.dev checks the site, console and API every 3 minutes.
| Action | Undo |
|---|---|
| 86 an item | Yes, set it In stock with the same tool |
| Change menu hours | Set the old hours again; guests may have seen the new ones |
| Fix a time entry | Edit it again; once payroll ran, fix the pay in Toast Payroll |
| Create an unpublished shift | Delete it in Scheduling, nobody saw it |
| Publish shifts | No, staff may have seen them in MyToast |
4 of 10 tools ask first: set_menu_availability, update_time_entry, create_shift and publish_shifts. set_item_stock runs at once, because an 86 reaches no guest by message and one call reverses it. Turn the wait off per tool for a scheduled run.
Edits to a shift after it is published may not reach staff who already checked their schedule. Fix the schedule before you publish it.
{
"name": "set_item_stock",
"arguments": {
"item": "Ribeye",
"menu": "Dinner",
"stock_status": "Out of stock",
"location": "Main Street"
}
} curl -X PUT https://cotlet.dev/api/v1/toast/item-stock \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"item":"Ribeye","menu":"Dinner","stock_status":"Out of stock","location":"Main Street"}' {
"item": "Ribeye",
"menu": "Dinner",
"stock_status": "Out of stock",
"places_updated": 2,
"published": true
} Scripts reach the same tools over REST at /api/v1/toast, with the same key and price, so a cron job can reset the 86 list before the doors open. A call your Toast Web role cannot make fails and costs nothing. The tools table lists the REST path of each tool.
About $45 a monthfor one full-service location with 24 staff, 7,820 credits. Your Toast subscription stays with Toast.
| Job | Calls | Credits |
|---|---|---|
| Reset the 86 list each morning | 6 × 30 | 1,800 |
| Look for missed clock-outs, daily | 2 × 30 | 600 |
| Fix one missed clock-out | 1 × 12 | 120 |
| Build and publish next week, 90 shifts | 92 × 4 | 3,680 |
| Sales summary against last week | 2 × 4 | 80 |
| Holiday menu hours | 2 × 2 | 40 |
| Cloud Browser, 30 days | 1,500 | |
| Total | 7,820 |
The month is our example: the average US full-service restaurant has one location and 24 staff. The schedule is most of the bill, one create_shift call per shift; a week you only tweak costs far less. Dollars at the $29 pack rate.
| Credits | Price, one time | Calls at 10 credits | Per 1,000 credits |
|---|---|---|---|
| 5,000 | $29 | 500 | $5.80 |
| 15,000 | $79 | 1,500 | $5.27 |
| 32,000 | $149 | 3,200 | $4.66 |
| 60,000 | $249 | 6,000 | $4.15 |
Only successful calls use credits; failed calls and timeouts cost nothing. At a balance of 0 calls pause, never a surprise charge. Authenticate with the Authorization: Bearer header.
| Option | What it does | Where it stops |
|---|---|---|
| prime-cost/toast-mcp | 55 read-only tools for orders, sales, labor, menus and cash, built by a restaurant owner, with a one-click Railway deploy. | Reads only. Needs Standard API credentials and a host you pay for; no license, 2 stars, last commit 8 Oct 2026. |
| BusyBee3333/toast-mcp-2026-complete | The most starred one (16): 8 read-only tools with a demo mode; its old write tools moved to a legacy folder. | The README says live Toast behavior is not verified by the maintainer. Last commit 28 Aug 2026. |
| NoBanks/toast-mcp and similar | Small servers, some with stock or order writes switched off by default. | The writes need partner scopes a restaurant cannot create for itself. |
| Velocity-BPA/n8n-nodes-toast | n8n community node on the official API. | Business Source License: a for-profit restaurant needs a paid license. Writes need the same scopes. |
| Make community app | Toast modules maintained by MAXMEL Tech, not by Make. | Built on the same API and its read-only tier. |
For reports on your own hardware, a GitHub server on Standard API access is a fair pick and costs only the host. For changes from inside Toast, Toast IQ is already in your back office. Cotlet is for an agent you choose that changes the menu and the schedule on a timer, without API credentials.
Take Group sp. z o.o. runs Cotlet: a software company registered in Poland, EU (VAT PL6342984273), working since 2019 and founded by Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Questions about the Toast tools go to contact@cotlet.dev.
Create a free account at https://cotlet.dev, open Toast under Integrations in the console and log in to Toast Web in its Cloud Browser. The trial starts with your first app and asks for no card.
Sign up at cotlet.dev, log in to Toast once in its Cloud Browser and add Cotlet to ChatGPT or Claude, following the steps in your console. No API key is needed. ChatGPT and Claude then work in your Toast account through Cotlet, in their phone apps too.
With Cotlet, ChatGPT, Claude and other AI agents handle jobs like these in Toast: reset the 86 list every morning; weekly sales summary report; build and publish next week\. You ask in plain words, and anything that reaches other people waits for your OK first.
The same permissions the job needs in Toast Web. 86ing needs menu editing access. The Sales summary needs the Sales reports permission. Time entry changes need Edit time entries and Labor reporting. Scheduling needs the Admin or Manager role. A call without the permission fails. You do not need the read-only API credentials or an RMS plan for Cotlet.
No. Tools work on one location per call, named in location. In Toast, 86ing with advanced properties on a multi-location account changes only the location you are viewing, and Cotlet follows that rule.
Toast's API sends webhooks to clients with Standard API access, but Cotlet does not receive them. To react to a missed clock-out or an 86, run your agent on a schedule, for example a daily list_time_entries with auto_clock_outs_only.
No. None of the tools touches payments, refunds, voids, deposits or payroll runs. A fixed time entry does reach Toast Payroll as hours, which is why update_time_entry waits for your OK.
Only the way in. Both carry the same 10 tools, inputs and answers, with one API key and one price. Agents use MCP; scripts, cron jobs and HTTP steps use REST.
No. Cotlet is independent and not affiliated with Toast, Inc.
Yes. Call Cotlet's REST API from a script or an HTTP step in n8n, Make or Zapier with your Cotlet key. MCP is the alternative for AI agents; you do not need to connect an agent to use REST.
Free 7-day trial with 2,000 credits, no card needed.
May we use Google Analytics to see which pages help people? It sets cookies only if you accept. No ads, and we never sell data. Cookie policy