Skip to main content
Glama
mishan

ac-race-engineer

by mishan

ac-race-engineer

MCP-сервер, который превращает Клода в гоночного инженера для оригинального Assetto Corsa. Он читает телеметрию из разделяемой памяти AC, сохраняет круги в SQLite, сводит их к инженерным сводкам и умеет читать/записывать файлы настроек, которые появляются непосредственно в игровом меню настроек.

Запускается на Windows-машине, где запущен Assetto Corsa. Только оригинальный AC (использует разметку разделяемой памяти acpmf_*, не ACC).

Установка (Windows — простой способ)

Предварительное требование: Python 3.10+ с python.org. На первом экране установщика отметьте "Add python.exe to PATH". Не используйте сборку из Microsoft Store — её песочница ломает доступ к разделяемой памяти.

Затем в этой папке: щёлкните правой кнопкой мыши install-windows.bat → Открыть (или просто дважды щёлкните по нему).

Вот и всё. Установщик находит Python, устанавливает пакет, записывает конфиг Claude Desktop (объединяя с уже имеющимися MCP-серверами, предварительно создав резервную копию), находит вашу установку Assetto Corsa и копирует внутриигровое Lua-приложение на место. Повторно запускайте его после git pull; он обновляет всё на месте.

Если он не может найти Assetto Corsa, укажите, где искать. Флаги указываются в .bat, а не в .ps1 — Windows блокирует прямой запуск .ps1-файлов при стандартной политике выполнения, и .bat существует именно для обхода этой проблемы:

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

Другие флаги: -SkipLuaApp, -Uninstall.

После установки полностью закройте Claude Desktop и откройте его снова. Просто закрыть окно недостаточно — щёлкните правой кнопкой мыши значок Claude в системном трее (в правом нижнем углу, возможно, скрыт под стрелкой ^) и выберите Выйти.

Related MCP server: fastf1-mcp-server

Установка (вручную)

python -m pip install -e .

Затем добавьте сервер в claude_desktop_config.json. Самый быстрый способ открыть этот файл — Claude Desktop → Settings → Developer → Edit Config, который создаёт его, если отсутствует, и открывает содержащую папку — никаких раскопок в файловой системе не требуется.

%APPDATA% — это переменная окружения, а не буквальный путь. Она раскрывается в C:\Users\<ваше_имя>\AppData\Roaming — а AppData — это скрытая папка, поэтому переход к ней в Проводнике ничего не показывает, если не включить Вид → Скрытые элементы.

Более серьёзная ловушка: %VAR% — это синтаксис cmd.exe. Windows Terminal по умолчанию использует PowerShell, где та же переменная записывается как $env:VAR. Итак:

Где

Что вводить

PowerShell / Windows Terminal

notepad $env:APPDATA\Claude\claude_desktop_config.json

cmd.exe

notepad %APPDATA%\Claude\claude_desktop_config.json

Адресная строка Проводника

%APPDATA%\Claude (Проводник тоже раскрывает)

Win+R (диалог Выполнить)

%APPDATA%\Claude

Чтобы открыть папку, а не файл, используйте explorer $env:APPDATA\Claude в PowerShell.

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

Используйте абсолютный путь к python.exe, а не просто "python". Claude Desktop запускает MCP-серверы без PATH вашей оболочки, поэтому простая команда часто незаметно терпит неудачу. Получите правильный путь с помощью:

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

Не используйте (Get-Command python).Source — в стандартной Windows это часто возвращает ...\WindowsApps\python.exe, заглушку псевдонима Microsoft Store, что неверно. Помните, что в JSON обратные слеши нужно удваивать (\\).

(Если вы используете Claude Code: claude mcp add ac-race-engineer -- python -m ac_race_engineer.server)

Необязательные переопределения окружения:

  • AC_DOCS_DIR — папка документов AC (по умолчанию ~/Documents/Assetto Corsa)

  • AC_ENGINEER_DATA — расположение БД + диапазонов (по умолчанию ~/.ac-race-engineer)

  • AC_ENGINEER_BRIDGE_PORT — порт моста внутриигрового приложения (по умолчанию 9666)

Устранение неполадок

Клод не показывает инструменты. Убедитесь, что вы полностью закрыли и снова открыли Claude Desktop (значок в трее → Выйти). Затем прочитайте журнал сервера:

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

При вводе python открывается Microsoft Store (или пишет "не распознано"). Windows поставляется с заглушкой псевдонима выполнения приложения в %LOCALAPPDATA%\Microsoft\WindowsApps\python.exe, которая перехватывает имя, когда на PATH нет настоящего Python. Установите Python с python.org, отметив "Add python.exe to PATH", или используйте запускатель py (py -3 -m pip install -e .) — установщик с python.org настраивает это по умолчанию. Вы также можете отключить заглушку в Настройки → Приложения → Дополнительные параметры приложений → Псевдонимы выполнения приложений.

