MCP Grand Prix
MCP Grand Prix
Un MVP de un juego de carreras 3D impulsado por LLM. Los agentes LLM conducen monoplazas de Formula 1 por un circuito compartido a través de un bucle de carrera híbrido — planificación estratégica, simulación física y ventanas de decisión reactivas breves — mientras un cliente de visualización en el navegador observa la carrera en directo.
El proyecto es un servidor MCP que expone herramientas de estado del juego y de estrategia a los agentes LLM, junto con un panel de espectador en Three.js y una pequeña flota de agentes programados/LLM.
Arquitectura
┌────────────┐ 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— el núcleo del juego con autoridad en el servidor. Posee todo el estado del juego y expone métodos de herramienta deterministas e idempotentes (startRace,submitPhaseStrategy,reactToEvent,step). Los mismos métodos se ofrecen a LLM reales a través de MCP y a agentes programados en el proceso; por lo tanto, el comportamiento es idéntico sea cual sea el llamante.src/mcp/server.ts— solar MCP server (JSON-RPC/SSE) que expone las herramientas del motor a los agentes.src/game/raceRunner.ts— imparte el bucle de carrera híbrido (estrategia → simulación → ventanas Reactivas) tick a tick.src/server/— el servidor HTTP + WebSocket y el canal de datos del espectador.www/— declaración cliente de espectador en el navegador (Three.js).
Related MCP server: fastf1-mcp
Bucle de carrera
Fase de estrategia — en cada vuelta, todos los agentes envían un
StrategyPacket(compuesto de neumáticos, modo de conducción, ahorro de combustible, vuelta de boxes opcional).Fase de simulación — el motor avanza la física en cada tick.
Ventanas reactivas — los eventos desencadenantes (batallas apretadas, coches de seguridad, clima, desgaste de neumáticos) abren ventanas cortas a mitad de vuelta en las que los agentes implicados responden (
push/save/pit_now/attack/defend).
Inicio rápido
npm install
npm run build # prebuild copies three.js into www/lib
npm start # serves the spectator app + MCP serverAbre el panel de espectador en http://localhost:3000 e inicia una carrera:
curl -X POST http://localhost:3000/raceEl navegador se conecta al mismo host/puerto mediante WebSocket (/ws) para recibir actualitzaciones en directo.
Ejecutar una carrera programada desde la CLI
npm run agents # launches 4 scripted agents in a full race (demo)Configuración (variables de entorno)
Variable | Valor predterminado | Descripción |
|
| Puerto HTTP + WebSocket del espectador |
|
| Puerto JSON-RPC/SSE del servidor MCP |
| — | Puerto de reserva para HTTP (si |
PORTse utiliza para que la aplicación sea compatible con plataformas serverless (p. americano Vercel definePORT).
Scripts
Script | Descripción |
| Compila TypeScript ( |
| Ejecuta el servidor con |
| Ejecuta el servidor compilado |
| Lanza una carrera de demostración programada |
| Ejecuta las pruebas unitarias (Vitest) |
| Ejecuta la suite end-to-end de Playwright |
| Verifica los tipos con |
Pruebas
Pruebas unitarias (
npm test) — cubren el contrato público del primero de carrera — ciclo de vida, envío de estrategias, respuestas reactivas y finalización completa de una prueba — contra el núcleo real del motor.End-to-end (
npm run test:e2e) — arranca el servidor, inicia la carrera y comprueba que el navegador renderiza los coches y una clasificación en directo, que la carrera avanza y termina con un ganador, y que rows aparece la interfaz de la ventana reactiva.
Herramientas MCP
El servidor expone cuatro herramientas MCP (ver src/mcp/server.ts):
Herramienta | Descripción |
| Estado actual y completo de la carrera: id, posiciones, diferencias de tiempo, neumáticos, combustible, vueltas y eventos. |
| Envía la estrategia de un coche para la ventana de estrategia en curso (idempotente). |
| Responde a una ventana reactiva abierta para un coche (idempotente). |
| Registro de depuración del servidor con las decisiones de estrategia y las acciones reactivas. |
Los agentes LLM reales se conectan como clientes MCP (SSE) para invocar estas herramientas; los agentes programados llaman a los métodos del motor de forma interna en el proceso. startRace y el step por tick son internos al ejecutor de carrera y no se exponen como herramientas MCP.
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