Skip to main content
Glama
mishan

ac-race-engineer

by mishan

ac-race-engineer

Servidor MCP que convierte a Claude en un ingeniero de carrera para el Assetto Corsa original. Lee la telemetría de memoria compartida de AC, almacena vueltas en SQLite, las reduce a resúmenes de nivel de ingeniero, y puede leer/escribir archivos de configuración que aparecen directamente en el menú de configuración del juego.

Se ejecuta en la máquina Windows que ejecuta Assetto Corsa. Solo AC original (usa el layout de memoria compartida acpmf_*, no el de ACC).

Instalación (Windows — la manera fácil)

Requisito previo: Python 3.10+ desde python.org. En la primera pantalla del instalador marca "Add python.exe to PATH". No uses la compilación de Microsoft Store — su espacio aislado rompe el acceso a la memoria compartida.

Luego, en esta carpeta: haz clic derecho en install-windows.bat → Abrir (o simplemente haz doble clic en él).

Eso es todo. El instalador encuentra Python, instala el paquete, escribe la configuración de Claude Desktop (fusionándola con cualquier servidor MCP que ya tengas, y haciendo una copia de seguridad primero), localiza tu instalación de Assetto Corsa y copia la aplicación Lua del juego en su lugar. Vuelve a ejecutarlo en cualquier momento después de un git pull; se actualiza en el sitio.

Si no puede encontrar Assetto Corsa, indícale dónde buscarlo. Las banderas van en el .bat, no en el .ps1 — Windows bloquea la ejecución directa de archivos .ps1 bajo la política de ejecución predeterminada, y el .bat existe precisamente para solucionar eso:

install-windows.bat -AcPath "D:\Games\steamapps\common\assettocorsa"

Otras banderas: -SkipLuaApp, -Uninstall.

Después de instalar, cierra completamente Claude Desktop y vuélvelo a abrir. Cerrar la ventana no es suficiente — haz clic derecho en el icono de Claude en la bandeja del sistema (abajo a la derecha, posiblemente oculto bajo la flecha ^) y elige Salir.

Related MCP server: fastf1-mcp-server

Instalación (manual)

python -m pip install -e .

Luego añade el servidor a claude_desktop_config.json. La forma más rápida de abrir ese archivo es Claude Desktop → Configuración → Desarrollador → Editar Config, que lo crea si falta y abre la carpeta contenedora — sin necesidad de arqueología del sistema de archivos.

%APPDATA% es una variable de entorno, no una ruta literal. Se expande a C:\Users\<tu_usuario>\AppData\Roaming — y AppData es una carpeta oculta, por lo que navegar hasta ella en el Explorador no muestra nada a menos que actives Ver → Elementos ocultos.

El problema más grande: %VAR% es sintaxis de cmd.exe. Windows Terminal usa PowerShell por defecto, donde la misma variable se escribe $env:VAR. Así que:

Dónde

Qué escribir

PowerShell / Windows Terminal

notepad $env:APPDATA\Claude\claude_desktop_config.json

cmd.exe

notepad %APPDATA%\Claude\claude_desktop_config.json

Barra de direcciones de Explorer

%APPDATA%\Claude (Explorer también lo expande)

Win+R (diálogo Ejecutar)

%APPDATA%\Claude

Para abrir la carpeta en lugarr del archivo, usa explorer $env:APPData\Claude en PowerShell.

{
  "mcpServers": {
    "ac-race-engineer": {
      "command": "C:\\Users\\<you>\\AppData\\Local\\Programs\\Python\\Python312\\python.exe",
      "args": ["-m", "ac_race_engineer.server"]
    }
  }
}

Usa la ruta absoluta a python.exe, no solo "python". Claude Desktop inicia los servidores MCP sin el PATH de tu shell, por lo que un comando simple falla frecuentemente en silencio. Obten la ruta correcta con:

py -c "import sys; print(sys.executable)"

