← WebMCP Directory

Tool tree

sanchoi.app

Media & PersonalTools verified
Website
Sân Chơi
Explore capabilities
    list_gamesAnswer

    List all available folk games in Sân Chơi with player counts and descriptions

    View tool JSON
    {
      "name": "list_games",
      "kind": "answer",
      "impl": "imperative",
      "description": "List all available folk games in Sân Chơi with player counts and descriptions",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    start_gameAction

    Start a game by its ID

    View tool JSON
    {
      "name": "start_game",
      "kind": "act",
      "impl": "imperative",
      "description": "Start a game by its ID",
      "inputSchema": {
        "type": "object",
        "properties": {
          "game": {
            "type": "string",
            "enum": [
              "o-an-quan",
              "bau-cua",
              "water-puppet",
              "gia-ngua",
              "rong-ran",
              "son-tinh",
              "banh-chung",
              "danh-quay"
            ],
            "description": "Game ID"
          }
        },
        "required": [
          "game"
        ]
      }
    }
    set_musicAction

    Control background folk music tracks

    View tool JSON
    {
      "name": "set_music",
      "kind": "act",
      "impl": "imperative",
      "description": "Control background folk music tracks",
      "inputSchema": {
        "type": "object",
        "properties": {
          "track": {
            "type": "string",
            "enum": [
              "dan_bau",
              "festive",
              "gong",
              "silent"
            ]
          }
        },
        "required": [
          "track"
        ]
      }
    }
    save_progressAction

    Save progress and session note for the currently active game

    View tool JSON
    {
      "name": "save_progress",
      "kind": "act",
      "impl": "imperative",
      "description": "Save progress and session note for the currently active game",
      "inputSchema": {
        "type": "object",
        "properties": {
          "note": {
            "type": "string"
          }
        }
      }
    }
    o_an_quan_new_gameAction

    Resets the Ô ăn quan board to starting position. 5 small pits per side, 2 quan pits, 5 seeds per small pit, 10 seeds per quan.

    View tool JSON
    {
      "name": "o_an_quan_new_game",
      "kind": "act",
      "impl": "imperative",
      "description": "Resets the Ô ăn quan board to starting position. 5 small pits per side, 2 quan pits, 5 seeds per small pit, 10 seeds per quan.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    o_an_quan_pick_binAction

    Scoops seeds from a pit and distributes counter-clockwise. Only valid for the current player's non-empty small pits (0-4 for P1, 6-10 for P2).

    View tool JSON
    {
      "name": "o_an_quan_pick_bin",
      "kind": "act",
      "impl": "imperative",
      "description": "Scoops seeds from a pit and distributes counter-clockwise. Only valid for the current player's non-empty small pits (0-4 for P1, 6-10 for P2).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "bin": {
            "type": "number",
            "description": "Pit index (0-4 for Player 1, 6-10 for Player 2)"
          }
        },
        "required": [
          "bin"
        ]
      }
    }
    o_an_quan_stateAnswer

    Returns the current board state: pits, captured seeds, current player, and game status.

    View tool JSON
    {
      "name": "o_an_quan_state",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns the current board state: pits, captured seeds, current player, and game status.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    o_an_quan_scoreAnswer

    Returns current scores (captured seeds) for both players.

    View tool JSON
    {
      "name": "o_an_quan_score",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns current scores (captured seeds) for both players.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    bau_cua_place_betAction

    Places a bet on a symbol for the current round. Can place multiple bets on different symbols. Requires the current stake.

    View tool JSON
    {
      "name": "bau_cua_place_bet",
      "kind": "act",
      "impl": "imperative",
      "description": "Places a bet on a symbol for the current round. Can place multiple bets on different symbols. Requires the current stake.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "symbol": {
            "type": "string",
            "enum": [
              "bau",
              "cua",
              "tom",
              "ca",
              "ga",
              "huou"
            ],
            "description": "Symbol to bet on"
          },
          "points": {
            "type": "number",
            "description": "Number of points to wager (fake points, kid-safe)"
          }
        },
        "required": [
          "symbol",
          "points"
        ]
      }
    }
    bau_cua_rollAction

    Rolls 3 dice. Must have at least one bet placed. Returns the symbols that appeared.

    View tool JSON
    {
      "name": "bau_cua_roll",
      "kind": "act",
      "impl": "imperative",
      "description": "Rolls 3 dice. Must have at least one bet placed. Returns the symbols that appeared.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    bau_cua_resolveAction

    Settles all bets against the current roll. Returns winnings/losses and updates points.

    View tool JSON
    {
      "name": "bau_cua_resolve",
      "kind": "act",
      "impl": "imperative",
      "description": "Settles all bets against the current roll. Returns winnings/losses and updates points.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    bau_cua_stateAnswer

    Returns current game state: points, active bets, last roll, round number.

    View tool JSON
    {
      "name": "bau_cua_state",
      "kind": "answer",
      "impl": "imperative",
      "description": "Returns current game state: points, active bets, last roll, round number.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    water_puppet_list_talesAction

    Lists available tales to perform and their cast.

    View tool JSON
    {
      "name": "water_puppet_list_tales",
      "kind": "act",
      "impl": "imperative",
      "description": "Lists available tales to perform and their cast.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    water_puppet_start_showAction

    Starts a new puppet show for a specific tale.

    View tool JSON
    {
      "name": "water_puppet_start_show",
      "kind": "act",
      "impl": "imperative",
      "description": "Starts a new puppet show for a specific tale.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "taleId": {
            "type": "string",
            "description": "ID of the tale to perform ('coc-kien-troi', 'tam-cam', 'rong-ca')"
          }
        },
        "required": [
          "taleId"
        ]
      }
    }
    water_puppet_show_stateAnswer

    Gets current stage status, puppet positions, and applause meter.

    View tool JSON
    {
      "name": "water_puppet_show_state",
      "kind": "answer",
      "impl": "imperative",
      "description": "Gets current stage status, puppet positions, and applause meter.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    water_puppet_spawn_puppetAction

    Makes a puppet emerge from the water.

    View tool JSON
    {
      "name": "water_puppet_spawn_puppet",
      "kind": "act",
      "impl": "imperative",
      "description": "Makes a puppet emerge from the water.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "puppetId": {
            "type": "string",
            "description": "Unique identifier for the puppet"
          },
          "name": {
            "type": "string",
            "description": "Display name of the puppet"
          },
          "asset": {
            "type": "string",
            "description": "Asset name ('teu', 'dragon', 'fish', 'farmer') or any emoji (e.g. '🐸', '🌸', '👑')"
          },
          "x": {
            "type": "number",
            "description": "Horizontal position on stage (0 to 100 percentage)"
          }
        },
        "required": [
          "puppetId",
          "name",
          "asset",
          "x"
        ]
      }
    }
    water_puppet_move_puppetAction

    Moves a puppet across the stage.

    View tool JSON
    {
      "name": "water_puppet_move_puppet",
      "kind": "act",
      "impl": "imperative",
      "description": "Moves a puppet across the stage.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "puppetId": {
            "type": "string",
            "description": "ID of the puppet to move"
          },
          "targetX": {
            "type": "number",
            "description": "Target horizontal position (0 to 100 percentage)"
          }
        },
        "required": [
          "puppetId",
          "targetX"
        ]
      }
    }
    water_puppet_puppet_actionAction

    Triggers a puppet action (e.g., 'jump', 'dance', 'dive').

    View tool JSON
    {
      "name": "water_puppet_puppet_action",
      "kind": "act",
      "impl": "imperative",
      "description": "Triggers a puppet action (e.g., 'jump', 'dance', 'dive').",
      "inputSchema": {
        "type": "object",
        "properties": {
          "puppetId": {
            "type": "string",
            "description": "ID of the puppet to perform the action"
          },
          "actionType": {
            "type": "string",
            "description": "Action type: 'jump', 'dance', 'dive', 'emerge', 'splash'"
          }
        },
        "required": [
          "puppetId",
          "actionType"
        ]
      }
    }
    water_puppet_trigger_effectAction

    Triggers a stage effect (e.g., splash, rain, fireworks) and SFX. Dramatically boosts applause.

    View tool JSON
    {
      "name": "water_puppet_trigger_effect",
      "kind": "act",
      "impl": "imperative",
      "description": "Triggers a stage effect (e.g., splash, rain, fireworks) and SFX. Dramatically boosts applause.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "effectName": {
            "type": "string",
            "description": "Name of stage effect: 'splash', 'rain', 'clear', 'fireworks', 'dance'"
          }
        },
        "required": [
          "effectName"
        ]
      }
    }
    water_puppet_speakAction

    Puppet or Narrator speaks a line to the audience.

    View tool JSON
    {
      "name": "water_puppet_speak",
      "kind": "act",
      "impl": "imperative",
      "description": "Puppet or Narrator speaks a line to the audience.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "speaker": {
            "type": "string",
            "description": "Name or ID of the speaker (e.g. \"Chú Tễu\", \"Người Xướng Trò\", \"Cô Tấm\")"
          },
          "message": {
            "type": "string",
            "description": "The spoken dialogue or narration"
          }
        },
        "required": [
          "speaker",
          "message"
        ]
      }
    }
    water_puppet_finish_showAction

    Ends the show, reveals the final applause score rating, and saves progress.

    View tool JSON
    {
      "name": "water_puppet_finish_show",
      "kind": "act",
      "impl": "imperative",
      "description": "Ends the show, reveals the final applause score rating, and saves progress.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    gia_ngua_inspectAction

    Inspect the Iron Horse's current size, armor, hunger, and gear.

    View tool JSON
    {
      "name": "gia_ngua_inspect",
      "kind": "act",
      "impl": "imperative",
      "description": "Inspect the Iron Horse's current size, armor, hunger, and gear.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    gia_ngua_feedAction

    Feed the horse. "com_ca" grows it; "pizza"/"nuoc_ngot" makes it spit smoke.

    View tool JSON
    {
      "name": "gia_ngua_feed",
      "kind": "act",
      "impl": "imperative",
      "description": "Feed the horse. \"com_ca\" grows it; \"pizza\"/\"nuoc_ngot\" makes it spit smoke.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "food": {
            "type": "string",
            "enum": [
              "com_ca",
              "pizza",
              "nuoc_ngot"
            ],
            "description": "Food type: 'com_ca' (cơm cà), 'pizza', or 'nuoc_ngot' (nước ngọt)"
          }
        },
        "required": [
          "food"
        ]
      }
    }
    gia_ngua_equipAction

    Equip gear: bamboo_whip, iron_armor, iron_hat, iron_sword.

    View tool JSON
    {
      "name": "gia_ngua_equip",
      "kind": "act",
      "impl": "imperative",
      "description": "Equip gear: bamboo_whip, iron_armor, iron_hat, iron_sword.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "item": {
            "type": "string",
            "enum": [
              "bamboo_whip",
              "iron_armor",
              "iron_hat",
              "iron_sword"
            ],
            "description": "Gear item: 'bamboo_whip' (roi tre), 'iron_armor' (giáp sắt), 'iron_hat' (mũ sắt), or 'iron_sword' (kiếm sắt)"
          }
        },
        "required": [
          "item"
        ]
      }
    }
    gia_ngua_test_fireAction

    Test fire breath (clamp duration 1-10s).

    View tool JSON
    {
      "name": "gia_ngua_test_fire",
      "kind": "act",
      "impl": "imperative",
      "description": "Test fire breath (clamp duration 1-10s).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "duration_seconds": {
            "type": "number",
            "minimum": 1,
            "maximum": 10,
            "description": "Duration of fire breath in seconds (1 to 10)"
          }
        },
        "required": [
          "duration_seconds"
        ]
      }
    }
    gia_ngua_stateAnswer

    Read full JSON state.

    View tool JSON
    {
      "name": "gia_ngua_state",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read full JSON state.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    gia_ngua_resetAction

    Reset run, keeps lifetime best size.

    View tool JSON
    {
      "name": "gia_ngua_reset",
      "kind": "act",
      "impl": "imperative",
      "description": "Reset run, keeps lifetime best size.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    rong_ran_startAction

    Spawns a new dragon chain of given length and initiates the chant: "Rồng rắn lên mây..."

    View tool JSON
    {
      "name": "rong_ran_start",
      "kind": "act",
      "impl": "imperative",
      "description": "Spawns a new dragon chain of given length and initiates the chant: \"Rồng rắn lên mây...\"",
      "inputSchema": {
        "type": "object",
        "properties": {
          "length": {
            "type": "number",
            "minimum": 4,
            "maximum": 12,
            "description": "Length of dragon chain (4 to 12 kids)"
          }
        },
        "required": [
          "length"
        ]
      }
    }
    rong_ran_answerAction

    Call-and-response dialogue with the doctor ("Có không?" -> "Không?" or "Có")

    View tool JSON
    {
      "name": "rong_ran_answer",
      "kind": "act",
      "impl": "imperative",
      "description": "Call-and-response dialogue with the doctor (\"Có không?\" -> \"Không?\" or \"Có\")",
      "inputSchema": {
        "type": "object",
        "properties": {
          "answer": {
            "type": "string",
            "enum": [
              "Có",
              "Không",
              "co",
              "khong"
            ],
            "description": "Doctor answer: 'Có' (doctor is home) or 'Không' (doctor is away)"
          }
        },
        "required": [
          "answer"
        ]
      }
    }
    rong_ran_chaseAction

    Start the chase with a specific speed. Resolves deterministically based on speed vs length.

    View tool JSON
    {
      "name": "rong_ran_chase",
      "kind": "act",
      "impl": "imperative",
      "description": "Start the chase with a specific speed. Resolves deterministically based on speed vs length.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "speed": {
            "type": "string",
            "enum": [
              "cham",
              "vua",
              "nhanh"
            ],
            "description": "Chase speed: 'cham' (slow), 'vua' (medium), or 'nhanh' (fast)"
          }
        },
        "required": [
          "speed"
        ]
      }
    }
    rong_ran_stateAnswer

    Read current game state, score, chain length, phase

    View tool JSON
    {
      "name": "rong_ran_state",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read current game state, score, chain length, phase",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    rong_ran_next_roundAction

    Setup the next round. Caught kid becomes doctor. Score is rounds survived

    View tool JSON
    {
      "name": "rong_ran_next_round",
      "kind": "act",
      "impl": "imperative",
      "description": "Setup the next round. Caught kid becomes doctor. Score is rounds survived",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    son_tinh_statusAnswer

    Current water level, mountain height, threat, points, inventory.

    View tool JSON
    {
      "name": "son_tinh_status",
      "kind": "answer",
      "impl": "imperative",
      "description": "Current water level, mountain height, threat, points, inventory.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    son_tinh_deploy_defenseAction

    Spend points raising the voxel mountain. Types: dirt (cheap/low), rock (pricey/strong), magic_net (rare/multiplier).

    View tool JSON
    {
      "name": "son_tinh_deploy_defense",
      "kind": "act",
      "impl": "imperative",
      "description": "Spend points raising the voxel mountain. Types: dirt (cheap/low), rock (pricey/strong), magic_net (rare/multiplier).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "dirt",
              "rock",
              "magic_net"
            ],
            "description": "Defense type: 'dirt' (+5m, 10pts), 'rock' (+10m, 25pts), or 'magic_net' (+15m, 50pts)"
          },
          "height_increase": {
            "type": "number",
            "minimum": 1,
            "maximum": 5,
            "description": "Number of layers to build (1 to 5)"
          }
        },
        "required": [
          "type",
          "height_increase"
        ]
      }
    }
    son_tinh_summon_giftAction

    Summon wedding-gift animal buff: voi_9_nga, ga_9_cua, ngua_thep, roi_that.

    View tool JSON
    {
      "name": "son_tinh_summon_gift",
      "kind": "act",
      "impl": "imperative",
      "description": "Summon wedding-gift animal buff: voi_9_nga, ga_9_cua, ngua_thep, roi_that.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "animal": {
            "type": "string",
            "enum": [
              "voi_9_nga",
              "ga_9_cua",
              "ngua_thep",
              "roi_that"
            ],
            "description": "Wedding gift animal: 'voi_9_nga' (+15), 'ga_9_cua' (+10), 'ngua_thep' (+20), 'roi_that' (+5)"
          }
        },
        "required": [
          "animal"
        ]
      }
    }
    son_tinh_read_messagesAction

    Read Thủy Tinh's angry texts.

    View tool JSON
    {
      "name": "son_tinh_read_messages",
      "kind": "act",
      "impl": "imperative",
      "description": "Read Thủy Tinh's angry texts.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    son_tinh_end_seasonAction

    End the current flood season. Survive waves → score. Submerged → funny defeat.

    View tool JSON
    {
      "name": "son_tinh_end_season",
      "kind": "act",
      "impl": "imperative",
      "description": "End the current flood season. Survive waves → score. Submerged → funny defeat.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    son_tinh_resetAction

    Reset current flood run, keeps lifetime best waves.

    View tool JSON
    {
      "name": "son_tinh_reset",
      "kind": "act",
      "impl": "imperative",
      "description": "Reset current flood run, keeps lifetime best waves.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    banh_chung_analyzeAnswer

    Read current % of each ingredient in bounds + fill level and total mass.

    View tool JSON
    {
      "name": "banh_chung_analyze",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read current % of each ingredient in bounds + fill level and total mass.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    banh_chung_drop_ingredientAction

    Spawns physical bodies above the box. Mass clamped per call 0.1-100kg.

    View tool JSON
    {
      "name": "banh_chung_drop_ingredient",
      "kind": "act",
      "impl": "imperative",
      "description": "Spawns physical bodies above the box. Mass clamped per call 0.1-100kg.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "nep",
              "dau_xanh",
              "thit_mo"
            ],
            "description": "Ingredient type: 'nep' (gạo nếp), 'dau_xanh' (đậu xanh), or 'thit_mo' (thịt mỡ)"
          },
          "mass_kg": {
            "type": "number",
            "minimum": 0.1,
            "maximum": 100,
            "description": "Mass in kilograms to add (clamped between 0.1 and 100 kg)"
          }
        },
        "required": [
          "type",
          "mass_kg"
        ]
      }
    }
    banh_chung_fold_and_boilAction

    Evaluates current ingredients vs target ratio. Win if within 10% tolerance. Fails if overfilled.

    View tool JSON
    {
      "name": "banh_chung_fold_and_boil",
      "kind": "act",
      "impl": "imperative",
      "description": "Evaluates current ingredients vs target ratio. Win if within 10% tolerance. Fails if overfilled.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    banh_chung_resetAction

    Clears the box for a new try, keeps lifetime stats.

    View tool JSON
    {
      "name": "banh_chung_reset",
      "kind": "act",
      "impl": "imperative",
      "description": "Clears the box for a new try, keeps lifetime stats.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    danh_quay_startAction

    Spawns a new spinning top with 30 initial energy.

    View tool JSON
    {
      "name": "danh_quay_start",
      "kind": "act",
      "impl": "imperative",
      "description": "Spawns a new spinning top with 30 initial energy.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    danh_quay_whipAction

    Whip the top to add energy. Power can be nhe (+5), vua (+12), manh (+22). Manh on near-max energy causes wobble. Overwhipping >100 causes fly-off.

    View tool JSON
    {
      "name": "danh_quay_whip",
      "kind": "act",
      "impl": "imperative",
      "description": "Whip the top to add energy. Power can be nhe (+5), vua (+12), manh (+22). Manh on near-max energy causes wobble. Overwhipping >100 causes fly-off.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "power": {
            "type": "string",
            "enum": [
              "nhe",
              "vua",
              "manh"
            ],
            "description": "Whip power: 'nhe' (+5), 'vua' (+12), or 'manh' (+22)"
          }
        },
        "required": [
          "power"
        ]
      }
    }
    danh_quay_trickAction

    Perform a trick (nguoi_duc, bay_cao, qua_gam) costing 40 energy for applause points. 5 tricks in a row causes dizzy cooldown. Failing energy causes fall.

    View tool JSON
    {
      "name": "danh_quay_trick",
      "kind": "act",
      "impl": "imperative",
      "description": "Perform a trick (nguoi_duc, bay_cao, qua_gam) costing 40 energy for applause points. 5 tricks in a row causes dizzy cooldown. Failing energy causes fall.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "trick": {
            "type": "string",
            "enum": [
              "nguoi_duc",
              "bay_cao",
              "qua_gam"
            ],
            "description": "Trick type: 'nguoi_duc', 'bay_cao', or 'qua_gam'"
          }
        },
        "required": [
          "trick"
        ]
      }
    }
    danh_quay_stateAnswer

    Read current top state: energy, wobble, tricks landed, and score (seconds spun).

    View tool JSON
    {
      "name": "danh_quay_state",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read current top state: energy, wobble, tricks landed, and score (seconds spun).",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
    danh_quay_finishAction

    Stop spinning and end the game. Saves final score and longest-spin record.

    View tool JSON
    {
      "name": "danh_quay_finish",
      "kind": "act",
      "impl": "imperative",
      "description": "Stop spinning and end the game. Saves final score and longest-spin record.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }