MCP Grand Prix
MCP Grand Prix
Ein MVP eines LLM-gesteuerten 3D-Rennspiels. LLM-Agenten steuern Formula-1-Rennwagen über eine gemeinsame Rennstrecke durch eine hybride Rennschleife – strategische Planung, Physiksimulation und kurze reaktive Entscheidungsfenster –, während ein Browser-Zuschauerclient das Rennen live verfolgt.
Das Projekt ist ein MCP-Server, der LLM-Agenten Werkzeuge für Spielzustand und Strategie bereitstellt, dazu ein Three.js-Zuschauer-Dashboard und eine kleine Flotte skriptgesteuerter/LLM-Agenten.
Architektur
┌────────────┐ MCP (SSE) ┌───────────────┐ tool calls ┌──────────────┐
│ LLM agents│ ────────────▶ │ src/mcp │ ◀───────────── │ RaceEngine │
│ (LLM or │ │ server.ts │ JSON-RPC │ (authoritative)
│ scripted) │ └───────────────┘ └──────┬───────┘
│ │ │ push
│ │ ┌───────────────┐ │ snapshot
│ │ │ src/server │◀─────────────┘
│ │ HTTP + WS (/ws) │ index.ts │
└────────────┘ ◀────────────────── │ spectator │
Browser spectator └───────────────┘
(Three.js, www/client.js)src/game/raceEngine.ts– der server-autoritative Spielkern. Er verwaltet den gesamten Spielzustand und stellt deterministische, idempotente Tool-Methoden bereit (startRace,submitPhaseStrategy,reactToEvent,step). Dieselben Methoden werden echten LLMs über MCP und prozessinternen Skriptagenten bereitgestellt, sodass das Verhalten unabhängig davon identisch ist, wer sie aufruft.src/mcp/server.ts– der MCP-Server (JSON-RPC/SSE), der die Tools der Engine den Agenten bereitstellt.src/game/raceRunner.ts– treibt die hybride Rennschleife (Strategie → Simulation → reaktive Fenster) Tick für Tick voran.src/server/– der HTTP- und WebSocket-Server sowie der Zuschauer-Feed.www/– der Browser-Zuschauerclient (Three.js).
Related MCP server: fastf1-mcp
Rennschleife
Strategiephase – Jede Runde übermitteln alle Agenten ein
StrategyPacket(Reifenmischung, Fahrmodus, Kraftstoffsparen, optionale Boxenstopp-Runde).Simulationsphase – Die Engine rechnet die Physik in jedem Tick neu.
Reaktive Fenster – Trigger-Ereignisse (enge Duelle, Safety-Cars, Wetter, Reifenverschleiß) öffnen kurze Fenster innerhalb der Runde, in denen die betroffenen Agenten mit Aktionen wie (
push/save/pit_now/attack/defend) reagieren.
Schnellstart
npm install
npm run build # prebuild copies three.js into www/lib
npm start # serves the spectator app + MCP serverÖffne das Zuschauer-Dashboard unter http://localhost:3000 und starte ein Rennen:
curl -X POST http://localhost:3000/raceDer Browser verbindet sich zum selben Host/Port über WebSocket (/ws) für Live-Updates.
Ein skriptgesteuertes Rennen über die CLI ausführen
npm run agents # launches 4 scripted agents in a full race (demo)Konfiguration (Umgebungsvarianten)
Variable | Standard | Zweck |
|
| HTTP- und Zuschauer-WebSocket-Port |
|
| MCP-JSON-RPC/SSE-Port |
| – | Fallback für den HTTP-Port (falls |
PORTwird verwendet, um die Kompatibilität mit Serverless-Plattformen zu gewährleisten (Vercel setzt z. B.PORT).
Skripte
Skript-Kompilierung | Beschreibung |
| TypeScript kompilieren ( |
| Server mit |
| Den gebauten Server ausführen |
| Ein skriptgesteuertes Demo-Rennen starten |
| Unit-Tests ausführen (Vitest) |
| Die Playwright-End-to-End-Tests ausführen |
| Typprüfung mit |
Testen
Unit-Tests (
npm test) decken den öffentlichen Vertrag der Renn-Engine ab – Lebenszyklus, Strategieabgabe, reaktive Antworten und kompletten Rennabschluss – geprüft gegen den echten Engine-Kern.End-to-End-Tests (
npm run test:e2e) starten den Server, initialisieren ein Rennen und prüfen, dass auf der Clientseite Fahrzeuge und eine Live-Rangliste gerendert werden, dass das Rennen fortschreitet und mit einem Sieger endet, und dass die reaktive Benutzeroberfläche in den Fenstern erscheint.
MCP-Tools
Der Server gibt vier MCP-Tools frei (siehe src/mcp/server.ts):
Tool | Beschreibung |
| Vollständiger aktueller Rennzustand: Autos, Positionen, Lücken, Reifen, Treibstoff, Runden, Ereignisse. |
| Strategie eines Autos für das aktuelle Strategiefenster ausgeben (idempotent). |
| Auf ein offenes reaktives Fenster für ein Auto reagieren (idempotent). |
| Debug-Log des Servers mit strategischen Entscheidungen und reaktiven Aktionen. |
Echte LLM-Agenten verbinden sich als MCP-Clients (SSE), um diese Tools aufzurufen; skriptgesteuerte Agenten rufen die Engine-Methoden direkt in-process auf. startRace und step sind genau die internen Step-Methoden des Renn-Runners und werden nicht als MCP-Tools exponiert.
This server cannot be installed
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
- AlicenseCqualityDmaintenanceEnables AI assistants to access real-time iRacing telemetry, race information, camera control, pit operations, and replay features through the MCP protocol.171MIT
- 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
- AlicenseAqualityDmaintenanceEnables LLMs and AI agents to interact with AFSIM through standardized MCP tools for scenario management, entity/component control, simulation execution, and results analysis.3721MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to investigate and manipulate live network simulations via MCP, including protocol debugging and fault injection.
Related MCP Connectors
MCP server exposing the Backtest360 engine API as tools for AI agents.
Build, validate, and deploy multi-agent AI solutions from any AI environment.
MCP server for OpenMM — exposes market data, account, trading, and strategy tools to AI agents
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/pefman/mcpGrandPrix'
If you have feedback or need assistance with the MCP directory API, please join our Discord server