No uses (Get-Command python).Source — en Windows estándar eso a menudo devuelve ...\WindowsApps\python.exe, el alias stub de Microsoft Store, que es la respuesta incorrecta. Recuerda qu eJSON necesita las barras invertidas duplicadas (\\).

(Si usas Claude Code en su lugar: claude mcp add ac-race-engineer -- python -m ac_race_engineer.server)

Anulaciones opcionales del entorno:

  • AC_DOCS_DIR — carpeta de document osde AC (por defecto ~/Documnts/Asetto Corsa)

  • AC_ENGINER_DAA — ubicación de la BD + rangos (por defecto ~/.ac-race-engineer)

  • AC_ENGINEER_BRIDGE_PORT — puerto del puente de la aplicación en el juego (por defecto 9666)

Solución de problemas

Claude no lista las herramientas. Confirma que cerraste y reabriste completamente Claude Desktop (icono de la bandeja → Salir). Luego le e el log del servidor:

notepad $env:APPDATA\Claude\logs\mcp-server-ac-race-engineer.log

Escribir python abr e la Tienda Microsoft (o dice "no reconocido"). Windows incluye un alias de ejecución de aplicación en %LOCALAPPDTA%\Microsoft\WindowsApps\python.exe que secuestra el nombre cuando no hay Python real en PATH. Instala Python desde python.org con "Add python.exe to PATH" marcado, o usa el lanzador py (py -3 -m pip install -e .) — el instalador de python.org configura eso por defecto. También puedes matar el stub en Configuración → Aplicaciones → Configuración avanzada de aplicaciones → Alias de ejecución de aplicaciones.

El instalador ya ignora todo lo que está bajo WindowsApps, así que esto solo te afecta en una instalación manual.

**.ps1 no se puede cargar porque la ejecución de scripts está deshabilitada.**Esa es la política de ejecución. Usa install-windows.bat en su lugar — elude la política para ese script en particular sin cambar ninguna configuración del sistema.

Los valores de configuración no se mantienen en el juego. Estás escribiendo fuera del rango legal del coche y AC los está ignorando en silencio — consulta la siguiente seción.

El ciclo de puesta a punto

  1. Inicia AC, sal a la pista.

  2. Dile a Claude: "empieza a grabar y confirma que puedes ver la sesión" (start_recording, live_snapshot). a. Conduce 3–5 vueltas. Las vueltas se almancen automáticamente al completarse; las excursiones fuea de pista (>2 neumáticos fuea) maran una vuelt como inválida.4. "Resume mi última vuelt y lee mi configuración actual" (list_laps, lap_sumary, read_setup). El resumen inclu ye por cada curva velocidad mínima, puntos de frenado, presiones/temperaturas de neumáticos, y una métrica de balance de derape (positivo = subviracón, negativ = sobrviracón).5. Discute lo que está haciendo el coche; Claude escrib una configuración revisada con write_setup (por ejemp lo, como claude_v1).6. Entra en boxes, carga claude_l desde la pantalla de configuración, vuele a conducir.7. "Compara mi mejor vuelt con la nueva configuración contra la vuelt N" (compare_laps) — los deltas de velocidad mínima y punto de frenado por curva muestran si el cambio realmente funcionó.

Limitación de valores de configuración (recomendado)

AC ignora en silencio los valores de configuración fuera de los rangos definidos en el setup.ini del coche (dentro de data.acd). Para permitir que el servidor limite y ajuste los valores al mínimo/máximo/paso legal de cada coche:

  1. En Content Manager: página del coche → descomprimir datos (o usa QuickBMS).

  2. Copia el setup.ini del coche en la carpeta de rangos, nombrado según el nombre de la carpeta del coche — por ejemplo, ks_mazda_mx5_cup.ini.

Para abrir esa carpeta (el instalador ya la creó):

explorer $env:USERPROFILE\.ac-race-engineer\ranges

(cmd.exe: explorer %USERPROFILE%\.ac-race-engineer\ranges)

