Zum Hauptinhalt springen
Das Model Context Protocol (MCP) ist ein offener Standard, der es KI-Assistenten ermoeglicht, mit externen Tools und Datenquellen zu interagieren. Der MCP Server von Avala stellt Ihre Datasets, Projekte und Exporte als Tools bereit, die jeder MCP-kompatible Client aufrufen kann, sodass Sie Ihren Annotationsworkflow in natuerlicher Sprache verwalten koennen, ohne den Kontext zu wechseln. Das bedeutet, dass Sie Claude bitten koennen, “alle meine Datasets aufzulisten”, Cursor einen Export erstellen lassen oder VS Code verwenden koennen, um den Projektstatus zu pruefen — alles basierend auf derselben Avala API, die Sie bereits verwenden.

Voraussetzungen

  • Node.js 18 oder hoeher auf Ihrem Computer installiert
  • Ein Avala API-Schluessel (generieren Sie einen in Mission Control unter Settings > Security)

Einrichtung

Claude Desktop

Oeffnen Sie Ihre Claude Desktop-Konfigurationsdatei:
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
Fuegen Sie den Avala MCP Server hinzu:
Committen Sie niemals Konfigurationsdateien mit echten API-Schluesseln in die Versionskontrolle. Setzen Sie AVALA_API_KEY als Systemumgebungsvariable oder ersetzen Sie "your-api-key" lokal durch Ihren tatsaechlichen Schluessel und stellen Sie sicher, dass die Konfigurationsdatei in Ihrer .gitignore steht.
{
  "mcpServers": {
    "avala": {
      "command": "npx",
      "args": ["-y", "@avala-ai/mcp-server"],
      "env": {
        "AVALA_API_KEY": "your-api-key"
      }
    }
  }
}
Starten Sie Claude Desktop neu. Sie sollten die Avala-Tools im Tool-Auswahlmenue sehen.

Cursor

Erstellen oder bearbeiten Sie .cursor/mcp.json im Stammverzeichnis Ihres Projekts (oder im globalen Konfigurationsverzeichnis):
.cursor/mcp.json befindet sich im Stammverzeichnis Ihres Projekts und kann in git committet werden. Fuegen Sie sie zu Ihrer .gitignore hinzu oder setzen Sie AVALA_API_KEY als Systemumgebungsvariable, anstatt sie direkt in die Konfigurationsdatei einzufuegen.
{
  "mcpServers": {
    "avala": {
      "command": "npx",
      "args": ["-y", "@avala-ai/mcp-server"],
      "env": {
        "AVALA_API_KEY": "your-api-key"
      }
    }
  }
}
Starten Sie Cursor neu oder laden Sie das Fenster neu. Die Avala-Tools erscheinen im Agentenmodus von Cursor.

VS Code

Erstellen oder bearbeiten Sie .vscode/mcp.json in Ihrem Arbeitsbereich:
.vscode/mcp.json befindet sich in Ihrem Arbeitsbereich und kann in git committet werden. Fuegen Sie sie zu Ihrer .gitignore hinzu oder setzen Sie AVALA_API_KEY als Systemumgebungsvariable, anstatt sie direkt in die Konfigurationsdatei einzufuegen.
{
  "mcpServers": {
    "avala": {
      "command": "npx",
      "args": ["-y", "@avala-ai/mcp-server"],
      "env": {
        "AVALA_API_KEY": "your-api-key"
      }
    }
  }
}
Stellen Sie sicher, dass die GitHub Copilot-Erweiterung mit aktivierter MCP-Unterstuetzung installiert ist. Starten Sie VS Code neu, um den neuen Server zu erkennen.

Claude Code

Fuegen Sie den Avala MCP Server mit einem einzigen Befehl zu Claude Code hinzu:
claude mcp add avala -- npx -y @avala-ai/mcp-server
Setzen Sie Ihren API-Schluessel als Umgebungsvariable:
export AVALA_API_KEY="your-api-key"
Starten Sie Claude Code neu. Die Avala-Tools stehen in Ihrer Sitzung zur Verfuegung.

ChatGPT

Die MCP-Unterstuetzung von ChatGPT entwickelt sich weiter. Beachten Sie die OpenAI-Dokumentation fuer die neuesten Einrichtungsanweisungen und die Verfuegbarkeit in Ihrem Plan und Ihrer Region.

MCP-Sicherheitsmodus

Aus Sicherheitsgruenden ist der MCP Server standardmaessig schreibgeschuetzt. Mutierende Tools werden nicht registriert, es sei denn, Sie aktivieren sie explizit mit:
AVALA_MCP_ENABLE_MUTATIONS=true
Diese Umgebungsvariable kann in der Prozessumgebung Ihres MCP Servers gesetzt werden, bevor Sie den Server starten. Standardmaessig sind die folgenden Schreib-/Loeschoperationen blockiert:
  • create_dataset
  • create_agent, delete_agent
  • create_annotation_issue, update_annotation_issue, delete_annotation_issue
  • create_storage_config, delete_storage_config
  • create_webhook, delete_webhook
  • create_export
  • evaluate_quality
  • compute_consensus
  • fleet_register_device, fleet_acknowledge_alert

