๐Ÿ‹ Lemonade Stand MCP Server

by jimmcq

7 stars
344 downloads
Not rated
GitHub

About

A simple, working example of a Model Context Protocol (MCP) server that lets you play the classic Lemonade Stand game through Claude Desktop.

Details

Author
jimmcq
GitHub stars
7
Downloads
344
Categories
Other

- 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

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name ๐Ÿ‹ Lemonade Stand MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Clone the repository, install dependencies with npm install, and configure Claude Desktop by adding a JSON entry in claude_desktop_config.json pointing to server.js. After restarting Claude, start a new chat and ask it to "Play a complete game of Lemonade Stand using the MCP tools available."

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "\ud83c\udf4b lemonade stand mcp server": {
            "lemonade-stand": {
                "command": "node",
                "args": [
                    "/absolute/path/to/Lemonade-Stand-MCP-Server/server.js"
                ]
            }
        }
    }
}

McpServers

{
    "lemonade-stand": {
        "command": "node",
        "args": [
            "/absolute/path/to/Lemonade-Stand-MCP-Server/server.js"
        ]
    }
}

๐Ÿ‹ 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

1. Clone this repository:

   git clone https://github.com/yourusername/Lemonade-Stand-MCP-Server.git
cd Lemonade-Stand-MCP-Server

2. Install dependencies:

   npm install

3. Find your Claude Desktop configuration file:
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
- Windows: %APPDATA%\Claude\claude_desktop_config.json

4. Configure Claude Desktop:

   {
"mcpServers": {
"lemonade-stand": {
"command": "node",
"args": [
"/absolute/path/to/Lemonade-Stand-MCP-Server/server.js"
]
}
}
}

5. Restart Claude Desktop

6. 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:
1. Start a new game
2. Analyze the weather conditions
3. Make strategic decisions about supplies and pricing
4. Report daily results
5. 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 session
- get_game_state: Check current status, money, inventory, and weather
- buy_supplies: Purchase cups, lemons, sugar, and ice
- set_price: Set the price per cup of lemonade
- sell_lemonade: Open for business and see daily results
- next_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

1. 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/

2. 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

3. 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:

1. Edit server.js to change game mechanics or add new tools
2. Test locally with node server.js
3. 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:

1. The server maintains game state in memory
2. Each tool represents a game action (buy, sell, etc.)
3. When Claude calls a tool, the server updates the game state
4. Results are returned to Claude as JSON
5. 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.

No reviews yet โ€” be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.