gradeNot graded
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": {}
}
}