Requisitos previos
- Node.js 18 o posterior instalado en su maquina
- Una clave API de Avala (genere una en Mission Control en Settings > Security)
Configuracion
Claude Desktop
Abra su archivo de configuracion de Claude Desktop:- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Cursor
Cree o edite.cursor/mcp.json en la raiz de su proyecto (o en el directorio de configuracion global):
VS Code
Cree o edite.vscode/mcp.json en su espacio de trabajo:
Claude Code
Agregue el MCP server de Avala a Claude Code con un solo comando:ChatGPT
El soporte MCP de ChatGPT esta en evolucion. Consulte la
documentacion de OpenAI para las ultimas
instrucciones de configuracion y disponibilidad en su plan y region.
Modo de seguridad MCP
Por seguridad, el MCP server es de solo lectura por defecto. Las herramientas de mutacion no se registran a menos que las habilite explicitamente con:create_datasetcreate_agent,delete_agentcreate_annotation_issue,update_annotation_issue,delete_annotation_issuecreate_storage_config,delete_storage_configcreate_webhook,delete_webhookcreate_exportevaluate_qualitycompute_consensusfleet_register_device,fleet_acknowledge_alert
Herramientas MCP disponibles
Una vez conectado, las siguientes herramientas estan disponibles para el asistente de IA:| Herramienta | Descripcion |
|---|---|
list_datasets | Listar todos los datasets en su espacio de trabajo. |
get_dataset | Obtener detalles de un dataset especifico. |
create_dataset | Crear un nuevo dataset para anotacion. mutation |
list_projects | Listar todos los proyectos de anotacion. |
get_project | Obtener los detalles completos de un proyecto. |
create_export | Iniciar una nueva exportacion para un dataset o proyecto. (requiere AVALA_MCP_ENABLE_MUTATIONS=true) |
get_export_status | Verificar el estado de una exportacion. |
list_exports | Listar todas las exportaciones. |
get_workspace_stats | Obtener un resumen de uso del espacio de trabajo. |
list_tasks | Listar tareas con filtrado opcional. |
get_task | Obtener detalles de una tarea. |
list_agents | Listar agentes de automatizacion. |
get_agent | Obtener detalles de un agente. |
create_agent | Crear un nuevo agente de automatizacion. (requiere AVALA_MCP_ENABLE_MUTATIONS=true) |
delete_agent | Eliminar un agente. (requiere AVALA_MCP_ENABLE_MUTATIONS=true) |
list_webhooks | Listar suscripciones de webhook. |
create_webhook | Crear una suscripcion de webhook. (requiere AVALA_MCP_ENABLE_MUTATIONS=true) |
delete_webhook | Eliminar un webhook. (requiere AVALA_MCP_ENABLE_MUTATIONS=true) |
list_storage_configs | Listar configuraciones de almacenamiento. |
create_storage_config | Crear una configuracion de almacenamiento. (requiere AVALA_MCP_ENABLE_MUTATIONS=true) |
test_storage_config | Probar la conectividad de almacenamiento. |
delete_storage_config | Eliminar una configuracion de almacenamiento. (requiere AVALA_MCP_ENABLE_MUTATIONS=true) |
list_quality_targets | Listar objetivos de calidad de un proyecto. |
evaluate_quality | Evaluar objetivos de calidad. (requiere AVALA_MCP_ENABLE_MUTATIONS=true) |
get_consensus_summary | Obtener el resumen de consenso de un proyecto. |
compute_consensus | Iniciar el calculo de consenso. (requiere AVALA_MCP_ENABLE_MUTATIONS=true) |
list_organizations | Listar organizaciones. |
get_organization | Obtener detalles de una organizacion. |
list_slices | Listar slices de un propietario. |
get_slice | Obtener detalles de un slice. |
list_annotation_issues_by_sequence | Listar problemas de anotacion de una secuencia. |
create_annotation_issue | Crear un nuevo problema de anotacion. (requiere AVALA_MCP_ENABLE_MUTATIONS=true) |
update_annotation_issue | Actualizar un problema de anotacion. (requiere AVALA_MCP_ENABLE_MUTATIONS=true) |
delete_annotation_issue | Eliminar un problema de anotacion. (requiere AVALA_MCP_ENABLE_MUTATIONS=true) |
list_annotation_issues_by_dataset | Listar problemas de anotacion de un dataset. |
get_annotation_issue_metrics | Obtener metricas de problemas de un dataset. |
list_qc_tools | Listar herramientas QC disponibles. |
Fleet (Vista previa)
Las herramientas Fleet estan en vista previa y pueden cambiar. Proporcionan acceso de lectura y escritura a dispositivos, grabaciones, eventos, alertas y reglas de la flota.
| Herramienta | Descripcion |
|---|---|
fleet_list_devices | Listar dispositivos de la flota con filtros opcionales. |
fleet_get_device | Obtener informacion detallada de un dispositivo de la flota. |
fleet_list_recordings | Listar grabaciones de la flota con filtros opcionales. |
fleet_get_recording | Obtener informacion detallada de una grabacion. |
fleet_list_events | Listar eventos de la flota con filtros opcionales. |
fleet_list_alerts | Listar alertas de la flota con filtros opcionales. |
fleet_list_rules | Listar reglas de la flota con filtros opcionales. |
fleet_register_device | Registrar un nuevo dispositivo de flota. mutation |
fleet_acknowledge_alert | Confirmar una alerta de flota. mutation |
Definiciones de herramientas
Esquemas detallados para cada herramienta MCP. Todas las herramientas devuelven JSON como contenido de texto.list_datasets
Lista todos los datasets en el espacio de trabajo. Parameters:dataType(string, optional) — Filtrar por tipo de datos (image,video,lidar,mcap,splat)name(string, optional) — Filtrar por nombre de dataset (coincidencia parcial)status(string, optional) — Filtrar por estado del datasetvisibility(string, optional) — Filtrar por visibilidad (privateopublic)limit(number, optional) — Numero maximo de datasets a devolvercursor(string, optional) — Cursor de paginacion de una solicitud anterior
get_dataset
Obtiene los detalles de un dataset especifico. Parameters:uid(string, required) — El identificador unico (UUID) del dataset
list_projects
Lista todos los proyectos de anotacion. Parameters:limit(number, optional) — Numero maximo de proyectos a devolvercursor(string, optional) — Cursor de paginacion de una solicitud anterior
get_project
Obtiene los detalles de un proyecto especifico. Parameters:uid(string, required) — El identificador unico (UUID) del proyecto
create_dataset
Crea un nuevo dataset para anotacion. Parameters:name(string, required) — Nombre para mostrar del datasetslug(string, required) — Identificador compatible con URL para el datasetdataType(string, required) — Tipo de datos:image,video,lidaromcapisSequence(boolean, optional) — Si el dataset contiene secuencias (por defecto: false)visibility(string, optional) — Visibilidad del dataset:privateopublic(por defecto:private)createMetadata(boolean, optional) — Si se deben crear los metadatos del dataset (por defecto: true)providerConfig(object, optional) — Configuracion del proveedor de almacenamiento en la nubeownerName(string, optional) — Nombre de usuario o correo electronico del propietario del dataset
create_export
Inicia una nueva exportacion para un dataset o proyecto. Parameters:project(string, optional) — UID del proyecto a exportardataset(string, optional) — UID del dataset a exportar
get_export_status
Verifica el estado de una exportacion. Parameters:uid(string, required) — El identificador unico (UUID) de la exportacion
list_exports
Lista todas las exportaciones en el espacio de trabajo. Parameters:limit(number, optional) — Numero maximo de exportaciones a devolvercursor(string, optional) — Cursor de paginacion de una solicitud anterior
get_workspace_stats
Obtiene un resumen rapido del contenido del espacio de trabajo (datasets, proyectos, exportaciones). Parameters: Ninguno Ejemplo de respuesta:list_tasks
Lista tareas con filtrado opcional por proyecto o estado. Parameters:project(string, optional) — Filtrar por UID de proyectostatus(string, optional) — Filtrar por estado de tarealimit(number, optional) — Numero maximo de tareas a devolvercursor(string, optional) — Cursor de paginacion de una solicitud anterior
get_task
Obtiene informacion detallada sobre una tarea especifica. Parameters:uid(string, required) — El identificador unico (UUID) de la tarea
list_agents
Lista todos los agentes de automatizacion configurados en su espacio de trabajo. Parameters:limit(number, optional) — Numero maximo de agentes a devolvercursor(string, optional) — Cursor de paginacion de una solicitud anterior
get_agent
Obtiene informacion detallada sobre un agente de automatizacion especifico. Parameters:uid(string, required) — El identificador unico (UUID) del agente
create_agent
Crea un nuevo agente de automatizacion con suscripciones a eventos y una URL de devolucion de llamada. Parameters:name(string, required) — Nombre del agenteevents(string[], required) — Lista de tipos de eventos a los que el agente se suscribecallbackUrl(string, optional) — URL para recibir devoluciones de llamada de eventosdescription(string, optional) — Descripcion del agenteproject(string, optional) — UID del proyecto para limitar el alcance del agentetaskTypes(string[], optional) — Tipos de tareas que maneja el agente
delete_agent
Elimina un agente de automatizacion por su UID. Parameters:uid(string, required) — El identificador unico (UUID) del agente a eliminar
list_webhooks
Lista todas las suscripciones de webhook en su espacio de trabajo. Parameters:limit(number, optional) — Numero maximo de webhooks a devolvercursor(string, optional) — Cursor de paginacion de una solicitud anterior
create_webhook
Crea una nueva suscripcion de webhook para eventos especificos. Parameters:targetUrl(string, required) — URL para recibir entregas de webhookevents(string[], required) — Lista de tipos de eventos a los que suscribirse
delete_webhook
Elimina una suscripcion de webhook por su UID. Parameters:uid(string, required) — El identificador unico (UUID) del webhook a eliminar
list_storage_configs
Lista todas las configuraciones de almacenamiento en su espacio de trabajo. Parameters:limit(number, optional) — Numero maximo de configuraciones de almacenamiento a devolvercursor(string, optional) — Cursor de paginacion de una solicitud anterior
create_storage_config
Crea una nueva configuracion de almacenamiento (S3 o Google Cloud Storage). Parameters:name(string, required) — Nombre para la configuracion de almacenamientoprovider(string, required) — Tipo de proveedor de almacenamiento (s3ogcs)s3BucketName(string, optional) — Nombre del bucket S3s3BucketRegion(string, optional) — Region del bucket S3s3BucketPrefix(string, optional) — Prefijo de clave S3s3AccessKeyId(string, optional) — ID de clave de acceso S3 (almacenado de forma segura en el servidor)s3SecretAccessKey(string, optional) — Clave de acceso secreta S3 (almacenada de forma segura en el servidor)s3IsAccelerated(boolean, optional) — Habilitar S3 Transfer AccelerationgcStorageBucketName(string, optional) — Nombre del bucket de Google Cloud StoragegcStoragePrefix(string, optional) — Prefijo de Google Cloud StoragegcStorageAuthJsonContent(string, optional) — Credenciales JSON de la cuenta de servicio GCS (almacenadas de forma segura en el servidor)
test_storage_config
Prueba la conectividad de una configuracion de almacenamiento. Parameters:uid(string, required) — El identificador unico (UUID) de la configuracion de almacenamiento a probar
delete_storage_config
Elimina una configuracion de almacenamiento por su UID. Parameters:uid(string, required) — El identificador unico (UUID) de la configuracion de almacenamiento a eliminar
list_quality_targets
Lista los objetivos de calidad configurados para un proyecto especifico. Parameters:projectUid(string, required) — El identificador unico (UUID) del proyectolimit(number, optional) — Numero maximo de objetivos de calidad a devolvercursor(string, optional) — Cursor de paginacion de una solicitud anterior
evaluate_quality
Evalua todos los objetivos de calidad de un proyecto y devuelve su estado actual. Parameters:projectUid(string, required) — El identificador unico (UUID) del proyecto a evaluar
get_consensus_summary
Obtiene un resumen de consenso para un proyecto que incluye puntuaciones medias/medianas y distribucion. Parameters:projectUid(string, required) — El identificador unico (UUID) del proyecto
compute_consensus
Inicia el calculo de consenso para un proyecto. Parameters:projectUid(string, required) — El identificador unico (UUID) del proyecto
list_organizations
Lista todas las organizaciones de las que es miembro. Parameters:limit(number, optional) — Numero maximo de organizaciones a devolvercursor(string, optional) — Cursor de paginacion de una solicitud anterior
get_organization
Obtiene informacion detallada sobre una organizacion especifica. Parameters:slug(string, required) — El identificador slug de la organizacion
list_slices
Lista los slices de un propietario (usuario u organizacion). Parameters:owner(string, required) — Nombre del propietario (slug de usuario u organizacion)limit(number, optional) — Numero maximo de slices a devolvercursor(string, optional) — Cursor de paginacion de una solicitud anterior
get_slice
Obtiene informacion detallada sobre un slice especifico. Parameters:owner(string, required) — Nombre del propietario (slug de usuario u organizacion)slug(string, required) — El slug del slice
list_annotation_issues_by_sequence
Lista todos los problemas de anotacion de una secuencia especifica. Parameters:sequenceUid(string, required) — El UUID de la secuenciadatasetItemUid(string, optional) — Filtrar por UUID del elemento de datasetprojectUid(string, optional) — Filtrar por UUID del proyecto
create_annotation_issue
Crea un nuevo problema de anotacion en una secuencia. Parameters:sequenceUid(string, required) — El UUID de la secuenciatoolUid(string, required) — UUID de la herramienta de anotacionproblemUid(string, required) — UUID del tipo de problemadatasetItemUid(string, optional) — UUID del elemento de datasetprojectUid(string, optional) — UUID del proyectopriority(string, optional) — Nivel de prioridad:lowest,low,medium,high,highestseverity(string, optional) — Nivel de severidad:critical,moderatedescription(string, optional) — Descripcion del problemawrongClass(string, optional) — Etiqueta de clase incorrectacorrectClass(string, optional) — Etiqueta de clase correctaobjectUid(string, optional) — UUID del objeto de anotacionshouldReAnnotate(boolean, optional) — Si se debe re-anotarshouldDelete(boolean, optional) — Si se debe eliminar la anotacionframesAffected(string, optional) — Fotogramas afectados por el problema
update_annotation_issue
Actualiza un problema de anotacion existente (estado, prioridad, etc.). Parameters:sequenceUid(string, required) — El UUID de la secuenciaissueUid(string, required) — El UUID del problema de anotacionstatus(string, optional) — Estado:open,relabeling,in_review,completed,cant_reproduce,awaiting_feedback,no_action_takenpriority(string, optional) — Nivel de prioridad:lowest,low,medium,high,highestseverity(string, optional) — Nivel de severidad:critical,moderatedescription(string, optional) — Descripcion actualizadatoolUid(string, optional) — UUID de la herramienta de anotacionproblemUid(string, optional) — UUID del tipo de problemawrongClass(string, optional) — Etiqueta de clase incorrectaframesAffected(string, optional) — Fotogramas afectados por el problema
delete_annotation_issue
Elimina un problema de anotacion. Parameters:sequenceUid(string, required) — El UUID de la secuenciaissueUid(string, required) — El UUID del problema de anotacion a eliminar
list_annotation_issues_by_dataset
Lista todos los problemas de anotacion de un dataset. Parameters:owner(string, required) — Nombre de usuario del propietario del datasetdatasetSlug(string, required) — Slug del datasetsequenceUid(string, optional) — Filtrar por UUID de secuencia
get_annotation_issue_metrics
Obtiene metricas agregadas de problemas de anotacion de un dataset (conteos por estado/prioridad/severidad, tiempos de cierre). Parameters:owner(string, required) — Nombre de usuario del propietario del datasetdatasetSlug(string, required) — Slug del datasetsequenceUid(string, optional) — Filtrar por UUID de secuencia
list_qc_tools
Lista las herramientas QC de anotacion disponibles para un tipo de dataset dado. Parameters:datasetType(string, required) — El tipo de dataset (ej.lidar,image,video)
fleet_list_devices
Lista los dispositivos de la flota con filtros opcionales. Parameters:status(string, optional) — Filtrar por estado del dispositivo (online,offline,maintenance)type(string, optional) — Filtrar por tipo de dispositivolimit(number, optional) — Numero maximo de dispositivos a devolvercursor(string, optional) — Cursor de paginacion
fleet_get_device
Obtiene informacion detallada sobre un dispositivo de flota especifico. Parameters:uid(string, required) — El identificador unico del dispositivo
fleet_list_recordings
Lista las grabaciones de la flota con filtros opcionales. Parameters:device(string, optional) — Filtrar por UID de dispositivostatus(string, optional) — Filtrar por estado de grabacionlimit(number, optional) — Numero maximo de grabaciones a devolvercursor(string, optional) — Cursor de paginacion
fleet_get_recording
Obtiene informacion detallada sobre una grabacion especifica. Parameters:uid(string, required) — El identificador unico de la grabacion
fleet_list_events
Lista los eventos de la flota con filtros opcionales. Parameters:recording(string, optional) — Filtrar por UID de grabaciondevice(string, optional) — Filtrar por UID de dispositivotype(string, optional) — Filtrar por tipo de eventoseverity(string, optional) — Filtrar por severidadlimit(number, optional) — Numero maximo de eventos a devolvercursor(string, optional) — Cursor de paginacion
fleet_list_alerts
Lista las alertas de la flota con filtros opcionales. Parameters:status(string, optional) — Filtrar por estado de alerta (open,acknowledged,resolved)severity(string, optional) — Filtrar por severidad (info,warning,error,critical)device(string, optional) — Filtrar por UID de dispositivorule(string, optional) — Filtrar por UID de reglalimit(number, optional) — Numero maximo de alertas a devolvercursor(string, optional) — Cursor de paginacion
fleet_list_rules
Lista las reglas de la flota con filtros opcionales. Parameters:enabled(boolean, optional) — Filtrar por estado de habilitacionlimit(number, optional) — Numero maximo de reglas a devolvercursor(string, optional) — Cursor de paginacion
fleet_register_device
Registra un nuevo dispositivo de flota. Parameters:name(string, required) — Nombre del dispositivotype(string, required) — Tipo del dispositivofirmwareVersion(string, optional) — Version del firmwaretags(string[], optional) — Etiquetas para el dispositivo
fleet_acknowledge_alert
Confirma una alerta de flota. Parameters:uid(string, required) — El identificador unico de la alerta a confirmar
Recetas
Flujos de trabajo de varios pasos que puede ejecutar mediante lenguaje natural. Cada receta muestra las llamadas a herramientas que el asistente realiza en segundo plano.Receta 1: Revision de salud de datasets
Pregunte a su asistente: “Dame una revision de salud de mi espacio de trabajo — cuantos datasets tengo y cuales tienen mas elementos?” Paso 1 — El asistente llama aget_workspace_stats para obtener la vision general.
list_datasets con limit: 50 para obtener todos los datasets.
Paso 3 — El asistente ordena los resultados por itemCount y presenta un resumen clasificado:
Tiene 14 datasets. Los tres mas grandes son:
- Warehouse Cameras — 34.200 elementos (image)
- Urban Driving Q1 — 12.450 elementos (lidar)
- Parking Lot Footage — 8.900 elementos (video)
Receta 2: Exportar y descargar
Pregunte a su asistente: “Exporte el proyecto Urban Driving Q1 y aviseme cuando este listo.” Paso 1 — El asistente llama alist_projects para encontrar el UID del proyecto que coincida con “Urban Driving Q1”.
Paso 2 — El asistente llama a create_export con el UID del proyecto.
get_export_status hasta que el estado cambie a completed.
Su exportacion esta lista (50 MB). Descarguelo aqui: https://api.avala.ai/exports/.../download
Receta 3: Auditoria de calidad en todos los proyectos
Pregunte a su asistente: “Evalue los objetivos de calidad de todos mis proyectos y senale los que estan fallando.” Paso 1 — El asistente llama alist_projects para obtener todos los proyectos.
Paso 2 — Para cada proyecto, el asistente llama a evaluate_quality con el UID del proyecto.
Paso 3 — El asistente agrega los resultados y destaca los fallos:
5 de 7 proyectos cumplen todos los objetivos de calidad. Dos requieren atencion:
- Sidewalk Segmentation — Objetivo “Label accuracy” en 88% (umbral: 95%)
- Fleet Camera Review — Objetivo “Consensus score” en 0,72 (umbral: 0,85)
Receta 4: Monitoreo de dispositivos de la flota
Pregunte a su asistente: “Muestreme todas las alertas de flota que no han sido confirmadas, agrupadas por severidad.” Paso 1 — El asistente llama afleet_list_alerts con status: "open".
Paso 2 — El asistente agrupa y formatea la respuesta:
Critico (1)Paso 3 — Puede continuar: “Confirme todas las alertas de nivel de advertencia.” El asistente llama aAdvertencia (2)
- Dock Camera 3 — “Dispositivo fuera de linea por mas de 24 horas” (desde el 18 de marzo)
- Forklift Sensor Unit 12 — “Temperatura del dispositivo supero el umbral (72C)” (desde el 19 de marzo)
- Rooftop LiDAR 1 — “Espacio en disco bajo (< 5%)” (desde el 19 de marzo)
fleet_acknowledge_alert para cada UID de alerta de tipo advertencia.
Receta 5: Triaje de problemas de anotacion
Pregunte a su asistente: “Obtenga las metricas de problemas de anotacion del dataset urban-driving-q1 y muestreme el desglose.” Paso 1 — El asistente llama aget_annotation_issue_metrics con el propietario y el slug del dataset.
Paso 2 — El asistente presenta un resumen formateado:
Urban Driving Q1 — Metricas de problemas Por estado: 12 abiertos, 5 en revision, 3 en re-etiquetado, 45 completados Por severidad: 8 criticos, 57 moderados Por prioridad: 2 mas altos, 6 altos, 18 medios, 25 bajos, 14 mas bajos Tiempo promedio de cierre: 4,2 horasPaso 3 — Usted continua: “Liste los problemas criticos abiertos.” El asistente llama a
list_annotation_issues_by_dataset con filtros y muestra los resultados.
Ejemplos de prompts
Aqui hay algunos prompts en lenguaje natural que puede usar con cualquier cliente compatible con MCP:Solucion de problemas
AVALA_API_KEY no definida
El MCP server se detiene inmediatamente con el codigo de error 1 si la variable de entorno AVALA_API_KEY no esta presente. Asegurese de que la clave este definida en el bloque env de su configuracion MCP o exportada en su shell antes de iniciar el servidor.
Las herramientas de mutacion no aparecen
Si herramientas comocreate_export, create_agent o fleet_register_device no aparecen en la lista de herramientas, necesita definir AVALA_MCP_ENABLE_MUTATIONS=true en el entorno del servidor. Agreguelo al bloque env de su archivo de configuracion MCP:
npx no encontrado o version incorrecta de Node.js
El MCP server requiere Node.js 18 o posterior. Si ve npx: command not found o errores de sintaxis de modulos, verifique su version de Node.js:
MCP server en cache desactualizado
Si actualizo recientemente el paquete@avala-ai/mcp-server pero todavia ve el comportamiento anterior o herramientas faltantes, npx puede estar sirviendo una version en cache. Fuerce una nueva instalacion:
Clave API invalida o expirada
Si las llamadas a herramientas devuelven401 Unauthorized, su clave API puede ser invalida, estar expirada o revocada. Genere una nueva clave en Mission Control en Settings > Security y actualice su configuracion MCP.
El MCP server de Avala es de codigo abierto. Visite el repositorio en GitHub para ver el codigo fuente o contribuir.