# Herramientas Disponibles

> Catálogo completo de las capacidades del Race Engineer organizadas por categoría.

El Race Engineer proporciona 96 herramientas en 20 grupos. Todas están disponibles a través de la conexión MCP — tu asistente IA las descubre automáticamente.

## Cómo Funcionan las Herramientas

El Race Engineer usa una única herramienta `execute_code`. Tu asistente IA escribe código TypeScript que llama a funciones `brakinglab.*` para interactuar con tus datos. No necesitas conocer los nombres de las funciones — simplemente describe lo que quieres en lenguaje natural.

Por ejemplo, preguntar "Muéstrame mis sesiones recientes en Spa" hace que el asistente llame a `brakinglab.getSessions({ trackName: "Spa" })` internamente.

## Sesiones y Vueltas

Explora tus sesiones de telemetría y datos de vuelta.

| Herramienta | Descripción |
|-------------|-------------|
| **getSessions** | Lista y filtra tus sesiones por circuito, coche, fecha o tipo |
| **getSessionDetail** | Detalle completo de sesión con todas las vueltas, clima e info del piloto |
| **getSessionsFacets** | Descubre los circuitos, coches, sims y tipos de sesión presentes en tus datos antes de filtrar |
| **getLatestSession** | Salta directo a tu sesión más reciente que coincida con filtros opcionales |

**Prompts de ejemplo:**
- "Muéstrame mis últimas 5 sesiones"
- "Encuentra todas mis sesiones en Monza con el Ferrari GT3"
- "¿Cuál fue mi mejor vuelta en la sesión de ayer?"

## Stints

Analiza el rendimiento a lo largo de stints dentro de una sesión.

| Herramienta | Descripción |
|-------------|-------------|
| **listSessionStints** | Lista stints (tramos pit-a-pit) de una sesión con informes de coaching vinculados |
| **getStintMetrics** | Métricas detalladas de stint incluyendo rendimiento curva por curva |

## Análisis de Curvas

Profundiza en curvas individuales.

| Herramienta | Descripción |
|-------------|-------------|
| **getCornerAnalysis** | Velocidad de entrada, ápice, salida y G lateral por curva |
| **getTrackTemplate** | Mapa estructural del circuito mostrando curvas, zonas defensivas y pit |
| **getTrackOutline** | El contorno geométrico del circuito en puntos normalizados, para que el asistente pueda dibujarlo |

**Prompts de ejemplo:**
- "¿En qué curvas soy más lento en este circuito?"
- "Muéstrame el análisis de curvas de la vuelta 12"

## Zonas de Frenado

Datos detallados de frenado para cada zona.

| Herramienta | Descripción |
|-------------|-------------|
| **getBrakingZones** | Valores de MRP, características de trail braking, perfiles de freno y datos de deceleración |

**Prompts de ejemplo:**
- "Muéstrame mis zonas de frenado de la mejor vuelta"
- "¿Dónde estoy frenando demasiado pronto?"

## Análisis a Nivel de Muestra

Haz zoom hasta la telemetría en bruto — cada muestra de freno, acelerador y velocidad — para ver la *forma* de tu conducción, no solo los agregados. **Requiere un plan Plus o Ultra.**

| Herramienta | Descripción |
|-------------|-------------|
| **getLapTrace** | Traza a resolución completa de una vuelta (freno, acelerador, velocidad, dirección, marcha, combustible y más), acotada a cualquier parte de la vuelta y submuestreada para el análisis |
| **getZoneTrace** | Traza a nivel de muestra de una única zona de frenado — el ataque inicial, la curva de liberación y el trail-off hacia el ápice |
| **compareTraces** | Duela dos vueltas muestra a muestra en una rejilla alineada por distancia — incluida tu vuelta contra la del líder actual del leaderboard — con el delta de tiempo acumulado en cada punto |
| **getDrivingSymptoms** | Diagnóstico de subviraje / sobreviraje / límite de tracción por curva, cada uno respaldado por evidencia numérica de la telemetría en bruto |
| **getZoneConsistency** | Clasifica tus zonas de frenado por lo repetibles que son a lo largo de cada vuelta válida, para encontrar dónde te cuesta tiempo la inconsistencia |

**Prompts de ejemplo:**
- "Compara mi mejor vuelta de Spa con la del líder del leaderboard, curva por curva"
- "¿Dónde estoy subvirando, y cuánto?"
- "¿En qué zona de frenado soy menos consistente?"
- "Muéstrame la forma de liberación del freno en la curva 1 en mi vuelta más rápida"

