Lemonade Stand MCP Server
A Model Context Protocol server that enables Claude Desktop to play the classic Lemonade Stand business simulation game with dynamic weather, pricing strategies, and inventory management.
README
🍋 Lemonade Stand MCP Server
A simple, working example of a Model Context Protocol (MCP) server that lets you play the classic Lemonade Stand game through Claude Desktop.
What is MCP?
Model Context Protocol (MCP) is an open standard that enables AI models like Claude to interact with external data sources and tools. This server demonstrates how MCP works by implementing the classic Lemonade Stand game as a set of tools that Claude can use.
Features
- 🌤️ Dynamic weather system affecting sales
- 💰 Business simulation with supply and demand
- 📊 Strategic pricing and inventory management
- 🏁 14-day game cycle with profit tracking
- 🎮 Fully playable through Claude Desktop
Prerequisites
- Node.js (v20.11.1 or higher recommended)
- Claude Desktop
- npm (comes with Node.js)
Quick Start
-
Clone this repository:
git clone https://github.com/yourusername/Lemonade-Stand-MCP-Server.git cd Lemonade-Stand-MCP-Server -
Install dependencies:
npm install -
Find your Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
Configure Claude Desktop:
{ "mcpServers": { "lemonade-stand": { "command": "node", "args": [ "/absolute/path/to/Lemonade-Stand-MCP-Server/server.js" ] } } } -
Restart Claude Desktop
-
You should now see a hammer icon in Claude Desktop, indicating the MCP server is connected!
Playing the Game
Once the server is connected, simply start a new chat with Claude and say:
"Play a complete game of Lemonade Stand using the MCP tools available."
Claude will then:
- Start a new game
- Analyze the weather conditions
- Make strategic decisions about supplies and pricing
- Report daily results
- Continue until Day 14 or your business fails
Game Mechanics
- Weather System: Temperature and conditions affect customer traffic
- Supply Chain: Buy cups, lemons, sugar, and ice at different prices
- Price Strategy: Set your price per cup to balance profit and demand
- Inventory Management: Ice melts daily; manage your supplies wisely
- Customer Demand: Based on weather, price, and available inventory
Available Tools
The server exposes these MCP tools to Claude:
start_game: Begin a new game sessionget_game_state: Check current status, money, inventory, and weatherbuy_supplies: Purchase cups, lemons, sugar, and iceset_price: Set the price per cup of lemonadesell_lemonade: Open for business and see daily resultsnext_day: Advance to the next day
Configuration Examples
For WSL Users
{
"mcpServers": {
"lemonade-stand": {
"command": "wsl.exe",
"args": [
"/home/username/.nvm/versions/node/v20.11.1/bin/node",
"/home/username/projects/Lemonade-Stand-MCP-Server/server.js"
]
}
}
}
Using NPX
{
"mcpServers": {
"lemonade-stand": {
"command": "npx",
"args": [
"/path/to/Lemonade-Stand-MCP-Server/server.js"
]
}
}
}
Troubleshooting
-
No hammer icon in Claude Desktop:
- Ensure Claude Desktop is up to date
- Check that the configuration file path is correct
- Verify Node.js is installed and accessible
- Check Claude Desktop logs in:
- Windows:
%APPDATA%\Claude\logs\ - macOS:
~/Library/Logs/Claude/
- Windows:
-
Server connection error:
- Verify the server path in your configuration is absolute
- Test the server directly with
node server.js - Check for any errors in the Claude Desktop logs
-
WSL-specific issues:
- Ensure Node.js is installed in WSL
- Use the full path to the Node.js binary
- Check WSL is properly installed and running
Development
To modify the server:
- Edit
server.jsto change game mechanics or add new tools - Test locally with
node server.js - Restart Claude Desktop to load changes
Project Structure
Lemonade-Stand-MCP-Server/
├── server.js # Main MCP server implementation
├── package.json # Node.js dependencies
└── README.md # This file
How It Works
This MCP server implements a simple game loop:
- The server maintains game state in memory
- Each tool represents a game action (buy, sell, etc.)
- When Claude calls a tool, the server updates the game state
- Results are returned to Claude as JSON
- Claude analyzes the results and decides the next action
This demonstrates how MCP can be used to create interactive experiences where AI models can maintain state, make decisions, and interact with complex systems.
Contributing
Feel free to open issues or submit pull requests if you have ideas for improvements or find bugs.
License
MIT
Built as an example of the Model Context Protocol in action.
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.