Lemonade Stand MCP server

Enables playing the classic Lemonade Stand business simulation game directly within Claude Desktop through an interactive interface that manages game state and player decisions.
Back to servers
Setup instructions
Provider
Jim McQuillan
Release date
Apr 21, 2025
Language
TypeScript
Stats
6 stars

Lemonade Stand MCP Server is a simple implementation of the Model Context Protocol that allows you to play the classic Lemonade Stand game through Claude Desktop. The server creates an interactive game experience where you manage a virtual lemonade business with dynamic weather, supply chain management, and strategic pricing decisions.

Prerequisites

Installation

  1. Clone the 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 by adding the following to your config file:

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

  6. A hammer icon should now appear in Claude Desktop, indicating the MCP server is connected.

Playing the Game

Once the server is connected, start a new chat with Claude and type:

"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 provides 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

Alternative Configuration Options

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/

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

How to install this MCP server

For Claude Code

To add this MCP server to Claude Code, run this command in your terminal:

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

See the official Claude Code MCP documentation for more details.

For Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

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

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2. Add this to your configuration file:

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

3. Restart Claude Desktop for the changes to take effect

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later