Verfuegbare MCP-Tools

Nach der Verbindung stehen dem KI-Assistenten die folgenden Tools zur Verfuegung:
ToolBeschreibung
list_datasetsAlle Datasets in Ihrem Arbeitsbereich auflisten.
get_datasetDetails eines bestimmten Datasets abrufen.
create_datasetEin neues Dataset fuer die Annotation erstellen. mutation
list_projectsAlle Annotationsprojekte auflisten.
get_projectVollstaendige Projektdetails abrufen.
create_exportEinen neuen Export fuer ein Dataset oder Projekt ausloesen. (erfordert AVALA_MCP_ENABLE_MUTATIONS=true)
get_export_statusDen Exportstatus pruefen.
list_exportsAlle Exporte auflisten.
get_workspace_statsEine Zusammenfassung der Arbeitsbereichsnutzung abrufen.
list_tasksAufgaben mit optionaler Filterung auflisten.
get_taskAufgabendetails abrufen.
list_agentsAutomatisierungsagenten auflisten.
get_agentAgentendetails abrufen.
create_agentEinen neuen Automatisierungsagenten erstellen. (erfordert AVALA_MCP_ENABLE_MUTATIONS=true)
delete_agentEinen Agenten loeschen. (erfordert AVALA_MCP_ENABLE_MUTATIONS=true)
list_webhooksWebhook-Abonnements auflisten.
create_webhookEin Webhook-Abonnement erstellen. (erfordert AVALA_MCP_ENABLE_MUTATIONS=true)
delete_webhookEinen Webhook loeschen. (erfordert AVALA_MCP_ENABLE_MUTATIONS=true)
list_storage_configsSpeicherkonfigurationen auflisten.
create_storage_configEine Speicherkonfiguration erstellen. (erfordert AVALA_MCP_ENABLE_MUTATIONS=true)
test_storage_configDie Speicherverbindung testen.
delete_storage_configEine Speicherkonfiguration loeschen. (erfordert AVALA_MCP_ENABLE_MUTATIONS=true)
list_quality_targetsQualitaetsziele eines Projekts auflisten.
evaluate_qualityQualitaetsziele auswerten. (erfordert AVALA_MCP_ENABLE_MUTATIONS=true)
get_consensus_summaryDie Konsens-Zusammenfassung eines Projekts abrufen.
compute_consensusDie Konsensberechnung ausloesen. (erfordert AVALA_MCP_ENABLE_MUTATIONS=true)
list_organizationsOrganisationen auflisten.
get_organizationOrganisationsdetails abrufen.
list_slicesSlices eines Eigentuemers auflisten.
get_sliceSlice-Details abrufen.
list_annotation_issues_by_sequenceAnnotationsprobleme einer Sequenz auflisten.
create_annotation_issueEin neues Annotationsproblem erstellen. (erfordert AVALA_MCP_ENABLE_MUTATIONS=true)
update_annotation_issueEin Annotationsproblem aktualisieren. (erfordert AVALA_MCP_ENABLE_MUTATIONS=true)
delete_annotation_issueEin Annotationsproblem loeschen. (erfordert AVALA_MCP_ENABLE_MUTATIONS=true)
list_annotation_issues_by_datasetAnnotationsprobleme eines Datasets auflisten.
get_annotation_issue_metricsProblemmetriken eines Datasets abrufen.
list_qc_toolsVerfuegbare QC-Tools auflisten.

Fleet (Vorschau)

Die Fleet-Tools befinden sich in der Vorschau und koennen sich aendern. Sie bieten Lese- und Schreibzugriff auf Flottengeraete, Aufnahmen, Ereignisse, Warnungen und Regeln.
ToolBeschreibung
fleet_list_devicesFlottengeraete mit optionalen Filtern auflisten.
fleet_get_deviceDetaillierte Informationen ueber ein Flottengeraet abrufen.
fleet_list_recordingsFlottenaufnahmen mit optionalen Filtern auflisten.
fleet_get_recordingDetaillierte Informationen ueber eine Aufnahme abrufen.
fleet_list_eventsFlottenereignisse mit optionalen Filtern auflisten.
fleet_list_alertsFlottenwarnungen mit optionalen Filtern auflisten.
fleet_list_rulesFlottenregeln mit optionalen Filtern auflisten.
fleet_register_deviceEin neues Flottengeraet registrieren. mutation
fleet_acknowledge_alertEine Flottenwarnung bestaetigen. mutation

Tool-Definitionen

Detaillierte Schemata fuer jedes MCP-Tool. Alle Tools geben JSON als Textinhalt zurueck.

list_datasets

