Main Street MCP
Enables local businesses to expose menus, hours, order placement/status, and appointment booking capabilities as tools callable by Amazon Alexa+ for voice interactions.
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., "@Main Street MCPorder a large margherita and two garlic knots 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.
Main Street MCP
Put any local business on Alexa+ in five minutes, with one JSON file.
Big brands are building Alexa+ experiences. The corner pizzeria, the barbershop and the family clinic can't afford to, so voice assistants send their customers to the chains. Main Street MCP is an open-source, self-hosted MCP server (spec 2025-11-25, Streamable HTTP). It turns a business's menu, hours and booking rules into tools Alexa+ can call.
"Alexa, order a large margherita and two garlic knots from Tony's for pickup." → "That's 1 Margherita Pizza (Large), 2 Garlic Knots for Renu, $31.00, ready at 7:20. Should I place it?" → "Yes." → The order appears on Tony's live order board.
Features
Tool | What it does |
| Address, phone, hours, and whether the business is open right now |
| Search by keyword such as "vegan", "large margherita" or "dessert" |
| Pickup order in two steps: first a quote, then confirm |
| Status shown live from the owner's board |
| Table, haircut or appointment slots, with capacity limits |
Built for voice:
Every result includes a short
speechline the assistant reads aloud as written.Orders and bookings always ask the customer to confirm first, so a misheard request never turns into a real order.
If a request is ambiguous ("margherita" when there's a large and a small), the server returns a question for the customer instead of guessing.
Order IDs are short and easy to say ("A-M-X-T"), with no letters that sound alike.
Tool annotations (
readOnlyHint,destructiveHint) tell the assistant which actions are safe.
Works for any business: Restaurants use the menu and orders. Barbers, salons and clinics use appointments. See config/barbershop.example.json. Tools register automatically based on what the config enables.
Related MCP server: VoiceCart
Voice demo (simulated Alexa+)
Open http://localhost:3000/voice, tap the mic (Chrome, Edge or Safari) or type, and talk to Tony's. The right-hand panel shows every MCP tool call the assistant makes. Open /dashboard next to it and orders appear live.
The assistant connects to this server as an MCP client over Streamable HTTP, the same way Alexa+ does. It has two brains:
Mode | How to enable | What it does |
Demo (default) | nothing | Built-in intent parser for hours, menu, orders, "which size?" follow-ups, confirmations and bookings. Needs no cloud account. |
Amazon Bedrock |
| Bedrock Converse API with tool use. Tools are discovered from the MCP server ( |
cp .env.example .env # add your AWS keys (.env is git-ignored)
npm run start:bedrockQuick start
npm install
npm start # MCP at /mcp · dashboard at /dashboard · voice demo at /voice
npm run smoke # end-to-end test using the official MCP clientUse your own business:
BUSINESS_CONFIG=config/barbershop.example.json npm startEnv var | Purpose |
| Default 3000 |
| Path to the business JSON |
| Where orders and bookings are stored (default |
| If set, |
| If set, the dashboard needs |
Architecture
Voice web app (/voice) ──▶ /api/assistant ──(MCP client)──┐
Alexa+ / any MCP client ──Streamable HTTP──────────────────▶ /mcp (McpServer, one per session)
│
tools.js (voice-first rules)
│
business.js (hours, menu matching, slots)
│
store.js ──change events──▶ /api/events (SSE) ──▶ Owner dashboardRoadmap
Simulated Alexa+ voice web app (demo brain + Amazon Bedrock Converse tool use)
Deploy to AWS (AgentCore Runtime or Lambda) with DynamoDB storage
Google Sheet as the menu source, so owners edit a spreadsheet instead of JSON
Square/Toast connectors and SMS "order ready" notifications
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
- FALAOAuthai.elav8.fala
Build and install a voice + chat AI receptionist for any business website.
Build, deploy, and sell AI agents for local-service businesses - from your IDE.
Verified local businesses, bookable by AI agents: services, prices, availability and appointments.
The Mayor — AI front desk for local businesses: bookings, missed calls, and customer follow-up.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI assistants to find, book, and cancel salon appointments via SalonRunner accounts. Self-hosted for local or remote use.628 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables voice-driven shopping over Streamable HTTP, letting users browse products, hear descriptions, manage a persistent cart, and place confirmed cash-on-delivery orders without a screen.MIT
- AlicenseAqualityAmaintenanceEnables small-business AI assistants to answer customer questions about hours, offerings, FAQs, staff, and booking from a single business.yaml config, with industry-specific tools and guardrails.2175 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables Alexa+ to run a small business by voice, with tools to open and move orders, add parts or labor, check and reorder stock, take payment, and get daily summaries, all generated from per-business YAML profiles.21,645 npmMIT