Skip to main content
Glama

bowl_vs_burrito_decision_engine

Decide between a bowl or burrito based on hunger level, clothing color, risk tolerance, and meeting schedule to simplify fast casual dining choices.

Instructions

AI-powered format selection engine. Eliminates the most agonizing decision in fast casual dining.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hunger_levelYesHunger level 1-10
clothing_colorYesColor of your shirt
risk_toleranceYesYour risk tolerance
meeting_in_30_minutesYesDo you have a meeting in the next 30 minutes?

Implementation Reference

  • The tool 'bowl_vs_burrito_decision_engine' is registered and implemented in index.js, taking user preferences and returning a formatted decision based on scores.
    server.tool(
      "bowl_vs_burrito_decision_engine",
      "AI-powered format selection engine. Eliminates the most agonizing decision in fast casual dining.",
      {
        hunger_level: z.number().min(1).max(10).describe("Hunger level 1-10"),
        clothing_color: z.enum(["white", "light", "dark", "black", "no_shirt"]).describe("Color of your shirt"),
        risk_tolerance: z.enum(["low", "medium", "high", "yolo"]).describe("Your risk tolerance"),
        meeting_in_30_minutes: z.boolean().describe("Do you have a meeting in the next 30 minutes?"),
      },
      async ({ hunger_level, clothing_color, risk_tolerance, meeting_in_30_minutes }) => {
        let bowlScore = 0;
        let burritoScore = 0;
    
        // Hunger analysis
        if (hunger_level >= 8) bowlScore += 2; // more food in bowl
        else burritoScore += 1; // portable
    
        // Clothing risk
        const stainRisk = { white: 5, light: 3, dark: 1, black: 0, no_shirt: -1 }[clothing_color];
        if (stainRisk >= 3) bowlScore += 3;
        else burritoScore += 1;
    
        // Risk tolerance
        if (risk_tolerance === "low") bowlScore += 2;
        else if (risk_tolerance === "yolo") burritoScore += 3;
        else burritoScore += 1;
    
        // Meeting factor
        if (meeting_in_30_minutes) bowlScore += 4; // no burrito drip in meetings
    
        const decision = bowlScore > burritoScore ? "Bowl" : "Burrito";
        const confidence = Math.abs(bowlScore - burritoScore) / (bowlScore + burritoScore + 1);
    
        const reasons = [];
        if (stainRisk >= 3) reasons.push("High shirt stain risk detected");
        if (meeting_in_30_minutes) reasons.push("Meeting proximity requires structural stability");
        if (hunger_level >= 8) reasons.push("Extreme hunger favors bowl's superior volume");
        if (risk_tolerance === "yolo") reasons.push("YOLO mode engaged - burrito or nothing");
        if (clothing_color === "no_shirt") reasons.push("No shirt detected. Bold strategy. Burrito approved.");
        if (reasons.length === 0) reasons.push("General vibes analysis");
    
        const lines = [
          "# Bowl vs. Burrito Decision",
          "",
          "```",
          "  Format Selection Engine v2.1",
          "  ============================",
          `  Hunger:        ${hunger_level}/10`,
          `  Shirt Color:   ${clothing_color}`,
          `  Stain Risk:    ${stainRisk >= 3 ? "HIGH" : "LOW"}`,
          `  Risk Profile:  ${risk_tolerance}`,
          `  Meeting Soon:  ${meeting_in_30_minutes ? "YES" : "No"}`,
          "",
          `  Bowl Score:    ${bowlScore}`,
          `  Burrito Score: ${burritoScore}`,
          `  Confidence:    ${(confidence * 100).toFixed(0)}%`,
          "```",
          "",
          `## Decision: **${decision}**`,
          "",
          "**Reasons:**",
          ...reasons.map((r) => `- ${r}`),
          "",
          `> ${getRandomQuip()}`,
        ];
    
        return { content: [{ type: "text", text: lines.join("\n") }] };
      }
    );

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/YoshiSaurus/mcp-otle'

If you have feedback or need assistance with the MCP directory API, please join our Discord server