ryubing-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| RYUBING_EXECUTABLE | No | Patched Ryubing .exe or .dll used for managed sessions | |
| RYUBING_CONTROL_HOST | No | Bridge host; loopback only | 127.0.0.1 |
| RYUBING_CONTROL_PORT | No | Bridge TCP port | 49600 |
| RYUBING_MAX_SESSIONS | No | Concurrent managed-process limit (maximum 32) | 4 |
| RYUBING_SESSION_ROOT | No | Parent directory for isolated managed profiles | |
| RYUBING_CONTROL_TOKEN | No | Shared bearer token sent with each bridge request | |
| RYUBING_PROFILE_TEMPLATE | No | Ready-to-use profile copied for every managed session | |
| RYUBING_ALLOWED_GAME_DIRS | No | Platform-delimited allowlist for base/update paths | unrestricted |
| RYUBING_CONTROL_TIMEOUT_MS | No | Per-request timeout | 10000 |
| RYUBING_SESSION_PORT_START | No | First port considered for managed bridges | 49610 |
| RYUBING_SESSION_STARTUP_TIMEOUT_MS | No | Managed bridge readiness timeout | 30000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ryubing_get_statusA | Check bridge compatibility and the currently running game. |
| ryubing_press_buttonsA | Press one or more Nintendo Switch controller buttons simultaneously, then release them after a duration. |
| ryubing_set_sticksA | Set left and/or right analog stick coordinates. Values range from -1 to 1. Omitted sticks keep their prior state. |
| ryubing_touchA | Send a tap, long press, or swipe using native Switch touchscreen coordinates (1280x720). |
| ryubing_take_screenshotA | Capture the emulator's rendered game frame without desktop window chrome. |
| ryubing_get_logsA | Read structured emulator logs. Pass the returned cursor to get only newer entries on the next call. |
| ryubing_launch_gameA | Launch a user-owned base game file, optionally applying a matching update for this session only. |
| ryubing_create_sessionA | Start a new Ryubing process with an isolated profile, bridge port, and authentication token. |
| ryubing_list_sessionsA | List the external default bridge and all managed Ryubing processes. |
| ryubing_stop_sessionA | Stop one managed Ryubing process. Its isolated profile is retained unless explicitly removed. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
Each tool targets a distinct resource or action: session management, status, game launch, input methods, screenshot, and logs. There is no overlap, and descriptions clearly distinguish between session status and active game status.
All tools use the 'ryubing_' prefix and mostly follow a verb_noun pattern (e.g., press_buttons, set_sticks, launch_game, list_sessions). The only deviation is ryubing_touch, which is a single verb, but it remains clear and does not cause confusion.
Ten tools is a well-scoped size for an emulator control server, covering session lifecycle, input, diagnostics, and game launching without redundancy. Each tool earns its place.
The tool set covers the core workflow: create session, launch game, control input, take screenshots, read logs, and stop session. Missing advanced features like save states or configuration settings are minor gaps for the apparent purpose.