Alexa, order Barrios
Provides tools for an Amazon Alexa+ skill to order pickup from Barrios Mexican Cantina by voice, including retrieving the full menu, placing validated orders, and checking order status.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Alexa, order Barriosorder 8oz queso and 4oz guac for pickup"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Alexa, order Barrios
MCP server for the Amazon Build, Ship, Shape hackathon (Alexa+ track): "Alexa, order Barrios" lets a customer order pickup from Barrios Mexican Cantina (Oak Ridge, TN) by voice. The Alexa+ skill calls these tools; this repo is the self-hosted MCP server behind it.
What it does
Three tools:
Tool | What it does |
| Full Barrios menu with prices (in cents) |
| Validates items against the menu, computes the total, persists the order with status |
| Looks up an order by id: items, total, customer, status |
Menu data is the real menu from barriosoakridge.com (scraped 2026-10-02). Prices are integers (cents). Locked facts: queso 4oz $3.50 / 8oz $7.00 / 16oz $13.00; guac 4oz $4.00 / 8oz $8.00 / 16oz $15.00.
Related MCP server: agent-storefront
Run locally
cd ~/workspace/latch-hackathon/alexa-order-barrios
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
# start the server (stdio transport, for MCP clients)
.venv/bin/python server.pyOrders persist to ./data/orders.db (SQLite). Override with BARRIOS_DB:
BARRIOS_DB=/tmp/test.db .venv/bin/python server.pyTest each tool
End-to-end through a real MCP client over stdio:
.venv/bin/python test_client.pyThis asserts the acceptance case: 1x queso 8oz + 1x guac 4oz places an
order totaling $11.00 with status received, and get_order_status
returns it back.
With the MCP Inspector:
npx @modelcontextprotocol/inspector .venv/bin/python server.pyThen call get_menu, place_order, get_order_status from the UI.
Project layout
server.py FastMCP server, the 3 tools
menu.py menu data + lookup (source of truth: barriosoakridge.com)
orders.py SQLite layer (orders table, advance_status demo helper)
adapters/aws_lambda.py AWS boundary - NOT WIRED (see below)
test_client.py stdio end-to-end test
requirements.txt pinnedAWS-later plan
AWS is not funded yet, so this repo is local-first: no AWS SDK imports
anywhere (grep -rniE "boto3|botocore" --include="*.py" . only matches
adapters/ comments). When credits land:
Hosting - run the FastMCP server on Lambda (via Mangum) or ECS/Fargate; register its URL as the Alexa+ skill's MCP endpoint.
Bedrock - conversational layer (intent parsing, "the usual", recommendations) lives skill-side; Bedrock calls go in a new
adapters/bedrock_agent.py, never in core.Persistence - swap SQLite for DynamoDB/RDS via a new
adapters/dynamo_orders.pyimplementing the same function signatures asorders.py, selected byBARRIOS_ORDER_BACKEND.Secrets - Secrets Manager / Lambda env vars, never hardcoded.
See adapters/aws_lambda.py for the full boundary notes.
This server cannot be deployed
Maintenance
Related MCP Connectors
Order food from Cordering white-label restaurants: browse menus, confirm, then place an order.
Pickup orders at Japanese restaurants for AI agents: find stores, read menus, place orders. No auth.
- LayoutOAuthlink.layout
Order food anywhere with AI. Any restaurant, cafe or coffee shop, by name.
Run your restaurant from an AI client: orders, menu, reports, refunds, payouts and staff.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables interaction with Uber Eats for food ordering and delivery management through natural language, acting as a proof-of-concept MCP integration.-
- FlicenseNot gradedqualityDmaintenanceEnables any AI agent to discover, query, and order from a restaurant's storefront via MCP tools. It handles menu lookup, modifier validation, and enforces a mandatory confirmation gate before payment, replacing the human-operated phone line.-
- AlicenseNot gradedqualityCmaintenanceEnables ordering DoorDash via Poke over text, with tools for restaurant discovery, cart management, promo application, and order submission requiring explicit user confirmation.MIT
- FlicenseAqualityDmaintenanceAllows AI assistants to browse menus, manage carts, and place orders on Uber Eats through natural language commands.342-