Установщик уже игнорирует всё, что находится в WindowsApps, так что эта проблема возникает только при ручной установке.

.ps1 cannot be loaded because running scripts is disabled. Это политика выполнения. Вместо этого используйте install-windows.bat — он обходит политику для этого скрипта без изменения каких-либо системных настроек.

Значения настроек не сохраняются в игре. Вы записываете значения за пределами допустимого диапазона автомобиля, и AC молча их игнорирует — см. следующий раздел.

Цикл настройки

  1. Запустите AC, выезжайте на трассу.

  2. Скажите Клоду: "start recording and confirm you can see the session" (start_recording, live_snapshot).

  3. Проедьте 3–5 кругов. Круги сохраняются автоматически по завершении; выезды за пределы трассы (>2 колеса за пределами) помечают круг как недействительный.

  4. "Summarize my last lap and read my current setup" (list_laps, lap_summary, read_setup). Сводка включает для каждого поворота минимальную скорость, точки торможения, давления/температуры шин и метрику баланса скольжения (положительное = недостаточная поворачиваемость, отрицательное = избыточная).

  5. Обсудите, что делает автомобиль; Клод записывает изменённую настройку с помощью write_setup (например, как claude_v1).

  6. Заезжайте на пит, загрузите claude_v1 из экрана настроек, снова поезжайте.

  7. "Compare my best lap on the new setup against lap N" (compare_laps) — показываются по-поворотные дельты минимальной скорости и точки торможения, чтобы увидеть, сработало ли изменение.

Ограничение значений настроек (рекомендуется)

AC молча игнорирует значения настроек, выходящие за пределы диапазонов, определённых в setup.ini автомобиля (внутри data.acd). Чтобы сервер ограничивал и округлял значения до допустимых min/max/шаг для каждого автомобиля:

  1. В Content Manager: на странице автомобиля → распаковать данные (или используйте QuickBMS).

  2. Скопируйте setup.ini автомобиля в папку диапазонов, назвав файл по имени папки автомобиля — например, ks_mazda_mx5_cup.ini.

Чтобы открыть эту папку (установщик уже создал её):

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

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

Без файла диапазонов запись всё равно работает, но с предупреждением, и вам следует проверить значения в экране настроек.

Внутриигровое приложение (CSP Lua)

install-windows.bat копирует его за вас. Чтобы сделать это вручную, скопируйте lua_app/race_engineer/ в assettocorsa/apps/lua/race_engineer/ (требуется Custom Shaders Patch; он у вас уже есть, если вы используете Content Manager с включённым CSP). Включите его на боковой панели внутриигровых приложений — подведите мышь к правому краю экрана, находясь в сессии.

Не уверены, где установлен Assetto Corsa? В Steam щёлкните правой кнопкой мыши по Assetto Corsa → Управление → Просмотреть локальные файлы.

Что оно делает:

  • Метки жалоб во время вождения — кнопки Understeer / Oversteer / Braking / Traction, каждую можно привязать к кнопке на руле через окно Настроек приложения (они отображаются как привязки управления CSP). Нажатие записывает вашу точную позицию на сплайне, круг и скорость. Клод читает их с помощью get_driver_notes и соотносит с телеметрией поворота: "вы отметили недостаточную поворачиваемость дважды на сплайне 0.34 — это поворот, где переднее скольжение превышает заднее на 0.09".

  • Оверлей статуса — индикатор записи + количество сохранённых кругов, чтобы вам не нужно было переключаться на другой экран для проверки.

  • Сообщения от Клодаsend_driver_message помещает заметку на оверлее ("claude_v2 saved — pit and load it"); закрывается по OK.

Приложение общается с HTTP-мостом сервера на 127.0.0.1:9666 (измените с помощью AC_ENGINEER_BRIDGE_PORT и отредактируйте BASE в Lua, чтобы соответствовало). Мост привязывается только к localhost.

Структура

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

Заметки / будущие идеи

  • Частота дискретизации 25 Гц — достаточно для настройки, при этом БД остаётся небольшой. Увеличьте TARGET_HZ в collector.py, если нужны более детальные трассы.

  • Круги выезда (без действительного времени) пропускаются автоматически.

  • Обнаружение поворотов универсальное (минимумы скорости); карта имён поворотов для каждой трассы сделала бы советы Клода более читаемыми ("T3/Variante" вместо "поворот на 0.34").

  • CSP/Lua могут предоставлять скорости демпферов и больше каналов, чем стандартная разделяемая память, если вы когда-нибудь захотите более глубокой работы с подвеской — исходный код Telemetrick — хороший справочник.

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