Skip to main content
Glama
mishan

ac-race-engineer

by mishan

ac-race-engineer

元のAssetto Corsa向けにClaudeをレースエンジニアに変身させるMCPサーバーです。 ACの共有メモリテレメトリを読み取り、ラップをSQLiteに保存し、エンジニア級のサマリーに圧縮し、ゲーム内のセットアップメニューに直接表示されるセットアップファイルの読み書きができます。

Assetto Corsaを実行しているWindowsマシン上で動作します。オリジナルのACのみ(acpmf_* 共有メモリレイアウトを使用、ACCではありません)。

インストール(Windows — 簡単な方法)

前提条件: python.org からPython 3.10以上。インストーラーの最初の画面で 「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アイコンを右クリックし、「Quit」を選択してください。

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

フォルダを開くには、PowerShellで explorer $env:APPDATA\Claude を使用します。

{
  "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はシェルの PATH なしでMCPサーバーを起動するため、裸のコマンドは頻繁にサイレントで失敗します。正しいパスは以下で取得:

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 — DB + 範囲の場所(デフォルト ~/.ac-race-engineer

  • AC_ENGINEER_BRIDGE_PORT — ゲーム内アプリブリッジポート(デフォルト 9666

トラブルシューティング

Claudeにツールが表示されない。 Claude Desktopを完全に終了してから再度開いたことを確認してください(トレイアイコン → Quit)。次にサーバーログを読んでください:

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

python と入力するとMicrosoft Storeが開く(または「認識されていません」と表示される)。Windowsには %LOCALAPPDATA%\Microsoft\WindowsApps\python.exe にアプリ実行エイリアススタブが付属しており、実際のPythonが PATH にない場合に名前を乗っ取ります。python.orgからPythonをインストールし、「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. Claudeに伝えます: 「録音を開始して、セッションを確認できるか教えて」 (start_recordinglive_snapshot)。

  3. 3〜5周走行します。ラップは完了すると自動的に保存されます。コースアウト(2タイヤ以上がコース外)はラップを無効としてマークします。

  4. 「最後のラップを要約して、現在のセットアップを読み取って」 (list_lapslap_summaryread_setup)。サマリーには、コーナーごとの最低速度、ブレーキポイント、タイヤ圧力/温度、およびスリップバランス指標(正 = アンダーステア、負 = オーバーステア)が含まれます。

  5. 車の挙動について話し合い、Claudeが write_setup で改訂されたセットアップを書き込みます(例: claude_v1 として)。

  6. ピットインし、セットアップ画面から claude_v1 を読み込み、再び走行します。

  7. 「新しいセットアップでのベストラップをラップNと比較して」 (compare_laps) — コーナーごとの最低速度とブレーキポイントの差分により、変更が実際に機能したかどうかがわかります。

セットアップ値のクランプ(推奨)

ACは、車の setup.inidata.acd 内)で定義された範囲外のセットアップ値を静かに無視します。サーバーが各車の法的な最小/最大/ステップに値をクランプしてスナップできるようにするには:

  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コントロールバインディングとして表示されます)。押すと、正確なスプライン位置、ラップ、速度が記録されます。Claudeは get_driver_notes でこれらを読み取り、コーナーテレメトリと関連付けます:「スプライン0.34で2回アンダーステアをフラグしました — フロントスリップがリアを0.09上回るコーナーです」。

  • ステータスオーバーレイ — 録音インジケーター + 保存済みラップ数。Alt-Tabで確認する必要はありません。

  • Claudeからのメッセージsend_driver_message でオーバーレイにメモを表示(「claude_v2 を保存しました — ピットインして読み込んでください」)。OKで消去。

アプリはサーバーのHTTPブリッジと 127.0.0.1:9666 で通信します(AC_ENGINEER_BRIDGE_PORT で変更可能。Luaの BASE もそれに合わせて編集)。ブリッジは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

備考 / 将来のアイデア

  • サンプリングレートは25Hz — DBを小さく保ちながらセットアップ作業には十分です。より細かいトレースが必要な場合は、collector.pyの TARGET_HZ を上げてください。

  • アウトラップ(有効ラップタイムなし)は自動的にスキップされます。

  • コーナー検出は汎用的(速度の最小値)。コーナー名マップをトラックごとに持てば、Claudeのアドバイスがより読みやすくなります(「T3/Variante」 vs 「コーナー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