Listet alle Datasets im Arbeitsbereich auf. Parameters:
  • dataType (string, optional) — Nach Datentyp filtern (image, video, lidar, mcap, splat)
  • name (string, optional) — Nach Dataset-Name filtern (teilweise Uebereinstimmung)
  • status (string, optional) — Nach Dataset-Status filtern
  • visibility (string, optional) — Nach Sichtbarkeit filtern (private oder public)
  • limit (number, optional) — Maximale Anzahl zurueckzugebender Datasets
  • cursor (string, optional) — Paginierungscursor einer vorherigen Anfrage
Beispielantwort:
{
  "datasets": [
    {
      "uid": "d8f2e1a4-3b7c-4e9f-a1d6-5c8b9e0f2a3d",
      "name": "Urban Driving Q1",
      "slug": "urban-driving-q1",
      "dataType": "lidar",
      "itemCount": 12450,
      "visibility": "private",
      "status": "active",
      "createdAt": "2026-01-15T08:30:00Z"
    },
    {
      "uid": "a1b2c3d4-5e6f-7a8b-9c0d-e1f2a3b4c5d6",
      "name": "Warehouse Cameras",
      "slug": "warehouse-cameras",
      "dataType": "image",
      "itemCount": 34200,
      "visibility": "private",
      "status": "active",
      "createdAt": "2026-02-20T14:15:00Z"
    }
  ],
  "cursor": "eyJpZCI6MTAwfQ=="
}

get_dataset

Ruft die Details eines bestimmten Datasets ab. Parameters:
  • uid (string, required) — Die eindeutige Kennung (UUID) des Datasets
Beispielantwort:
{
  "uid": "d8f2e1a4-3b7c-4e9f-a1d6-5c8b9e0f2a3d",
  "name": "Urban Driving Q1",
  "slug": "urban-driving-q1",
  "dataType": "lidar",
  "itemCount": 12450,
  "sequenceCount": 85,
  "visibility": "private",
  "status": "active",
  "owner": "acme-robotics",
  "createdAt": "2026-01-15T08:30:00Z",
  "updatedAt": "2026-03-10T11:45:00Z"
}
Fehlerantwort (ungueltiger UID):
{
  "error": "not_found",
  "message": "Dataset with UID 'invalid-uid-here' was not found.",
  "status": 404
}

list_projects

Listet alle Annotationsprojekte auf. Parameters:
  • limit (number, optional) — Maximale Anzahl zurueckzugebender Projekte
  • cursor (string, optional) — Paginierungscursor einer vorherigen Anfrage

get_project

Ruft die Details eines bestimmten Projekts ab. Parameters:
  • uid (string, required) — Die eindeutige Kennung (UUID) des Projekts

create_dataset

Erstellt ein neues Dataset fuer die Annotation. Parameters:
  • name (string, required) — Anzeigename des Datasets
  • slug (string, required) — URL-kompatibler Bezeichner fuer das Dataset
  • dataType (string, required) — Datentyp: image, video, lidar oder mcap
  • isSequence (boolean, optional) — Ob das Dataset Sequenzen enthaelt (Standard: false)
  • visibility (string, optional) — Dataset-Sichtbarkeit: private oder public (Standard: private)
  • createMetadata (boolean, optional) — Ob Dataset-Metadaten erstellt werden sollen (Standard: true)
  • providerConfig (object, optional) — Cloud-Speicheranbieter-Konfiguration
  • ownerName (string, optional) — Benutzername oder E-Mail des Dataset-Eigentuemers

create_export

Loest einen neuen Export fuer ein Dataset oder Projekt aus. Parameters:
  • project (string, optional) — Projekt-UID zum Exportieren
  • dataset (string, optional) — Dataset-UID zum Exportieren
Beispielantwort:
{
  "uid": "e3a1b2c4-9d8f-4e7a-b6c5-d4e3f2a1b0c9",
  "status": "pending",
  "project": "770a9600-a40d-63f6-c938-668877660000",
  "createdAt": "2026-03-19T10:00:00Z"
}

get_export_status

Prueft den Status eines Exports. Parameters:
  • uid (string, required) — Die eindeutige Kennung (UUID) des Exports
Beispielantwort:
{
  "uid": "e3a1b2c4-9d8f-4e7a-b6c5-d4e3f2a1b0c9",
  "status": "completed",
  "project": "770a9600-a40d-63f6-c938-668877660000",
  "downloadUrl": "https://api.avala.ai/exports/e3a1b2c4-9d8f-4e7a-b6c5-d4e3f2a1b0c9/download",
  "fileSize": 52428800,
  "createdAt": "2026-03-19T10:00:00Z",
  "completedAt": "2026-03-19T10:02:34Z"
}

list_exports

Listet alle Exporte im Arbeitsbereich auf. Parameters:
  • limit (number, optional) — Maximale Anzahl zurueckzugebender Exporte
  • cursor (string, optional) — Paginierungscursor einer vorherigen Anfrage

get_workspace_stats

Ruft eine schnelle Uebersicht ueber die Arbeitsbereichsinhalte ab (Datasets, Projekte, Exporte). Parameters: Keine Beispielantwort:
{
  "datasets": 14,
  "projects": 7,
  "exports": 23,
  "tasks": {
    "total": 8420,
    "pending": 312,
    "completed": 7856,
    "inProgress": 252
  },
  "members": 18
}