> Las herramientas a nivel de muestra requieren un plan **Plus o Ultra**. Comparar contra una vuelta del leaderboard también requiere que ese piloto haya compartido su telemetría públicamente, y ambas vueltas deben ser del mismo coche y circuito.

## Coaching

Coaching y análisis potenciado por IA.

| Herramienta | Descripción |
|-------------|-------------|
| **saveCoachingReport** | Genera y guarda un informe de coaching estructurado (resumen, ritmo, curvas, acciones) |
| **getCoachingReports** | Lista todos los informes de coaching de una sesión |
| **getCoachingReport** | Obtiene un informe de coaching específico por ID |

**Prompts de ejemplo:**
- "Analiza mi última sesión y dame feedback de coaching"
- "Genera un informe de coaching de mi práctica en Spa"

## Análisis de Vueltas

Comparación avanzada y análisis de tendencias.

| Herramienta | Descripción |
|-------------|-------------|
| **compareLaps** | Compara 2-5 vueltas con deltas de frenado por zona y diferencias de tiempo |
| **getProgressOverTime** | Tendencia de mejora entre sesiones en un circuito |
| **getWeakCorners** | Identifica tus curvas más débiles clasificadas por inconsistencia |
| **getSectorAnalysis** | Consistencia por sector y mejor teórica de una sesión |
| **getTireDegradation** | Desgaste, temperatura y presión de gomas vuelta a vuelta a lo largo de una sesión |

**Prompts de ejemplo:**
- "Compara mi mejor y peor vuelta de la sesión de hoy"
- "¿Cómo he mejorado en Silverstone en el último mes?"
- "¿Cuáles son mis curvas más débiles en este circuito?"
- "¿Cuánto se me fueron las gomas al final de esa tanda?"

> Los datos de gomas vienen de las instantáneas que graba el cliente de escritorio
> durante la sesión. Si una sesión es anterior a esa captura, el ingeniero lo dice
> en vez de inventarse una tendencia.

## Calendario de Carreras

Gestiona tu agenda de carreras.

| Herramienta | Descripción |
|-------------|-------------|
| **getUpcomingRaces** | Tus próximas carreras con estado de preparación |
| **getAllRaces** | Calendario completo (pasado y futuro) con filtros |
| **getRaceDetail** | Detalle completo de carrera con preparaciones, estrategia y sesiones vinculadas |
| **createRaceEvent** | Crear un nuevo evento de carrera |
| **updateRaceEvent** | Actualizar detalles del evento |
| **deleteRaceEvent** | Eliminar un evento de carrera |
| **linkSessionToRace** | Vincular una sesión de telemetría a un evento como práctica |
| **getUnlinkedSessionsForRace** | Encontrar sesiones de práctica que coincidan con el circuito y coche de una carrera |
| **getRaceReadinessData** | Recopilar datos de todas las sesiones de práctica para una evaluación de preparación cruzada |
| **saveRaceReadinessReport** | Guardar un informe de preparación evaluando tus prácticas en conjunto |
| **getRaceReadinessReport** | Recuperar un informe de preparación existente para una carrera |

**Prompts de ejemplo:**
- "¿Estoy preparado para mi carrera en Spa? Evalúa mis sesiones de práctica"
- "Genera un informe de preparación para la carrera de este fin de semana"

## Preparación de Carreras

Construye planes de preparación estructurados.

| Herramienta | Descripción |
|-------------|-------------|
| **getPreparation** | Preparación completa con fases, items de checklist y progreso |
| **getPreparationTemplates** | Plantillas de preparación integradas y personalizadas |
| **createPreparation** | Crear preparación desde plantilla o fases personalizadas |
| **updatePreparation** | Editar notas y seguimiento de tiempo |
| **updatePreparationPhase** | Añadir, actualizar o eliminar una fase de preparación |
| **updateChecklistItem** | Añadir, actualizar, eliminar o marcar items del checklist |

**Prompts de ejemplo:**
- "Ayúdame a preparar mi carrera en Spa del próximo sábado"
- "Crea un checklist de preparación para las 24h de Le Mans"

## Estrategia

Cálculos de estrategia de carrera.

| Herramienta | Descripción |
|-------------|-------------|
| **generateStrategyFromTelemetry** | Auto-genera estrategia de carrera desde datos de práctica (combustible, ritmo, desgaste, plan de stints) |
| **saveRaceStrategy** | Guarda la estrategia en una carrera de tu calendario para que sobreviva a la conversación — editable después en la app |

**Prompts de ejemplo:**
- "Genera una estrategia de combustible para una carrera de 45 minutos basada en mis vueltas de práctica"
- "Guarda esa estrategia en mi carrera de Spa del sábado"