Sin un archivo de rangos, las escrituras aún funcionan pero devuelven una advertencia, y deberías verificar los valores en la pantalla de configuración.

Aplicación en el juego (Lua de CSP)

install-windows.bat copia esto por ti. Para hacerlo a mano, copia lua_app/race_engineer/ a assettocorsa/apps/lua/race_engineer/ (requiere Custom Shaders Patch; ya lo tienes si usas Content Manager con CSP habilitado). Actívalo desde la barra lateral de aplicaciones en el juego — mueve el ratón al borde derecho de la pantalla mientras estés en una sesión.

¿No estás seguro de dónde está instalado Assetto Corsa? En Steam, haz clic derecho en Assetto Corsa → Administrar → Examinar archivos locales.n Lo que hace:

  • Etiquetas de queja mientras conduces — Botones de Subviraje / Sobreviraje / Frenado / Tracción, cada uno asignable a un botón del volante a través de la ventana de Configuración de la aplicación (aparecen como enlaces de control de CSP). Pulsar uno registra tu posición exacta en la spline, vuelta y velocidad. Claude los lee con get_driver_notes y los correlaciona con la telemetría de la curva: "marcaste subviraje dos veces en la spline 0.34 — esa es la curva donde el deslizamiento delantero supera al trasero en 0.09".

  • Superposición de estado — indicador de grabación + vueltas almacenadas, para que nunca tengas que hacer Alt+Tab para comprobarlo.

  • Mensajes de Claudesend_driver_message pone una nota en la superposición ("claude_v2 guardado — entra en boxes y cárgalo"); descartar con OK.

La aplicación se comunica con el puente HTTP del servidor en 127.0.0.1:9666 (cambia con AC_ENGINEER_BRIDGE_PORT, y edita BASE en el Lua para que coincida). El puente se vincula solo a localhost.

Estructura

ac_race_engineer/
  sim_info.py   shared memory structs (physics / graphics / static)
  collector.py  background sampler -> SQLite, lap boundary detection
  db.py         schema + storage
  analysis.py   corner detection, lap summaries, lap comparison
  setups.py     setup INI read/write, range clamping
  bridge.py     localhost HTTP bridge for the in-game app
  server.py     MCP tools
lua_app/
  race_engineer/  CSP Lua in-game app (copy to apps/lua/)
install-windows.ps1  one-shot Windows installer
install-windows.bat  double-clickable wrapper for the above

Notas / ideas futuras

  • El muestreo es de 25 Hz — suficiente para trabajo de configuración mientras mantiene la BD pequeña. Aumenta TARGE_HZ en collector.py si quieres trazas más finas.

  • Las vueltas de salida (sin tiempo válido) se saltan automáticamente.

  • La detección de curvas es genérica (mínimos de velocidad); un mapa de nombres de curvas por pista haría que los consejos de Claude se leyeran mejor ("T3/Variante" vs "curva en 0.34").

  • CSP/Lua podría exponer velocidades de amortiguación y más canales que la memoria compartida estándar si alguna vez quieres un trabajo de suspensión más profundo — el código fuente de Telemetrick es una buena referencia.

Install Server
F
license - not found
A
quality
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

  • A
    license
    A
    quality
    C
    maintenance
    MCP server for Formula 1 data via the FastF1 library. Ask Claude (or any MCP-compatible client) about race results, lap times, telemetry, standings, pit stops, and qualifying — with historical data back to 1950 via the Ergast API.
    21
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    A local MCP server that gives Claude (or any MCP-compatible AI client) access to Formula 1 race data. Load any session from 2018 onwards, ask questions in natural language, and get answers backed by real telemetry, timing, and strategy data.
    17
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • Garmin data in Claude: 135 tools — activities, sleep, HRV, training, workouts. Free, open source.

  • WHOOP recovery, strain, sleep and workouts in Claude via official WHOOP OAuth. Free, open source.

  • Persistent context for Claude. Your AI always knows your projects and next actions across sessions.

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/mishan/assetto-mcp'

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