list_tasks

Listet Aufgaben mit optionaler Filterung nach Projekt oder Status auf. Parameters:
  • project (string, optional) — Nach Projekt-UID filtern
  • status (string, optional) — Nach Aufgabenstatus filtern
  • limit (number, optional) — Maximale Anzahl zurueckzugebender Aufgaben
  • cursor (string, optional) — Paginierungscursor einer vorherigen Anfrage
Beispielantwort:
{
  "tasks": [
    {
      "uid": "t1a2b3c4-d5e6-f7a8-b9c0-d1e2f3a4b5c6",
      "status": "completed",
      "project": "770a9600-a40d-63f6-c938-668877660000",
      "assignee": "jane.doe@acme.com",
      "completedAt": "2026-03-18T16:30:00Z"
    },
    {
      "uid": "t7e8f9a0-b1c2-d3e4-f5a6-b7c8d9e0f1a2",
      "status": "pending",
      "project": "770a9600-a40d-63f6-c938-668877660000",
      "assignee": null,
      "completedAt": null
    }
  ],
  "cursor": "eyJ0YXNrSWQiOjUwfQ=="
}

get_task

Ruft detaillierte Informationen ueber eine bestimmte Aufgabe ab. Parameters:
  • uid (string, required) — Die eindeutige Kennung (UUID) der Aufgabe

list_agents

Listet alle in Ihrem Arbeitsbereich konfigurierten Automatisierungsagenten auf. Parameters:
  • limit (number, optional) — Maximale Anzahl zurueckzugebender Agenten
  • cursor (string, optional) — Paginierungscursor einer vorherigen Anfrage

get_agent

Ruft detaillierte Informationen ueber einen bestimmten Automatisierungsagenten ab. Parameters:
  • uid (string, required) — Die eindeutige Kennung (UUID) des Agenten

create_agent

Erstellt einen neuen Automatisierungsagenten mit Ereignisabonnements und einer Callback-URL. Parameters:
  • name (string, required) — Name des Agenten
  • events (string[], required) — Liste der Ereignistypen, die der Agent abonniert
  • callbackUrl (string, optional) — URL fuer den Empfang von Ereignis-Callbacks
  • description (string, optional) — Beschreibung des Agenten
  • project (string, optional) — Projekt-UID zur Eingrenzung des Agentenbereichs
  • taskTypes (string[], optional) — Aufgabentypen, die der Agent bearbeitet

delete_agent

Loescht einen Automatisierungsagenten anhand seiner UID. Parameters:
  • uid (string, required) — Die eindeutige Kennung (UUID) des zu loeschenden Agenten

list_webhooks

Listet alle Webhook-Abonnements in Ihrem Arbeitsbereich auf. Parameters:
  • limit (number, optional) — Maximale Anzahl zurueckzugebender Webhooks
  • cursor (string, optional) — Paginierungscursor einer vorherigen Anfrage

create_webhook

Erstellt ein neues Webhook-Abonnement fuer bestimmte Ereignisse. Parameters:
  • targetUrl (string, required) — URL fuer den Empfang von Webhook-Zustellungen
  • events (string[], required) — Liste der zu abonnierenden Ereignistypen

delete_webhook

Loescht ein Webhook-Abonnement anhand seiner UID. Parameters:
  • uid (string, required) — Die eindeutige Kennung (UUID) des zu loeschenden Webhooks

list_storage_configs

Listet alle Speicherkonfigurationen in Ihrem Arbeitsbereich auf. Parameters:
  • limit (number, optional) — Maximale Anzahl zurueckzugebender Speicherkonfigurationen
  • cursor (string, optional) — Paginierungscursor einer vorherigen Anfrage

create_storage_config

Erstellt eine neue Speicherkonfiguration (S3 oder Google Cloud Storage). Parameters:
  • name (string, required) — Name der Speicherkonfiguration
  • provider (string, required) — Speicheranbietertyp (s3 oder gcs)
  • s3BucketName (string, optional) — S3-Bucket-Name
  • s3BucketRegion (string, optional) — S3-Bucket-Region
  • s3BucketPrefix (string, optional) — S3-Schluesselprefixe
  • s3AccessKeyId (string, optional) — S3-Zugriffsschluessel-ID (sicher serverseitig gespeichert)
  • s3SecretAccessKey (string, optional) — Geheimer S3-Zugriffsschluessel (sicher serverseitig gespeichert)
  • s3IsAccelerated (boolean, optional) — S3 Transfer Acceleration aktivieren
  • gcStorageBucketName (string, optional) — Google Cloud Storage-Bucket-Name
  • gcStoragePrefix (string, optional) — Google Cloud Storage-Praefix
  • gcStorageAuthJsonContent (string, optional) — GCS-Dienstkonto-JSON-Anmeldedaten (sicher serverseitig gespeichert)

test_storage_config