> Cada cifra se recalcula en el servidor desde tu telemetría al guardar, así que la
> card de la app nunca puede contradecir lo que te dijo el ingeniero. Las notas que
> escribiste en la app se conservan cuando el ingeniero actualiza la estrategia.

## Notas de Pista

Accede a tus notas de curva y observaciones de circuito.

| Herramienta | Descripción |
|-------------|-------------|
| **getTrackNotepads** | Lista tus blocs de notas de pista |
| **getTrackNotepad** | Bloc completo con notas de curva, pines y referencias de vídeo |
| **createTrackNotepad** | Crear un nuevo bloc de notas de pista |
| **updateTrackNotepad** | Actualizar notas de curva y pines |
| **deleteTrackNotepad** | Eliminar un bloc de notas de pista |
| **linkNotepadToRace** | Vincular un bloc de notas a un evento del calendario de carreras |
| **unlinkNotepadFromRace** | Desvincular un bloc de notas de una carrera |

## Comparaciones Guardadas

Gestiona comparaciones de vueltas guardadas.

| Herramienta | Descripción |
|-------------|-------------|
| **saveComparison** | Guardar una comparación de vueltas con deltas auto-calculados |
| **getComparisons** | Listar comparaciones guardadas con filtros |

## Integración iRacing

Accede a datos de series y horarios de iRacing.

| Herramienta | Descripción |
|-------------|-------------|
| **searchIRacingSeries** | Busca series de iRacing por categoría, licencia o nombre |
| **getSeriesSchedule** | Horario completo de temporada para una serie |
| **searchRacesThisWeek** | Todas las series corriendo esta semana |
| **createRaceFromSchedule** | Crear un evento de calendario desde una entrada del horario de iRacing |

**Prompts de ejemplo:**
- "¿Qué carreras hay esta semana donde pueda participar con licencia C?"
- "Añade la carrera GT3 de Spa del horario de esta semana a mi calendario"

## Le Mans Ultimate

Explora series, circuitos y la semana de carrera actual de Le Mans Ultimate.

| Herramienta | Descripción |
|-------------|-------------|
| **searchLMUTracks** | Busca circuitos de Le Mans Ultimate |
| **searchLMUCars** | Busca coches de LMU |
| **searchLMUSeries** | Busca series de LMU |
| **getLMUSeriesSchedule** | Horario completo de temporada para una serie de LMU |
| **getLMUCurrentSchedule** | La semana de carrera actual de LMU entre series |
| **getLMUSpecialEvents** | Eventos especiales y de resistencia de LMU |
| **createRaceFromLMUSchedule** | Crear un evento de calendario desde una entrada del horario de LMU |

**Prompts de ejemplo:**
- "¿Cuál es la semana de carrera actual de LMU?"
- "Añade la ronda de Hyperpole en Le Mans a mi calendario"

## Vault de Hardware

Accede a tus configuraciones de hardware y datapacks.

| Herramienta | Descripción |
|-------------|-------------|
| **listDatapacks** | Lista tus datapacks con filtros |
| **getDatapack** | Detalle completo de datapack con archivos adjuntos |
| **listHardwareSetups** | Lista configuraciones de hardware con resúmenes |
| **getHardwareSetup** | Configuración completa: base, pedales y perfiles de sim |

## Vueltas Importadas

Vueltas que no vienen del cliente de escritorio.

| Herramienta | Descripción |
|-------------|-------------|
| **getImportedLaps** | Lista las vueltas que importaste desde CSV de Garage61 (y las antiguas, previas a Capture), con tus notas por zona |

**Prompts de ejemplo:**
- "¿Qué vueltas tengo importadas de Monza?"
- "Léeme las notas que escribí en mi vuelta importada de Spa"

## Entrenamiento

El cierre del bucle: convertir un diagnóstico en algo que de verdad practicas.

| Herramienta | Descripción |
|-------------|-------------|
| **createExerciseFromZone** | Construye un ejercicio de trail braking desde una zona de frenada de tu propia vuelta — la curva se genera en el servidor a 60 Hz y aparece en Práctica, lista para ejecutar con tus pedales |
| **listCustomExercises** | Lista tus ejercicios personalizados, con las plazas que te deja tu plan |
| **getExerciseResults** | Tus puntuaciones de práctica del runner de Free Practice |
| **getBrakeMasterProgress** | Tu Braking Rating, licencia, racha y progresión por circuitos |
| **getBrakeMasterLeaderboard** | Global, semanal, o los pilotos justo alrededor de tu posición |

**Prompts de ejemplo:**
- "Busca mi peor curva en Spa y créame un ejercicio para ella"
- "¿Qué puntuación saqué en ese ejercicio? ¿Estoy mejorando?"
- "¿En qué puesto voy en la clasificación de Brake Master?"

