npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@iflow-mcp/lemonade-stand-mcp-server

v1.0.1

Published

MCP server for Lemonade Stand game

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

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.