Testet die Konnektivitaet einer Speicherkonfiguration. Parameters:
  • uid (string, required) — Die eindeutige Kennung (UUID) der zu testenden Speicherkonfiguration

delete_storage_config

Loescht eine Speicherkonfiguration anhand ihrer UID. Parameters:
  • uid (string, required) — Die eindeutige Kennung (UUID) der zu loeschenden Speicherkonfiguration

list_quality_targets

Listet die fuer ein bestimmtes Projekt konfigurierten Qualitaetsziele auf. Parameters:
  • projectUid (string, required) — Die eindeutige Kennung (UUID) des Projekts
  • limit (number, optional) — Maximale Anzahl zurueckzugebender Qualitaetsziele
  • cursor (string, optional) — Paginierungscursor einer vorherigen Anfrage

evaluate_quality

Wertet alle Qualitaetsziele eines Projekts aus und gibt deren aktuellen Status zurueck. Parameters:
  • projectUid (string, required) — Die eindeutige Kennung (UUID) des auszuwertenden Projekts

get_consensus_summary

Ruft eine Konsens-Zusammenfassung fuer ein Projekt ab, einschliesslich Mittelwert-/Medianwerte und Verteilung. Parameters:
  • projectUid (string, required) — Die eindeutige Kennung (UUID) des Projekts

compute_consensus

Loest die Konsensberechnung fuer ein Projekt aus. Parameters:
  • projectUid (string, required) — Die eindeutige Kennung (UUID) des Projekts

list_organizations

Listet alle Organisationen auf, in denen Sie Mitglied sind. Parameters:
  • limit (number, optional) — Maximale Anzahl zurueckzugebender Organisationen
  • cursor (string, optional) — Paginierungscursor einer vorherigen Anfrage

get_organization

Ruft detaillierte Informationen ueber eine bestimmte Organisation ab. Parameters:
  • slug (string, required) — Der Slug-Bezeichner der Organisation

list_slices

Listet Slices eines Eigentuemers (Benutzer oder Organisation) auf. Parameters:
  • owner (string, required) — Name des Eigentuemers (Benutzer- oder Organisations-Slug)
  • limit (number, optional) — Maximale Anzahl zurueckzugebender Slices
  • cursor (string, optional) — Paginierungscursor einer vorherigen Anfrage

get_slice

Ruft detaillierte Informationen ueber ein bestimmtes Slice ab. Parameters:
  • owner (string, required) — Name des Eigentuemers (Benutzer- oder Organisations-Slug)
  • slug (string, required) — Der Slug des Slices

list_annotation_issues_by_sequence

Listet alle Annotationsprobleme einer bestimmten Sequenz auf. Parameters:
  • sequenceUid (string, required) — Die UUID der Sequenz
  • datasetItemUid (string, optional) — Nach Dataset-Element-UUID filtern
  • projectUid (string, optional) — Nach Projekt-UUID filtern

create_annotation_issue

Erstellt ein neues Annotationsproblem fuer eine Sequenz. Parameters:
  • sequenceUid (string, required) — Die UUID der Sequenz
  • toolUid (string, required) — UUID des Annotationstools
  • problemUid (string, required) — UUID des Problemtyps
  • datasetItemUid (string, optional) — UUID des Dataset-Elements
  • projectUid (string, optional) — Projekt-UUID
  • priority (string, optional) — Prioritaetsstufe: lowest, low, medium, high, highest
  • severity (string, optional) — Schweregrad: critical, moderate
  • description (string, optional) — Problembeschreibung
  • wrongClass (string, optional) — Falsche Klassenbezeichnung
  • correctClass (string, optional) — Korrekte Klassenbezeichnung
  • objectUid (string, optional) — UUID des Annotationsobjekts
  • shouldReAnnotate (boolean, optional) — Ob eine Neuannotation erfolgen soll
  • shouldDelete (boolean, optional) — Ob die Annotation geloescht werden soll
  • framesAffected (string, optional) — Vom Problem betroffene Frames

update_annotation_issue

Aktualisiert ein bestehendes Annotationsproblem (Status, Prioritaet usw.). Parameters:
  • sequenceUid (string, required) — Die UUID der Sequenz
  • issueUid (string, required) — Die UUID des Annotationsproblems
  • status (string, optional) — Status: open, relabeling, in_review, completed, cant_reproduce, awaiting_feedback, no_action_taken
  • priority (string, optional) — Prioritaetsstufe: lowest, low, medium, high, highest
  • severity (string, optional) — Schweregrad: critical, moderate
  • description (string, optional) — Aktualisierte Beschreibung
  • toolUid (string, optional) — UUID des Annotationstools
  • problemUid (string, optional) — UUID des Problemtyps
  • wrongClass (string, optional) — Falsche Klassenbezeichnung
  • framesAffected (string, optional) — Vom Problem betroffene Frames

delete_annotation_issue

Loescht ein Annotationsproblem. Parameters:
  • sequenceUid (string, required) — Die UUID der Sequenz
  • issueUid (string, required) — Die UUID des zu loeschenden Annotationsproblems