> Crear un ejercicio cuenta contra el límite de ejercicios personalizados de tu
> plan, y el ingeniero te dirá claramente cuándo te has quedado sin plazas en vez
> de fallar en silencio. Las entradas de la clasificación son anónimas e incluyen
> solo a quienes han optado por aparecer.

## Coaching de Setup

Qué hace de verdad un parámetro del setup — en tu coche, no en abstracto.

> **Todavía no está encendido.** Las herramientas viajan con el ingeniero, pero
> el corpus revisado del que responden sigue en curación, así que por ahora te
> dicen que está por llegar en vez de improvisar. La [Guía de Setup](/es/setup-guide)
> ya publica la mitad neutral, gratis; lo que esto añade encima es tu coche, tu
> fichero y tu sesión.

| Herramienta | Descripción |
|-------------|-------------|
| **explainSetupParam** | Explica UN parámetro del setup desde el corpus de conocimiento revisado de Braking Lab, anclado a tu simulador, tu coche y tus propios valores |
| **getSetupTendencies** | Tendencias de setup curadas para UN síntoma de comportamiento — subviraje, sobreviraje o límite de tracción, acotado a una fase de curva si quieres — revisadas a mano, con notas por coche donde las hemos escrito |

Pregunta con el nombre que conozcas — en lenguaje llano y en tu idioma, la clave
canónica, o la grafía exacta que usa tu garaje — y el ingeniero lo resuelve a un
único parámetro. La respuesta trae qué es, qué hace en cada fase de curva, con
qué se acopla, y la nota revisada para ese coche cuando la hemos escrito (citada,
para que puedas ir a la fuente). Con un `sessionId` muestra además **tu valor
actual**, tomado del setup que el cliente de escritorio capturó con esa sesión;
con Setups IA en un plan Plus o Ultra puedes anclarlo a un setup de la bóveda.

**Prompts de ejemplo:**
- "¿Qué hace realmente el reparto de frenada? Usa mi última sesión en Spa."
- "¿Por qué llevaría más barra estabilizadora trasera en mojado?"
- "En mi GT4, ¿qué cambia el spring perch offset — y con qué se pelea?"

> El Coaching de Setup requiere un plan **Plus o Ultra**. El ingeniero te dice lo
> que **no** sabe con la misma claridad que lo que sabe: si falta un concepto o
> una nota de coche es que nadie la ha escrito todavía, nunca que dé igual, y
> todo lo que añada de conocimiento general viene etiquetado como tal. Hay
> valores que en un coche concreto son lecturas y no mandos — eso lo dice
> primero. Explicar nunca te propone valores; eso es otra capacidad — Setups IA,
> justo debajo.
>
> ¿Prefieres leer a preguntar? El mismo corpus está publicado, gratis y sin atarse
> a un simulador, en la [Guía de Setup](/es/setup-guide).

## Setups IA

Tu bóveda privada de setups, y el ingeniero que cambia lo que hay dentro. Explicar
un parámetro es la sección de arriba; **proponer valores es esta**.

> Todas estas herramientas requieren un plan **Plus o Ultra**. Documentación completa de
> producto: [Setups IA](/es/docs/ai-setups/introduction).

### La bóveda

| Herramienta | Descripción |
|-------------|-------------|
| **listCarSetups** | Lista tus setups como filas resumen — simulador, coche, circuito, tipo, etiquetas y estado |
| **getCarSetup** | Un setup con su linaje completo de versiones, los hitos de la conversación y los parámetros parseados de cada versión |
| **createCarSetup** | Crea un setup y su v1 desde un archivo `.svm` completo (solo Le Mans Ultimate) |
| **addSetupVersion** | Añade una versión desde otro `.svm` completo — para cuando lo retocaste en el simulador y lo volviste a exportar (solo LMU) |

Un linaje nunca mezcla canales de parámetros. Una versión `.svm` no se puede añadir
a un setup construido desde un `.htm` de iRacing, y el ingeniero abre un setup
aparte en vez de fingir que los dos son comparables.

### Entrevista de Setup

La entrevista es solo de Le Mans Ultimate y requiere un `.svm` propio existente.
Las referencias protegidas son evidencia interna para movimientos relativos; no
se descargan, nombran ni copian a la bóveda del piloto. Recorrido completo:
[Entrevista de Setup](/es/docs/ai-setups/setup-interview).

