柠檬水摊游戏MCP服务器

一个简单的Model Context Protocol (MCP)服务器示例,允许通过Claude Desktop玩经典的柠檬水摊游戏。

  • by jimmcq
  • JavaScript
  • 本地部署
  • 9 星标
  • 更新于
在 GitHub 查看 jimmcq/Lemonade-Stand-MCP-Server

使用说明

🍋 柠檬水支架MCP服务器

一个简单的模型上下文协议(MCP)服务器的工作示例,允许您通过Claude Desktop玩经典的Lemonade Stand游戏。

什么是MCP?

模型上下文协议(MCP)是一个开放标准,使像Claude这样的AI模型能够与外部数据源和工具进行交互。此服务器通过将经典的Lemonade Stand游戏实现为Claude可以使用的一组工具来演示MCP的工作原理。

特性

  • 🌤️ 影响销售的动态天气系统
  • 💰 供需商业模拟
  • 📊 战略定价和库存管理
  • 🏁 14天游戏周期,利润跟踪
  • 🎮 可通过Claude Desktop完全播放

先决条件

快速开始

  1. 克隆此存储库:

    git clone https://github.com/yourusername/Lemonade-Stand-MCP-Server.git
    cd Lemonade-Stand-MCP-Server
    
  2. 安装依赖项:

    npm install
    
  3. 查找您的Claude Desktop配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 视窗: %APPDATA%\Claude\claude_desktop_config.json
  4. 配置Claude桌面:

    {
      "mcpServers": {
        "lemonade-stand": {
          "command": "node",
          "args": [
            "/absolute/path/to/Lemonade-Stand-MCP-Server/server.js"
          ]
        }
      }
    }
    
  5. 重新启动克劳德桌面

  6. 现在,您应该在Claude Desktop中看到一个锤子图标,表示MCP服务器已连接!

玩游戏

服务器连接后,只需与Claude开始新的聊天,然后说:

“使用可用的MCP工具玩完整的Lemonade Stand游戏。”

克劳德将:

  1. 开始新游戏
  2. 分析天气状况
  3. 就供应和定价做出战略决策
  4. 报告每日结果
  5. 持续到第14天,否则您的业务将失败

游戏机制

  • 天气系统:温度和条件影响客户流量
  • 供应链:以不同的价格购买杯子、柠檬、糖和冰
  • 价格策略:设定每杯的价格,以平衡利润和需求
  • 库存管理:冰每天融化;明智地管理你的物资
  • 客户需求:基于天气、价格和可用库存

可用工具

服务器将这些MCP工具暴露给Claude:

  • start_game:开始新的游戏会话
  • get_game_state:检查当前状态、资金、库存和天气
  • buy_supplies:购买杯子、柠檬、糖和冰
  • set_price设定每杯柠檬水的价格
  • sell_lemonade:营业并查看每日业绩
  • next_day:提前到第二天

配置示例

WSL用户

{
  "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"
      ]
    }
  }
}

使用NPX

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

故障排除

  1. Claude Desktop中没有锤子图标:

    • 确保Claude Desktop是最新的
    • 检查配置文件路径是否正确
    • 验证Node.js是否已安装且可访问
    • 检查克劳德桌面登录:
      • 窗户: %APPDATA%\Claude\logs\
      • macOS: ~/Library/Logs/Claude/
  2. 服务器连接错误:

    • 验证配置中的服务器路径是否为绝对路径
    • 使用直接测试服务器 node server.js
    • 检查Claude Desktop日志中是否有任何错误
  3. WSL特定问题:

    • 确保WSL中安装了Node.js
    • 使用Node.js二进制文件的完整路径
    • 检查WSL是否正确安装并运行

发展

要修改服务器,请执行以下操作:

  1. 编辑 server.js 更改游戏机制或添加新工具
  2. 本地测试 node server.js
  3. 重新启动Claude Desktop以加载更改

项目结构

Lemonade-Stand-MCP-Server/
├── server.js              # Main MCP server implementation
├── package.json           # Node.js dependencies
└── README.md             # This file

运作原理

此MCP服务器实现了一个简单的游戏循环:

  1. 服务器在内存中维护游戏状态
  2. 每个工具代表一个游戏动作(买入、卖出等)
  3. 当Claude调用工具时,服务器会更新游戏状态
  4. 结果以JSON格式返回给Claude
  5. 克劳德分析结果并决定下一步行动

这展示了MCP如何用于创建交互体验,其中AI模型可以维护状态、做出决策并与复杂系统交互。

贡献

如果您有改进的想法或发现错误,请随时打开问题或提交pull请求。

许可证

麻省理工学院


作为模型上下文协议实际应用的示例而构建。