list_annotation_issues_by_dataset

Listet alle Annotationsprobleme eines Datasets auf. Parameters:
  • owner (string, required) — Benutzername des Dataset-Eigentuemers
  • datasetSlug (string, required) — Slug des Datasets
  • sequenceUid (string, optional) — Nach Sequenz-UUID filtern

get_annotation_issue_metrics

Ruft aggregierte Metriken fuer Annotationsprobleme eines Datasets ab (Anzahl nach Status/Prioritaet/Schweregrad, Schliesszeiten). Parameters:
  • owner (string, required) — Benutzername des Dataset-Eigentuemers
  • datasetSlug (string, required) — Slug des Datasets
  • sequenceUid (string, optional) — Nach Sequenz-UUID filtern

list_qc_tools

Listet verfuegbare QC-Annotationstools fuer einen bestimmten Dataset-Typ auf. Parameters:
  • datasetType (string, required) — Der Dataset-Typ (z.B. lidar, image, video)

fleet_list_devices

Listet Flottengeraete mit optionalen Filtern auf. Parameters:
  • status (string, optional) — Nach Geraetestatus filtern (online, offline, maintenance)
  • type (string, optional) — Nach Geraetetyp filtern
  • limit (number, optional) — Maximale Anzahl zurueckzugebender Geraete
  • cursor (string, optional) — Paginierungscursor
Beispielantwort:
{
  "devices": [
    {
      "uid": "dev-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "name": "Forklift Sensor Unit 12",
      "type": "lidar-sensor",
      "status": "online",
      "firmwareVersion": "2.4.1",
      "lastSeenAt": "2026-03-19T09:55:00Z",
      "tags": ["warehouse-a", "forklift"]
    },
    {
      "uid": "dev-b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "name": "Dock Camera 3",
      "type": "camera",
      "status": "offline",
      "firmwareVersion": "1.8.0",
      "lastSeenAt": "2026-03-18T23:10:00Z",
      "tags": ["dock", "exterior"]
    }
  ],
  "cursor": "eyJkZXZpY2VJZCI6MjB9"
}

fleet_get_device

Ruft detaillierte Informationen ueber ein bestimmtes Flottengeraet ab. Parameters:
  • uid (string, required) — Die eindeutige Kennung des Geraets

fleet_list_recordings

Listet Flottenaufnahmen mit optionalen Filtern auf. Parameters:
  • device (string, optional) — Nach Geraete-UID filtern
  • status (string, optional) — Nach Aufnahmestatus filtern
  • limit (number, optional) — Maximale Anzahl zurueckzugebender Aufnahmen
  • cursor (string, optional) — Paginierungscursor

fleet_get_recording

Ruft detaillierte Informationen ueber eine bestimmte Aufnahme ab. Parameters:
  • uid (string, required) — Die eindeutige Kennung der Aufnahme

fleet_list_events

Listet Flottenereignisse mit optionalen Filtern auf. Parameters:
  • recording (string, optional) — Nach Aufnahme-UID filtern
  • device (string, optional) — Nach Geraete-UID filtern
  • type (string, optional) — Nach Ereignistyp filtern
  • severity (string, optional) — Nach Schweregrad filtern
  • limit (number, optional) — Maximale Anzahl zurueckzugebender Ereignisse
  • cursor (string, optional) — Paginierungscursor

fleet_list_alerts

Listet Flottenwarnungen mit optionalen Filtern auf. Parameters:
  • status (string, optional) — Nach Warnungsstatus filtern (open, acknowledged, resolved)
  • severity (string, optional) — Nach Schweregrad filtern (info, warning, error, critical)
  • device (string, optional) — Nach Geraete-UID filtern
  • rule (string, optional) — Nach Regel-UID filtern
  • limit (number, optional) — Maximale Anzahl zurueckzugebender Warnungen
  • cursor (string, optional) — Paginierungscursor
Beispielantwort:
{
  "alerts": [
    {
      "uid": "alert-c3d4e5f6-a7b8-9012-cdef-123456789012",
      "status": "open",
      "severity": "warning",
      "device": "dev-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "rule": "rule-d4e5f6a7-b8c9-0123-defa-234567890123",
      "message": "Device temperature exceeded threshold (72C)",
      "createdAt": "2026-03-19T08:45:00Z"
    },
    {
      "uid": "alert-e5f6a7b8-c9d0-1234-efab-345678901234",
      "status": "acknowledged",
      "severity": "critical",
      "device": "dev-b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "rule": "rule-f6a7b8c9-d0e1-2345-fabc-456789012345",
      "message": "Device offline for more than 24 hours",
      "createdAt": "2026-03-18T09:00:00Z",
      "acknowledgedAt": "2026-03-18T10:30:00Z"
    }
  ],
  "cursor": "eyJhbGVydElkIjoxMH0="
}

fleet_list_rules

Listet Flottenregeln mit optionalen Filtern auf. Parameters:
  • enabled (boolean, optional) — Nach Aktivierungsstatus filtern
  • limit (number, optional) — Maximale Anzahl zurueckzugebender Regeln
  • cursor (string, optional) — Paginierungscursor

