Starbucks MCP Server
Automates ordering Starbucks coffee and food through a browser, supporting login, favorite management, custom orders, location selection, and order review before confirmation.
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., "@Starbucks MCP Server Order my usual morning coffee"
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.
Starbucks MCP Server
The first MCP server for ordering Starbucks coffee using AI! Built with Playwright automation and the Model Context Protocol.
⚠️ Important Disclaimers
UNOFFICIAL & EDUCATIONAL USE ONLY
This project is NOT affiliated with, endorsed by, or connected to Starbucks Corporation in any way
Use at your own risk - This tool may violate Starbucks Terms of Service
For educational and personal use only - Not intended for commercial use
You are financially responsible for all orders placed through this tool
No warranty - Provided "AS IS" without warranty of any kind (see LICENSE)
Your Starbucks account may be banned for using automated tools
Starbucks may request this repository be taken down at any time
FINANCIAL SAFETY:
✅ Every order requires manual confirmation - Orders are NOT automatically placed
✅ Review flow built-in - You see the order details before confirming
⚠️ Always verify order details, prices, and totals before confirming
⚠️ Monitor your account - Check your bank statements regularly
🚨 Emergency stop - Close the browser immediately if something goes wrong
By using this software, you acknowledge these risks and agree to use it responsibly.
Related MCP server: Burger King MCP Server
Features
🔐 Browser-based authentication - Log in once, order anytime
⭐ Favorite orders - Save and reorder your go-to drinks and food
🎯 Custom orders - Order any combination of drinks and food
📍 Location support - Select your pickup location
✅ Order approval - Review before placing your order
Installation
cd ~/code/starbucks-mcp-server
npm install
npm run buildConfiguration
Add to your Claude Code config (~/.claude.json):
{
"mcpServers": {
"starbucks": {
"type": "stdio",
"command": "node",
"args": ["/path/to/starbucks-mcp-server/dist/server.js"],
"env": {},
"cwd": "/path/to/starbucks-mcp-server"
}
}
}Usage
First Time Setup
# Log in to Starbucks
> login_starbucks
# Complete the login in the browser, then:
> complete_starbucks_loginOrdering
# Order a favorite
> Order my "Morning Coffee Run"
# Custom order
> Order a grande Pike Place Roast and a Bacon Gouda sandwich
# List favorites
> What are my Starbucks favorites?
# Add a new favorite
> Save a new favorite called "Afternoon Pick-Me-Up" with a venti cold brewExample Commands
"Order me a tall iced cold brew from Polk Street"
"Place my usual morning coffee order"
"What Starbucks favorites do I have saved?"
"Order breakfast - grande pike place and a breakfast sandwich"
Tools
login_starbucks- Open browser for authenticationcomplete_starbucks_login- Complete login after manual sign-incheck_starbucks_auth- Check authentication statuslist_starbucks_favorites- List saved favorite ordersorder_starbucks_favorite- Order a saved favoriteorder_starbucks_custom- Place a custom orderadd_starbucks_favorite- Save a new favoriteconfirm_starbucks_order- Confirm and place pending ordercancel_starbucks_order- Cancel pending order
How It Works
This MCP server uses Playwright to automate the Starbucks website:
Authentication: Opens a browser for you to log in manually
Session Management: Saves cookies for future orders
Order Automation: Navigates the menu, selects items, and adds to cart
Review Flow: Shows you the order before placing it
Confirmation: Places the order ONLY when you explicitly approve
Safety Features
No automatic ordering - Every order stops at the cart for your review
Explicit confirmation required - You must run
confirm_starbucks_orderto place the orderCancel anytime - Use
cancel_starbucks_orderto abort before confirmationOrder details shown - See items, prices (when available), and location before confirming
Session-based - You control when the browser opens and closes
Troubleshooting
If something goes wrong:
Close the browser window immediately
Check your Starbucks app/account for pending orders
Cancel any unwanted orders in the Starbucks app
Delete
starbucks-session.jsonto force re-authenticationUse
cancel_starbucks_orderbefore confirming to abort
Common issues:
Orders fail to add items → Website may have changed, headless mode issues
Session expired → Run
login_starbucksagainWrong location → Specify location explicitly in order commands
Requirements
Node.js 18+
Playwright (automatically installs browsers)
Active Starbucks account
Contributing
This is the first Starbucks MCP server! Contributions welcome:
Add support for customizations (milk, sweeteners, etc.)
Improve location detection
Add order history
Support for gift cards and rewards
License
MIT
Author
Dean Wenstrand
☕ Built with Claude Code and caffeine
Available Tools
10 toolsadd_starbucks_favoriteB
Save a new Starbucks favorite order
Inputs: name (required), items (required).
cancel_starbucks_orderA
Cancel a pending Starbucks order
Inputs: no named parameters.
check_starbucks_authA
Check if Starbucks session is authenticated
Inputs: no named parameters.
complete_starbucks_loginA
Complete Starbucks login after user has logged in manually in the browser
Inputs: no named parameters.
confirm_starbucks_orderA
Confirm and place a pending Starbucks order after review
Inputs: no named parameters.
list_starbucks_favoritesA
List all saved Starbucks favorite orders
Inputs: no named parameters.
login_starbucksA
Open browser for Starbucks login (first-time setup or to refresh expired session)
Inputs: no named parameters.
order_starbucks_customA
Place a custom Starbucks order with specific drinks and food. IMPORTANT: Always use get_starbucks_menu first to get exact item names before ordering.
Inputs: food, drinks, location.
order_starbucks_favoriteA
Order a saved Starbucks favorite (e.g., 'Morning Coffee Run', 'Breakfast'). IMPORTANT: If order fails due to item names not found, use get_starbucks_menu first to get exact item names.
Inputs: favoriteName (required), location.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
Each tool has a distinct purpose: auth flows, favorite management, order placement (favorite vs custom), order confirmation/cancellation, and menu lookup. No two tools overlap in a way that would confuse an agent.
All tool names follow a consistent pattern of action + 'starbucks' + target (e.g., login_starbucks, list_starbucks_favorites, order_starbucks_custom). The naming is uniform and predictable across the entire set.
10 tools is well-scoped for a Starbucks ordering and favorites management server. The count covers the essential workflows without being bloated or thin.
The toolset covers the core lifecycle: auth, menu access, placing and managing orders, and managing favorites. Minor gaps exist such as no delete/update favorite and no order history, but these are not critical for the primary ordering flow.
Maintenance
Related MCP Connectors
Playwright browser automation — navigate, click, fill forms, extract, screenshot — 17 agent tools.
Provides cloud browser automation capabilities using Stagehand and Browserbase, enabling LLMs to i…
Stealth web automation for AI agents. Login, signup, navigate, screenshot.
Stealth web automation for AI agents. Login, signup, navigate, screenshot.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables users to interact with Wingstop by finding nearby locations, browsing the menu, and managing orders. It utilizes Playwright browser automation to facilitate checkout, apply promo codes, and check Wing Club rewards status.812 npmMIT
- AlicenseAqualityDmaintenanceEnables AI assistants to search the Burger King menu, manage a cart with item customizations, and find nearby restaurant locations. It facilitates ordering for pickup or delivery using Playwright browser automation.712 npmMIT
- AlicenseNot gradedqualityDmaintenanceProvides browser automation capabilities for AI assistants, enabling web navigation, form filling, and data extraction through Playwright.MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to perform browser automation using Playwright, including navigation, content extraction, screenshot analysis, and custom script execution.520 npmMIT