Skip to main content
Glama
dmang-dev

mcp-dolphin

dolphin_frame_advance

Blocks until a specified number of frames have rendered in Dolphin, enabling frame-precise TAS sequencing by waiting for the frame counter to advance.

Instructions

PURPOSE: Wait until the emulator has rendered N more frames since this call started. USAGE: TAS-style frame-precise sequencing. Typical loop: pause → set controller state → frame_advance(1) → read memory → repeat. The bridge maintains a monotonic frame counter via Felk's on_frameadvance callback; this tool reads the counter, then waits for it to reach counter+frames. The emulator must be UNPAUSED for the counter to advance — call dolphin_resume first if you've paused. BEHAVIOR: Blocks until the target frame is reached or the per-call timeout fires (15 s by default). If the emulator is paused and stays paused, this will time out. Does NOT pause/resume on its own. RETURNS: 'Advanced to frame N (waited M frames).'

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
framesYesNumber of frames to wait for (1-600 — i.e. up to 10 seconds at 60 fps). Larger values can be chained.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully explains blocking behavior, timeout, reliance on emulator state, and that it does not pause/resume. This covers all behavioral traits needed for correct invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well-organized with labeled sections (PURPOSE, USAGE, BEHAVIOR, RETURNS). Every sentence is informative, and the description is appropriately sized for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of annotations and output schema, the description covers all essential aspects: blocking, timeout, dependency on unpaused state, and return value format. No gaps remain for safe usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes the 'frames' parameter well (1-600, time equivalence). The description adds context about chaining larger values and the counter mechanics, providing incremental value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the purpose: waiting for a specified number of frames using a monotonic counter. This is distinct from all sibling tools, which read/write memory or control other aspects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides a practical usage loop (pause, set controller, frame_advance, read memory) and warns that the emulator must be unpaused, advising to call dolphin_resume first. It implicitly guides when to use (TAS sequencing) but doesn't explicitly exclude other scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/dmang-dev/mcp-dolphin'

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