fleet_register_device

Registriert ein neues Flottengeraet. Parameters:
  • name (string, required) — Name des Geraets
  • type (string, required) — Typ des Geraets
  • firmwareVersion (string, optional) — Firmware-Version
  • tags (string[], optional) — Tags fuer das Geraet

fleet_acknowledge_alert

Bestaetigt eine Flottenwarnung. Parameters:
  • uid (string, required) — Die eindeutige Kennung der zu bestaetigenden Warnung

Rezepte

Mehrstufige Workflows, die Sie in natuerlicher Sprache ausfuehren koennen. Jedes Rezept zeigt die Tool-Aufrufe, die der Assistent im Hintergrund durchfuehrt.

Rezept 1: Dataset-Gesundheitspruefung

Fragen Sie Ihren Assistenten: “Geben Sie mir eine Gesundheitspruefung meines Arbeitsbereichs — wie viele Datasets habe ich, und welche haben die meisten Elemente?” Schritt 1 — Der Assistent ruft get_workspace_stats auf, um die Uebersicht zu erhalten.
{
  "datasets": 14,
  "projects": 7,
  "exports": 23,
  "tasks": { "total": 8420, "pending": 312, "completed": 7856, "inProgress": 252 },
  "members": 18
}
Schritt 2 — Der Assistent ruft list_datasets mit limit: 50 auf, um alle Datasets abzurufen. Schritt 3 — Der Assistent sortiert die Ergebnisse nach itemCount und praesentiert eine Rangfolge:
Sie haben 14 Datasets. Die drei groessten sind:
  1. Warehouse Cameras — 34.200 Elemente (image)
  2. Urban Driving Q1 — 12.450 Elemente (lidar)
  3. Parking Lot Footage — 8.900 Elemente (video)

Rezept 2: Export und Download

Fragen Sie Ihren Assistenten: “Exportieren Sie das Projekt Urban Driving Q1 und informieren Sie mich, wenn es fertig ist.” Schritt 1 — Der Assistent ruft list_projects auf, um die Projekt-UID fuer “Urban Driving Q1” zu finden. Schritt 2 — Der Assistent ruft create_export mit der Projekt-UID auf.
{
  "uid": "e3a1b2c4-9d8f-4e7a-b6c5-d4e3f2a1b0c9",
  "status": "pending",
  "project": "770a9600-a40d-63f6-c938-668877660000",
  "createdAt": "2026-03-19T10:00:00Z"
}
Schritt 3 — Der Assistent fragt get_export_status ab, bis der Status auf completed wechselt.
{
  "uid": "e3a1b2c4-9d8f-4e7a-b6c5-d4e3f2a1b0c9",
  "status": "completed",
  "downloadUrl": "https://api.avala.ai/exports/e3a1b2c4-9d8f-4e7a-b6c5-d4e3f2a1b0c9/download",
  "fileSize": 52428800,
  "completedAt": "2026-03-19T10:02:34Z"
}
Schritt 4 — Der Assistent stellt den Download-Link und die Dateigroesse bereit.
Ihr Export ist fertig (50 MB). Laden Sie ihn hier herunter: https://api.avala.ai/exports/.../download

Rezept 3: Qualitaetsaudit aller Projekte

Fragen Sie Ihren Assistenten: “Werten Sie die Qualitaetsziele aller meiner Projekte aus und kennzeichnen Sie die, die nicht bestehen.” Schritt 1 — Der Assistent ruft list_projects auf, um alle Projekte abzurufen. Schritt 2 — Fuer jedes Projekt ruft der Assistent evaluate_quality mit der Projekt-UID auf. Schritt 3 — Der Assistent fasst die Ergebnisse zusammen und hebt Fehler hervor:
5 von 7 Projekten bestehen alle Qualitaetsziele. Zwei erfordern Aufmerksamkeit:
  • Sidewalk Segmentation — Ziel “Label accuracy” bei 88 % (Schwellenwert: 95 %)
  • Fleet Camera Review — Ziel “Consensus score” bei 0,72 (Schwellenwert: 0,85)

Rezept 4: Flottengeraeteueberwachung

Fragen Sie Ihren Assistenten: “Zeigen Sie mir alle Flottenwarnungen, die noch nicht bestaetigt wurden, gruppiert nach Schweregrad.” Schritt 1 — Der Assistent ruft fleet_list_alerts mit status: "open" auf. Schritt 2 — Der Assistent gruppiert und formatiert die Antwort:
Kritisch (1)
  • Dock Camera 3 — “Geraet seit mehr als 24 Stunden offline” (seit 18. Maerz)
Warnung (2)
  • Forklift Sensor Unit 12 — “Geraetetemperatur hat Schwellenwert ueberschritten (72C)” (seit 19. Maerz)
  • Rooftop LiDAR 1 — “Wenig Speicherplatz (< 5 %)” (seit 19. Maerz)
