Layout in Claude Code
Claude Code speaks MCP, so Layout works in it the same way it works in any other assistant: one command to add the connector, one sign in, and then you can order food without leaving the terminal.
Building Layout into a product?
This page connects your own Layout account, and its orders are real. To build Layout into your product, use the developer platform instead: sandbox keys, the CLI, and a guide for coding agents.
Add it
claude mcp add --transport http layout https://mcp.layout.link
That registers Layout for the current project. To have it everywhere instead:
claude mcp add --transport http -s user layout https://mcp.layout.link
There is a third scope, -s project, which writes the server into a .mcp.json your teammates share. That is fine for Layout: the file records the address, never a credential, and every person still signs in as themselves and spends from their own account.
Sign in
- Start the connection
Run
/mcpinside Claude Code and pick Layout, or runclaude mcp login layoutfrom the shell. - Approve it in the browser
A Layout page opens. Sign in with your phone, then read the one approval screen. It names the single permission the connection gets,
order, which covers ordering and your own saved food preferences. - Check it is connected
claude mcp listshows Layout with a health check.claude mcp get layoutshows the detail. - Order something
Back in the session: "order me a large cold brew from the Dutch Bros on Mangrove." Layout finds the restaurant, reads its live menu, builds the cart and comes back with a total.
This spends real money
Claude Code is a terminal, but Layout is not a sandbox. A confirmed order is a real order at a real restaurant, paid with a real card, and it is final once placed. Nothing is charged until you confirm a total Layout shows you. See confirming and paying.
What you need first
- A Layout account with a card saved, from account.layout.link. Anyone can sign up with a phone number. See your Layout account.
- Nothing else. No API key, no client id, no secret. The connector registers itself.
How the connection works
Layout is a Streamable HTTP MCP server at the root of mcp.layout.link. An unauthenticated call gets a 401 carrying a WWW-Authenticate challenge, which points at the protected resource metadata, which names the authorization server. Claude Code registers itself dynamically, runs authorization code with PKCE, and stores the token it gets back. There is no shared secret anywhere in that flow.
To see it for yourself:
curl -s https://mcp.layout.link/.well-known/oauth-protected-resource
curl -s https://api.layout.link/.well-known/oauth-authorization-server
The full picture is in how the connector works, and the tools the connection exposes are listed in tools Layout exposes.
Removing it
claude mcp logout layout # forget the credential, keep the server configured
claude mcp remove layout # remove it entirely
Removing the connector does not close your account or delete your order history. To cut it off from Layout's side as well, see revoking access.
When it will not connect
- It asks you to sign in again in a loop. The stored credential is stale. Run
claude mcp logout layout, thenclaude mcp login layout. - A build takes a few minutes. That is normal at a restaurant Layout has not ordered from before, not a hang. Layout returns a tracking link while it works, and Claude can check on the result.
Anything else: getting help, and say it was Claude Code.
Updated October 21, 2026
