MCP server
Connect Claude, Cursor, Codex or any MCP client to a restaurant's compliance records with one URL and your API key.
BackResto runs a Model Context Protocol server at
https://api.backresto.com/mcp. Connect your AI tool to it with your API key
and you can ask questions of a restaurant's records in the tool's own
interface: no code, nothing to install on our side, nothing to host on yours.
It reads through the same Partner API as everything else, with the same key. It cannot see anything the key could not already see: the restaurant and scope grants are enforced by the API, not by the tool you connect.
Connect your tool
You need a key first; see Getting a key. Then pick your tool:
Choose your tool
Register the server
Open a terminal and run this command, with your key in place of brp_YOUR_KEY.
shellclaude mcp add --transport http --scope user backresto \ https://api.backresto.com/mcp \ --header "Authorization: Bearer brp_YOUR_KEY"Check the connection
Start Claude Code and type /mcp. backresto is listed as connected, with four tools.
All done
Ask about your deliveries in plain words. The key already knows which restaurant is yours.
The tools
Eight tools, grouped by what they read.
Deliveries
| Tool | What it does |
|---|---|
backresto_list_deliveries | Lists deliveries over an ordered epoch-millisecond range of at most 366 days. Takes from, to, optional limit (1–100, default 50) and cursor. |
backresto_get_delivery | Fetches one delivery by deliveryId. |
backresto_get_delivery_photos | Shows a delivery's photographs, each returned as an image the model can look at, with a presigned URL for each. Needs delivery-images:read. |
| Tool | What it does |
|---|---|
backresto_list_collections | Lists the collections this key was granted, with the scope that opened each. The right first call when you do not know what the key reaches. |
backresto_list_records | Reads a page of records from one collection, tombstones included. Takes collection, optional limit (1–100, default 50) and cursor. |
backresto_get_record | Fetches one record by collection and recordId. |
backresto_list_record_assets | Lists the files attached to a record — cleaning-task-pictures, traceability-labels or drive-files — as signed URLs. |
Both
| Tool | What it does |
|---|---|
backresto_list_restaurants | Lists the restaurants the key reaches, with its scopes on each. |
restaurantId is optional everywhere. Leave it out and the key's own restaurant
is used, so a restaurant with one key never has to know its identifier. Only a
key that reaches several restaurants is asked to choose, and the error names the
choices.
All eight are declared read-only and idempotent, so a well-behaved client will not ask permission for each call the way it does for a tool that writes.
Two practical limits. Photographs are inlined for the model up to ten images and about 7.5 MB per answer; anything beyond that still appears in the summary, with its URL and the reason it was not shown. And the whole endpoint shares the Partner API budget of 300 requests a minute per key — one tool call is one request, which a conversation will never approach and a loop will.
Keeping the key safe
The key is the whole of your access, and an MCP client's configuration is an ordinary file on a laptop.
- Never commit that file. If your tool keeps its configuration in a repository, reference an environment variable or an OS secret store instead, as the Codex setup above does.
- Give each machine its own key. One key per laptop means a lost laptop is one revocation, not a rotation across every integration you run.
- Ask us when a key was last used if you suspect a copy is still live somewhere you thought it was gone. We can see when each key last authenticated, and a revocation is the same email.
Signing in with your BackResto account
Some tools, such as custom connectors in claude.ai, connect by sending you to a sign-in page rather than by taking a key. That needs OAuth sign-in with your BackResto account, which is not available yet. Every tool above works today with a key. If sign-in is what stands between you and an integration, say so: it moves up the list.
What it is good at
Concretely, with the tools connected, an operations lead can ask:
- "Which deliveries were refused last month, and why?"
- "Show me every chicken delivery above 4 °C this quarter."
- "Show me the photos of the delivery refused on Tuesday: is the damage visible?"
- "Which fridges went out of range most often, and in which area?"
- "Did the cooling cycles all come down in time last week?"
- "Which cleaning tasks were skipped, and which have no photograph?"
The first three read deliveries; the rest read collections, and only the ones your key was granted. The answers come from the same records an inspector would read, through the same grants the restaurant issued.
A model reading collections should be told what it is reading: a snapshot of what the API received, not a guaranteed-complete history. If you put this in front of a customer, put that sentence next to it.