Starbucks MCP Server
Enables ordering Starbucks coffee via AI assistant using Playwright browser automation, supporting login, favorites management, custom orders, and manual order confirmation for safety.
README
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.
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 build
Configuration
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_login
Ordering
# 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 brew
Example 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 order - Cancel anytime - Use
cancel_starbucks_orderto abort before confirmation - Order 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-authentication - Use
cancel_starbucks_orderbefore confirming to abort
Common issues:
- Orders fail to add items → Website may have changed, headless mode issues
- Session expired → Run
login_starbucksagain - Wrong 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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.