ro-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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 |
|---|---|
| ro_startA | Launch OpenKore and connect to the local rAthena server. Must be called before any other tool. Returns the resulting game state, or the pending prompt if login needs an answer. |
| ro_stopB | Shut down the OpenKore session. |
| ro_stateA | Read the live game state: connection, map, character stats and position, and nearby NPCs/monsters. |
| ro_consoleA | Read recent OpenKore console output. Useful when something did not behave as expected. |
| ro_promptA | Check whether OpenKore is blocked on an interactive question (character creation, character selection, password retry). While a prompt is pending its main loop is stopped, so every other tool will time out until it is answered with ro_answer. |
| ro_answerA | Answer OpenKore's pending interactive question by writing a line to its stdin. |
| ro_create_charB | Create a character in the given slot. Only valid while OpenKore is asking for character properties — call ro_prompt first to confirm. |
| ro_select_charC | Select a character by its slot number and enter the world. |
| ro_walkC | Walk to coordinates on the current map and wait until the character arrives. |
| ro_warpC | Move to another map by name (uses OpenKore's route planner; the path must exist). |
| ro_gm_warpA | Teleport instantly to a map using the @warp GM command. Requires the account to have a GM group with @warp permission. Unlike ro_warp this needs no walkable route, which matters because some maps (the tutorial grounds, instances) have no path out. |
| ro_talk_npcB | Talk to an NPC and return its dialog text plus any menu options. Identify the NPC either by its binID from ro_state, or by map coordinates. |
| ro_menu_selectB | Choose an option from the NPC's menu, by zero-based index. |
| ro_dialog_nextC | Advance an NPC dialog that is waiting on a 'next' click. |
| ro_close_dialogB | Close the currently open NPC dialog. |
| ro_attackB | Attack a nearby monster by its binID from ro_state.nearbyMonsters. |
| ro_commandA | Escape hatch: run an arbitrary OpenKore console command. Prefer the specific tools; use this for anything they do not cover. |
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 17 tools
Most tools have clearly distinct purposes (start/stop/state/console, character creation/selection, movement, dialog steps, attack). Minor overlap exists between movement tools (ro_walk vs ro_warp vs ro_gm_warp) and dialog tools (ro_talk_npc, ro_menu_select, ro_dialog_next, ro_close_dialog), but the descriptions clarify when each is appropriate.
All tools follow the `ro_` prefix with a consistent snake_case verb_noun pattern (e.g., ro_create_char, ro_menu_select, ro_gm_warp). Variations like ro_close_dialog or ro_dialog_next still adhere to the same convention, making the naming predictable and easy to infer.
At 17 tools, the server is on the higher end but appropriate for a game automation bot that needs to cover startup, character management, movement, NPC interaction, and combat. The count feels justified given the domain, with only slight overlap (e.g., two warp tools) that could be consolidated.
The toolset covers the core lifecycle (start/stop/state), character setup, movement, NPC dialogs, and basic combat, with an escape hatch (ro_command) for anything else. Minor gaps exist (e.g., inventory or skill handling) but these are outside the apparent scope and can be addressed via the command tool.