ac-race-engineer
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 |
|
cmd.exe |
|
Barra de direcciones de Explorer |
|
Win+R (diálogo Ejecutar) |
|
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 defecto9666)
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.logEscribir 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
Inicia AC, sal a la pista.
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 conwrite_setup(por ejemp lo, comoclaude_v1).6. Entra en boxes, cargaclaude_ldesde 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:
En Content Manager: página del coche → descomprimir datos (o usa QuickBMS).
Copia el
setup.inidel 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_notesy 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 Claude —
send_driver_messagepone 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 aboveNotas / ideas futuras
El muestreo es de 25 Hz — suficiente para trabajo de configuración mientras mantiene la BD pequeña. Aumenta
TARGE_HZen 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.
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
- Alicense-qualityDmaintenanceEnables AI-powered racing coaching and telemetry analysis for iRacing, providing real-time racing advice, car spotting, lap analysis, and conversational interaction with racing data through live telemetry streaming.2MIT
- AlicenseAqualityCmaintenanceMCP 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.21MIT
- AlicenseAqualityCmaintenanceA 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.171MIT
- AlicenseAqualityAmaintenanceTurn Claude into your F1 race engineer.307MIT
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.
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/mishan/assetto-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server