Schritt 3 — Sie koennen fortfahren: “Bestaetigen Sie alle Warnungen der Stufe Warnung.” Der Assistent ruft fleet_acknowledge_alert fuer jede Warnungs-UID auf.

Rezept 5: Triage von Annotationsproblemen

Fragen Sie Ihren Assistenten: “Rufen Sie die Metriken der Annotationsprobleme fuer das Dataset urban-driving-q1 ab und zeigen Sie mir die Aufschluesselung.” Schritt 1 — Der Assistent ruft get_annotation_issue_metrics mit dem Eigentuemer und dem Dataset-Slug auf. Schritt 2 — Der Assistent praesentiert eine formatierte Zusammenfassung:
Urban Driving Q1 — Problemmetriken Nach Status: 12 offen, 5 in Pruefung, 3 in Neuetikettierung, 45 abgeschlossen Nach Schweregrad: 8 kritisch, 57 moderat Nach Prioritaet: 2 hoechste, 6 hoch, 18 mittel, 25 niedrig, 14 niedrigste Durchschnittliche Schliesszeit: 4,2 Stunden
Schritt 3 — Sie fahren fort: “Listen Sie die offenen kritischen Probleme auf.” Der Assistent ruft list_annotation_issues_by_dataset mit Filtern auf und zeigt die Ergebnisse an.

Beispiel-Prompts

Hier sind einige Prompts in natuerlicher Sprache, die Sie mit jedem MCP-kompatiblen Client verwenden koennen:
Alle meine Datasets auflisten
Zeige mir die Details des Datasets "autonomous-driving-v3"
Was ist der Status des Projekts "Lidar QA"?
Erstelle einen Export fuer Projekt 770a9600-a40d-63f6-c938-668877660000
Wie viele Exporte habe ich?
Zeige meine Arbeitsbereichsstatistiken
Alle meine Automatisierungsagenten auflisten
Erstelle einen Webhook fuer task.completed-Ereignisse mit Ziel https://my-server.com/hooks
Zeige mir die Qualitaetsziele fuer Projekt proj_abc123
Wie ist die Zusammenfassung des Konsens-Scores meines Annotationsprojekts?
Alle Organisationen auflisten, denen ich angehoere
Speicherkonfigurationsliste des Arbeitsbereichs anzeigen
Alle Online-Flottengeraete auflisten
Zeige mir offene kritische Warnungen der Flotte
Ein neues lidar-sensor-Geraet namens "Rooftop Unit 5" registrieren
Der KI-Assistent ruft das passende Avala MCP-Tool auf, verarbeitet die Antwort und praesentiert die Ergebnisse in einem lesbaren Format. Sie koennen Anfragen in einer Konversation verketten — zum Beispiel Datasets auflisten, eines auswaehlen und dann den Exportstatus pruefen.

Fehlerbehebung

AVALA_API_KEY nicht gesetzt

Der MCP Server beendet sich sofort mit Fehlercode 1, wenn die Umgebungsvariable AVALA_API_KEY fehlt. Stellen Sie sicher, dass der Schluessel im env-Block Ihrer MCP-Konfiguration gesetzt oder in Ihrer Shell exportiert ist, bevor Sie den Server starten.
Error: AVALA_API_KEY environment variable is required

Mutations-Tools erscheinen nicht

Wenn Tools wie create_export, create_agent oder fleet_register_device in der Tool-Liste fehlen, muessen Sie AVALA_MCP_ENABLE_MUTATIONS=true in der Serverumgebung setzen. Fuegen Sie es zum env-Block in Ihrer MCP-Konfigurationsdatei hinzu:
{
  "env": {
    "AVALA_API_KEY": "your-api-key",
    "AVALA_MCP_ENABLE_MUTATIONS": "true"
  }
}

npx nicht gefunden oder falsche Node.js-Version

Der MCP Server erfordert Node.js 18 oder hoeher. Wenn Sie npx: command not found oder Modulsyntaxfehler sehen, ueberpruefen Sie Ihre Node.js-Version:
node --version  # Must be v18.0.0 or later

Veralteter zwischengespeicherter MCP Server

Wenn Sie das Paket @avala-ai/mcp-server kuerzlich aktualisiert haben, aber immer noch altes Verhalten oder fehlende Tools sehen, liefert npx moeglicherweise eine zwischengespeicherte Version. Erzwingen Sie eine Neuinstallation:
npx --yes @avala-ai/mcp-server@latest
Starten Sie dann Ihren MCP-Client neu.

API-Schluessel ungueltig oder abgelaufen

Wenn Tool-Aufrufe 401 Unauthorized zurueckgeben, ist Ihr API-Schluessel moeglicherweise ungueltig, abgelaufen oder widerrufen. Generieren Sie einen neuen Schluessel in Mission Control unter Settings > Security und aktualisieren Sie Ihre MCP-Konfiguration.
Der Avala MCP Server ist Open Source. Besuchen Sie das GitHub-Repository, um den Quellcode einzusehen oder beizutragen.