Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| press_button | Press a GBA button and return a screenshot of the result. Args: button: The button to press (A, B, START, SELECT, UP, DOWN, LEFT, RIGHT, L, R) hold_frames: Number of frames to hold the button (default 10, ~167ms) |
| press_buttons | Press a sequence of buttons and return a screenshot after the last one. Useful for menu navigation like selecting options or entering text. Args: sequence: List of button presses. Each entry: {"button": "A", "hold_frames": 10, "release_frames": 5} hold_frames defaults to 10, release_frames defaults to 5. |
| get_screenshot | Capture the current game screen without pressing any buttons. |
| get_game_state | Read the full game state from RAM. Returns a summary of: player location, badges, money, party Pokemon (species, level, HP, moves), and whether a battle is active. |
| get_party | Get detailed info about all party Pokemon. Returns species, level, HP, stats, moves with PP, IVs, and friendship for each Pokemon in the party. |
| get_battle_state | Get current battle information. Returns your active Pokemon's HP and moves with PP, and the enemy Pokemon's species, level, and HP. Returns a message if not in battle. |
| save_state | Save the emulator state to a slot. Args: slot: Save slot number (1-9) |
| load_state | Load an emulator state from a slot and return a screenshot. Args: slot: Save slot number (1-9) |
| wait_frames | Wait for a number of frames without input, then screenshot. Useful for waiting through animations, text, or transitions. At ~60fps, count=60 is approximately 1 second. Args: count: Number of frames to wait (default 60) |
| hold_button | Hold a button for an extended period and return a screenshot. Different from press_button in that it's designed for longer holds like walking multiple tiles or fast-forwarding text with B held. Args: button: The button to hold frames: Number of frames to hold (default 30, ~500ms) |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |