rct2-agent
rct2-agent
Un servidor MCP + plugin para OpenRCT2 que permite a un agente gestionar tu parque en modo sidecar mientras juegas: leer el estado, actuar sobre el negocio (precios, personal, marketing, préstamos), ver el parque (capturas de pantalla) y controlar el tiempo. Solo gestión: el agente ajusta el negocio y puede recomendar construcción, pero nunca construye.
Cómo encaja
Claude Code (WSL)
│ stdio (MCP)
▼
MCP server ── dist/server.mjs, run by Windows node.exe
│ TCP 127.0.0.1:7860 (newline-delimited JSON)
▼
Plugin (intransient) ── loaded inside OpenRCT2, LISTENS on the port
│
▼
OpenRCT2 gameEl servidor se ejecuta en Windows con node.exe (no hay node en WSL), así que tanto el servidor como el plugin están en el mismo localhost de Windows — sin red WSL↔Windows de por medio. El plugin se queda a la escucha (es intransitorio, por lo que sigue activo al cargar partidas); el servidor se conecta y reconecta cuando es necesario.
Related MCP server: Roblox Executor MCP
Requisitos
OpenRCT2 0.5.4+ (motor QuickJS — necesario para Promises/ES2023).
Node.js para Windows (se encuentra en
C:\Program Files\nodejs\node.exe).
Compilación e instalación
Desde WSL, con la cadena de herramientas de Windows:
# helper wrappers (or just call node.exe / npm-cli.js directly)
NODE="/mnt/c/Program Files/nodejs/node.exe"
NPM=("$NODE" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js")
"${NPM[@]}" install
"${NPM[@]}" run build # builds dist/rct2-agent.plugin.js + dist/server.mjs
"${NPM[@]}" run install:plugin # copies the plugin into your OpenRCT2 plugin folderinstall:plugin copia a
C:\Users\casey\OneDrive\Documents\OpenRCT\plugin\archivo-rct2-agent.plugin.js
(se puede sobrescribir con RCT2_PLUGIN_DIR).
Configurar el servidor MCP
Hay una configuración de proyecto lista para usar en .mcp.json. En Claude Code, desde el directorio del proyecto, se detectará automáticamente (acéptala cuando se te pida), o añádela manualmente:
claude mcp add rct2-agent --scope project \
-- "/mnt/c/Program Files/nodejs/node.exe" \
"C:\\Users\\casey\\OneDrive\\Desktop\\dead code projects\\rct2-agent\\dist\\server.mjs"Ejecución
Inicia OpenRCT2 y carga un escenario. Confirma que el plugin se ha cargado: la consola del juego muestra
[rct-2-agent] listening on 127.0.0.1:7860.Inicia Claude Code en esta carpeta. El servidor MCP se conecta en la primera llamada a una herramienta.
Pide al agente que gestione el parque. El bucle principal es medir → actuar → esperar → medir: lee los valores iniciales, haz cambios, ejecuta
advance_days(7)y vuelve a medir.
Herramientas
Leer (ojos): get_park_summary, get_finance_report, list_rides,
get_ride, list_shops, get_guest_overview, sample_guest_thoughts,
list_staff, get_scenario
Actuar (manos): set_ride_price, set_shop_price, set_park_entry_fee,
open_ride, close_ride, set_inspection_interval,
start_marketing_campaign, set_research_funding, hire_staff, fire_staff,
set_staff_patrol, set_loan
Ver (visión): capture_view, capture_ride, find_location
Tiempo: get_clock, set_game_speed, pause, resume, advance_days
Guardar: snapshot, list_snapshots
Notas sobre el comportamiento
Dinero: en la interfaz de herramientas se expresa en dólares normales; internamente OpenRCT2 almacena décimos, convertidos en
src/shared/protocol.ts(MONEY_FACTOR). Si un valor parece desviado por 10×, ese es el único ajuste que debes comprobar.Coordenadas: en
capture_view/set_staff_patrol/find_locationestán en casillas (se convierten internamente a unidades del mapa).advance_daysreanuda la partida, corre a máxima velocidad y la pausa automáticamente al alcanzar la fecha objetivo; después devuelve el nuevo reloj. La llamada no termina hasta que finaliza.Snapshots: se guardan en
save/agent/<partida>/<etiqueta>.park. La restauración es una carga manual dentro del juego: la API del plugin puede guardar, pero no cargar, un parque.Las escrituras pasan por las acciones del juego, así que se aplican los límites del propio juego (por ejemplo, el precio máximo de las atracciones). Una acción rechazada vuelve como error de herramienta.
Desarrollo
npm run typecheck— tsc, sin emisión.node scripts/smoke.mjs— carga el plugin compilado en un juego simulado y ejercita los controladores mediante un socket real.node scripts/mcp-smoke.mjs— lanza el servidor MCP compilado y lo maneja con MCP JSON-RPC real contra un plugin falso.
Estructura del proyecto
src/shared/protocol.ts wire protocol + money conversion + method names
src/plugin/main.ts the intransient in-game plugin (TCP listener + handlers)
src/server/rct-client.ts reconnecting TCP client to the plugin
src/server/index.ts MCP server: tool definitions -> plugin methods
esbuild.mjs builds both bundles
scripts/ install + smoke testsThis server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceBridges a running OpenRCT2 game to AI agents, enabling them to read park state, optimize parks, and build roller coasters.MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to interact with a running Roblox game client to execute Lua code, inspect scripts, spy on remotes, and more.143216MIT
- AlicenseAqualityBmaintenanceEnables AI agents to execute Lua code, inspect scripts, spy on remotes, and interact with a running Roblox game client through an MCP interface.8221431MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI clients to validate and run Minecraft commands, read chat and tellraw messages, control player movement and GUI, and capture screenshots from within the game, aiding datapack debugging.1MIT
Related MCP Connectors
MCP server exposing the Backtest360 engine API as tools for AI agents.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
Machine-readable utilities and datasets for AI agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/caseyjohnsonwv/rct2-agent'
If you have feedback or need assistance with the MCP directory API, please join our Discord server