| Herramienta | Descripción |
|-------------|-------------|
| **buildSetupFromInterview** | Deriva una hija de una versión propia de LMU mediante una celda de origen explícita y cuatro respuestas de destino; solo devuelve movimientos relativos y descartes |
| **listReferenceSetups** | Comprueba la cobertura interna de evidencia para una variante y celda exactas sin exponer procedencia de fuentes |
| **reportReferenceMiss** | Registra que pediste una base que no tenemos, para que la curación sepa qué recoger a continuación — esta acepta también peticiones de iRacing, aunque no podamos servirlas |

La entrevista exige celdas exactas de origen y destino para la misma variante de
coche verificada. Nunca sustituye otro coche ni cae en silencio a una condición
o sesión vecina.

### Cambiar un setup

| Herramienta | Descripción |
|-------------|-------------|
| **remixSetup** | Deriva una versión nueva cambiando parámetros concretos — la acción central de Setups IA |
| **getCarParamSpace** | El espacio de parámetros **observado** por Braking Lab para un coche, como referencia previa a proponer valores |

Un remix solo puede tocar parámetros que tu garaje marca como ajustables; un cambio
sobre cualquier otro se rechaza y **no se escribe ninguna versión**.
`getCarParamSpace` no es autoritativo y lo dice: los archivos subidos son
editables, las observaciones están incompletas, y un valor no visto puede ser
perfectamente legal. Cada fila lleva cuántas observaciones la respaldan, así que
una lectura de un solo archivo no puede pasar por regla.

### Con qué condujiste de verdad

| Herramienta | Descripción |
|-------------|-------------|
| **getSetupTelemetryContext** | Un contexto de telemetría acotado para un setup y una sesión, con la identidad de simulador y coche comprobada, antes de proponer un remix |
| **confirmSetupUsage** | Confirma que un uso de setup sugerido corresponde a su sesión capturada, o corrígelo a otra versión |
| **previewSetupAssociation** | Valida una asociación setup/sesión propuesta y devuelve una vista previa, sin escribir evidencia |
| **commitSetupAssociation** | Confirma exactamente esa vista previa, después de que tú la apruebes |
| **retireSetupAssociation** | Retira un uso que ya no sostienes; el histórico y las evaluaciones enlazadas se conservan |

Braking Lab **te** pide confirmación a través de tu cliente MCP justo antes de
escribir una asociación. Un booleano que ponga el agente nunca vale como tu
consentimiento, y el ingeniero no puede previsualizar y confirmar en el mismo turno.

### Evidencia

| Herramienta | Descripción |
|-------------|-------------|
| **recordSetupEvaluation** | Añade tu veredicto subjetivo para un uso confirmado — el pulgar principal, más una comparación relativa opcional contra otra tanda del mismo setup |
| **getSetupExperimentHistory** | Tu histórico de experimentos de un setup: procedencia de versiones, usos confirmados, evaluaciones activas y resultados de telemetría |
| **compareSetupUsages** | Compara dos usos confirmados desde la telemetría capturada — ritmo, consistencia, tamaños de muestra, condiciones, factores de confusión y fuerza de la evidencia |

La comparación informa de prueba menos base y ahí se para. No declara un ganador,
porque dos tandas no establecen causalidad — mira
[Setups y tus sesiones](/es/docs/ai-setups/sessions).

**Prompts de ejemplo:**
- "Constrúyeme un setup de carrera en mojado para el Ferrari 296 LMGT3 en Spa."
- "Coge mi setup de clasificación de Monza y cálmame la entrada un clic."
- "¿Cuál de mis dos tandas en Baréin fue mejor de verdad, y por cuánto?"

## Clasificación

Rankings de rendimiento público.

| Herramienta | Descripción |
|-------------|-------------|
| **getDesktopLeaderboard** | Clasificación pública de sesiones subidas ordenadas por tiempo de vuelta — cada entrada lleva un ID de vuelta que puedes pasar a `compareTraces` para duelar esa vuelta |

## Ayuda y Documentación

Información de auto-servicio.

| Herramienta | Descripción |
|-------------|-------------|
| **whoami** | Con qué piloto está conectado el ingeniero, su plan, y cuántos informes de IA le quedan este mes |
| **getCapabilities** | Resumen estructurado de todo lo que puede hacer el Race Engineer |
| **getDocumentation** | Documentación de funcionalidades del app con enlaces |
| **getFunctionSchema** | Introspecciona el JSON Schema completo de cualquier función antes de llamarla |

## Siguientes pasos

- [Ejemplos](/es/docs/race-engineer/examples) — Mira conversaciones de ejemplo de principio a fin
- [Coaching](/es/docs/race-engineer/coaching) — Aprende a obtener el mejor análisis de coaching
- [Preparación de Carreras](/es/docs/race-engineer/preparation) — Usa el engineer para preparar carreras
