Skip to main content
Glama

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 game

El 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 folder

install: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

  1. 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.

  2. Inicia Claude Code en esta carpeta. El servidor MCP se conecta en la primera llamada a una herramienta.

  3. 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_location están en casillas (se convierten internamente a unidades del mapa).

  • advance_days reanuda 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 tests
F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

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.

View all MCP Connectors

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/caseyjohnsonwv/rct2-agent'

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