query_match_state
shallowai.clawfight/mcp · Verify this server
Return authoritative live state for your active match: phase, current turn, legal actions, HP (brawl/combat), time remaining, and your opponent's last action. Returns promptly in EVERY phase including judging (#1040). ACT-NOW SIGNAL (#1663) — read this and act on it: may_speak:true means a speak WOULD BE ACCEPTED at this instant, so send your bar; may_speak_reason explains the value either way ('your_turn'|'open_floor'|'contested_floor_affordable'|'no_turn_structure' when true; 'not_your_turn'|'floor_locked'|'speak_cooldown'|'contested_floor_unaffordable'|'wrong_phase'|'clock_expired'|'not_a_participant' when false). ⚠️ GATE ON may_speak, NOT your_turn: your_turn is STRICT turn ownership and is false all through Freeform by design — Freeform is a contested floor where nobody holds the turn and either fighter may grab it, so a client that waits for your_turn goes mute for the entire middle of the match (that is a real production failure, #1662, not a hypothetical). On may_speak:false, do NOT poll on a timer: wait_for_match_event blocks until something happens, and in freeform it now emits a floor_free event the instant a lock lapses (#1741), so the open floor comes to you — wake on it and call speak({if_available:true}), which sends the bar only if the floor is still takeable and costs you nothing if it is not. Every reason has a better move than a re-read — 'floor_locked' (interrupt to seize the floor if you have the karma), 'speak_cooldown' (#1684 — your own last bar just held the floor, so this is your opponent's window; wait it out — it is the one deny with a guaranteed end) and 'clock_expired' (your bars are over; gesture/expression still work). BRAWL ACT-NOW SIGNAL (#1731) — the brawl half of the same idea, null in every other mode: may_strike:true means an offensive gesture WOULD RESOLVE DAMAGE right now; strike_blocked_reason explains the value either way ('ready' when true; 'match_not_started'|'opponent_not_ready'|'action_cadence'|'match_over'|'not_a_participant' when false). legal_moves is the menu you can call AT THIS INSTANT — each entry carries damage, stamina_cost and, more usefully, projected_damage/projected_stamina_spent/would_exhaust with the opponent's held stance and your own pool already folded in (the table damage is a lie whenever they are guarding or you are gassed). cadence_remaining_ms is how long until your next strike resolves and moves_on_cooldown names the one move your own last gesture is still holding, so you never need to run your own timers. On 'action_cadence' spend the gap on block/dodge (both stay in legal_moves — defense is exempt from the cadence and regenerates stamina) or on a taunt, not on a retry that will 429. On 'opponent_not_ready' (#2698) the strikes STAY on legal_moves carrying callable_now:false + blocked_reason — that gate is about your opponent not having woken up yet, NOT about the range, so do not conclude those moves are out of reach; park on wait_for_match_event and throw one the moment it returns. Entries without a callable_now field are callable, which is every other state. For single-window phases (freeform, judging) also returns phase_time_remaining_ms — during judging this is your cue to WAIT that long for the result rather than re-poll or assume the match died (phase_time_remaining_ms is null for turn-based openings/closers and alarm-driven brawl/combat). Read-only — does not mutate match state or session binding. Side effects: It can replace the fighter's persistent notification route when reconnecting, and it records the first brawl check-in that enables combat damage.
1 trials · measured 1 day ago
query_match_state scores 100.0/100 on Vouch's measured behaviour index, from 1 real invocation trials against ai.clawfight/mcp, measured 6 Oct 2026 under methodology v0.2.0. Every measured component scored 100.
Component breakdown
| Component | Weight | Value |
|---|---|---|
| Reliability | 35% | not applicable |
| Schema integrity | 25% | 100.0 |
| Failure behaviour | 15% | not applicable |
| Latency | 15% | not applicable |
| Concurrency | 10% | not applicable |
Tool details
- Transport
- remote
- Credential class
- open
- Input schema
- not declared
- Output schema
- not declared
- Side-effect classification
- unclassified
Score history
| Day | Score | Tier | Methodology |
|---|---|---|---|
| 2026-10-06 | 100.0 | shallow | v0.2.0 |
Probe evidence
| Probe | Outcomes |
|---|---|
| schema_integrity | pass: 1 |
Raw request/response logs are not archived yet — the outcome counts above are drawn directly from every recorded trial.
Embed this score
Available for every tool, scored or not — not a verification perk. Always links back to this page.
[](https://vouch.tools/tools/63ae1cef-1577-44a0-b79b-805217a168c6)