Public leaderboard

Public assessment

dmang-dev/mcp-bizhawk (mcp-bizhawk)

mcp-bizhawk · v0.1.0 · scanned

What changed in the harness

Selection accuracy 100%, destructive-action safety rate 0% (baseline only -- no rewrite pass applied).

Category breakdown

Where the score comes from.

Earned points across the four signals Gradable measures. Safety and Legibility are scored out of 30; Economics and Discoverability are scored out of 20.

01Safety

0.0 / 30

0.0 out of 30
02Legibility

28.7 / 30

28.7 out of 30
03Economics

13.7 / 20

13.7 out of 20
04Discoverability

8.2 / 20

8.2 out of 20

Highest-impact fix

Estimated gain +30 points

Add explicit identity and permission preflight tools

Expose machine-readable principal/tenant confirmation and a non-mutating permission check so agents can verify both before destructive actions.

Description evidence

Defects and rewrites.

0 defects found across the exposed tool descriptions. Suggested rewrites make purpose, inputs, boundaries, and returns easier for an agent to understand.

Tool Defect types Suggested rewrite
No description defects were flagged in this assessment.

Selection evidence

Confusable tool pairs.

6 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.

Tool A Tool B Confidence Why they collide
bizhawk_press_buttons bizhawk_press_buttons_multi medium A task like 'have player 1 press A while player 2 presses B on the same frame' could lead an agent to call press_buttons twice (landing on different frames) instead of the required press_buttons_multi, since both tools accept a 'buttons' map and the single-vs-simultaneous distinction is only explained in prose.
bizhawk_read16 bizhawk_read32 medium A vague task like 'read the player's score/timer at address 0x1000' doesn't specify bit width, and an agent could plausibly guess read16 vs read32 for values that could plausibly be either size.
bizhawk_read8 bizhawk_read16 medium Tasks referencing a generic 'value' or 'counter' at an address without stating byte width are common, and 8-bit vs 16-bit fields are both plausible defaults, risking selection of the wrong read width.
bizhawk_write16 bizhawk_write32 medium A task like 'set the score/timer to 9999' doesn't indicate field width, so an agent might pick write16 vs write32 incorrectly when either could represent the target value.
bizhawk_write8 bizhawk_write_range low For a task writing a short sequence of 2-3 bytes, an agent might use looped write8 calls or a single write_range call; the tools' own descriptions steer toward write_range for >1 byte but a naive agent could still pick write8 in a loop.
bizhawk_read8 bizhawk_read32 low Less likely than the 8/16 or 16/32 pairs since the size gap is larger and less commonly conflated, but an ambiguous 'read the value' task without width could still occasionally select the wrong one.

Compare the field

One score is useful.
The evidence makes it actionable.

Back to the leaderboard