{"name":"AVA","description":"AVA liefert Firmenwissen aus Handelsregistern, Websites, Publikationen und LinkedIn: Firmen suchen und lesen, Ansprechpartner, Meldungen (Geschäftsführerwechsel, Insolvenzen, Stellen), Firmen aufnehmen und recherchieren lassen. Skills werden als Datenteil {\"skill\": \"<id>\", \"args\": {…}} oder als Text \"<id> {…}\" angesprochen; freier Text geht an die AVA des Nutzers. Lang laufende Aufträge melden sich über die Push-Adresse des Agenten, sobald sie fertig sind.","url":"https://mcp.ava.bi/a2a","provider":{"organization":"eproX GmbH","url":"https://ava.bi"},"version":"1.0.0","protocolVersion":"0.3.0","documentationUrl":"https://ava.bi","preferredTransport":"JSONRPC","capabilities":{"streaming":true,"pushNotifications":true,"stateTransitionHistory":false},"securitySchemes":{"oauth2":{"type":"oauth2","description":"OAuth 2.0 (PKCE) über den AVA-Anmeldedienst; Registrierung dynamisch über die MCP-OAuth-Metadata derselben Adresse.","flows":{"authorizationCode":{"authorizationUrl":"https://fly-keycloak-broken-bird-3701.fly.dev/realms/ava/protocol/openid-connect/auth","tokenUrl":"https://fly-keycloak-broken-bird-3701.fly.dev/realms/ava/protocol/openid-connect/token","scopes":{"openid":"Anmeldung als AVA-Nutzer","offline_access":"Dauerhafte Verbindung"}}}},"bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Zugriffstoken des AVA-Nutzers (Keycloak)."}},"security":[{"oauth2":["openid"]},{"bearer":[]}],"defaultInputModes":["text/plain","application/json"],"defaultOutputModes":["text/plain","application/json"],"skills":[{"id":"ava_fragen","name":"AVA fragen","description":"Freie Frage oder Aufgabe in natürlicher Sprache an die AVA des Nutzers (läuft auf dessen Gerät oder Server mit dessen eigenem Modell). Nur verfügbar, wenn diese AVA gerade verbunden ist; sonst antwortet der Task mit einem Hinweis.","tags":["ava","chat"],"inputModes":["text/plain"],"outputModes":["text/plain"],"examples":["Welche Firmen aus meiner Liste hatten diese Woche einen Geschäftsführerwechsel?"]},{"id":"firma_suchen","name":"firma suchen","description":"Firmen im Stammdaten-Bestand von AVA suchen (10,5 Mio. Firmen aus Deutschland, Oesterreich, der Schweiz, Norwegen, Finnland und dem Vereinigten Koenigreich, unscharf nach Name/Ort). Liefert companyId, Name, Ort, Land, Registerstatus. Mit der companyId weiter zu firma_lesen.","tags":["ava","lesen"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"],"examples":["{\"skill\": \"firma_suchen\", \"args\": {}}"]},{"id":"firma_lesen","name":"firma lesen","description":"Eine Firma lesen: Stammdaten plus gewuenschte Bereiche. bereiche: profil (KI-Kurzprofil, Website), register (Handelsregister: Geschaeftsfuehrung, Kapital, Gegenstand), publikationen (Jahres-/Konzernabschluesse mit Kennzahlen und Lagebericht), kunden (Kunden/Partner laut Website), konzern (Toechter, Konzernmutter, Geschaeftsfuehrung laut Konzernabschluss), gesellschafter (Gesellschafterliste, nur DE/HRB), aenderungen (Geschaeftsfuehrer-/Stammdatenwechsel), verlauf (Register-Verlauf: jeder fruehere Registerstand mit Datum und geaenderten Feldern, fuer Fragen wie 'was hat sich seit 2024 geaendert'). Ohne bereiche nur Stammdaten. `verarbeitung` sagt, ob die Firma im Bestand des Nutzers aufbereitet ist (stand fehlt | laeuft | unvollstaendig | vollstaendig) und was zu tun ist: bei fehlt SOFORT import_anlegen mit der companyId, bei unvollstaendig neu_verarbeiten, ohne Rueckfrage an den Nutzer. Fuer den Nutzer gibt es 'verarbeiten' nicht; leere Bereiche einer nicht aufbereiteten Firma sind kein Befund und nie 'liegt nicht vor'.","tags":["ava","lesen"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"],"examples":["{\"skill\": \"firma_lesen\", \"args\": {}}"]},{"id":"protokoll_ablegen","name":"protokoll ablegen","description":"Gespraechsprotokoll oder Hinweis zu einer Firma bei AVA ablegen (optional zu einer Person per personId aus firma_kontakte). Fuer Notizen aus Teams, Outlook, Dynamics oder dem Chat. AVA aendert dabei nichts im CRM des Nutzers; die Notiz erscheint in AVA bei der Firma (firma_lesen, Bereich notizen). datum = Zeitpunkt des Gespraechs (ISO), sonst jetzt.","tags":["ava","auftrag"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"],"examples":["{\"skill\": \"protokoll_ablegen\", \"args\": {}}"]},{"id":"firma_kontakte","name":"firma kontakte","description":"Ansprechpartner einer Firma mit Rolle, Quelle und (falls vorhanden) E-Mail-Adresse. Personendaten: nur nennen, was fuer die Frage noetig ist.","tags":["ava","lesen"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"],"examples":["{\"skill\": \"firma_kontakte\", \"args\": {}}"]},{"id":"meine_firmen","name":"meine firmen","description":"Firmen in „Meine Firmen“ des Nutzers (importiert und verarbeitet), seitenweise mit Verarbeitungsstand je Stufe. Optional Suchbegriff und Land.","tags":["ava","lesen"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"],"examples":["{\"skill\": \"meine_firmen\", \"args\": {}}"]},{"id":"meldungen","name":"meldungen","description":"Neuigkeiten zu Firmen des Nutzers seit einem Zeitpunkt: Geschaeftsfuehrer- und Stammdatenwechsel, neue Jahresabschluesse, Kontaktwechsel, neue Kunden/Referenzen. Ohne companyIds werden die ersten 300 Firmen aus „Meine Firmen“ genommen.","tags":["ava","lesen"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"],"examples":["{\"skill\": \"meldungen\", \"args\": {}}"]},{"id":"import_anlegen","name":"import anlegen","description":"Firmen in AVA importieren und die Verarbeitung anstossen (Register, Website, Jahresabschluesse, Kontakte, Bewertung). Empfohlener Weg: zuerst firma_suchen (Registersuche) und bei eindeutigem Treffer companyIds uebergeben; so wird genau die gefundene Firma importiert. Meldet firma_lesen verarbeitung.stand = fehlt, sofort aufrufen, ohne den Nutzer zu fragen. Nur bei mehreren plausiblen Treffern vorher klaeren, welche Firma gemeint ist. Alternativ eine Liste {name, ort, land} (unscharfe Zuordnung zu den Stammdaten, kann daneben liegen) oder eine Excel-/CSV-Datei als Base64 (bis 5 MB) mit den Spaltennamen fuer Firma und Ort. Die Verarbeitung laeuft, sobald AVA beim Nutzer laeuft (Desktop-App oder Server); das kann Stunden dauern. Antwort enthaelt die transactionId fuer auftrag_status. Zaehlt gegen das Kontingent des Nutzers wie ein Import in der App.","tags":["ava","auftrag"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"],"examples":["{\"skill\": \"import_anlegen\", \"args\": {}}"]},{"id":"recherche_anstossen","name":"recherche anstossen","description":"Recherche zu einer bereits verarbeiteten Firma anstossen: Stellenanzeigen (jobs) oder Ausschreibungen/Expansion (expansion), Stufe standard (Web-Recherche) oder deep (Deep Research, braucht OpenAI-Schluessel des Nutzers). Laeuft auf dem Rechner des Nutzers, sobald die AVA-App laeuft. Antwort: angestossen oder Grund; Ergebnisse spaeter ueber firma_lesen.","tags":["ava","auftrag"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"],"examples":["{\"skill\": \"recherche_anstossen\", \"args\": {}}"]},{"id":"neu_verarbeiten","name":"neu verarbeiten","description":"Eine Stufe der Verarbeitung fuer eine Firma erneut anstossen: structuredContent (Register), companyPublication (Jahres-/Konzernabschluesse), website, companyProfile, companyContact (Kontakte). Laeuft auf dem Rechner des Nutzers, sobald die AVA-App laeuft, und zaehlt wie in der App.","tags":["ava","auftrag"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"],"examples":["{\"skill\": \"neu_verarbeiten\", \"args\": {}}"]},{"id":"auftrag_status","name":"auftrag status","description":"Stand eines Vorgangs (transactionId aus import_anlegen oder auftraege): Firmen gesamt/fertig/mit Fehler, offene Schritte, letztes Lebenszeichen, Fehlerbeispiele.","tags":["ava","lesen"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"],"examples":["{\"skill\": \"auftrag_status\", \"args\": {}}"]},{"id":"auftraege","name":"auftraege","description":"Vorgaenge des Nutzers (Importe und Verarbeitungen), neueste zuerst, seitenweise.","tags":["ava","lesen"],"inputModes":["application/json","text/plain"],"outputModes":["application/json","text/plain"],"examples":["{\"skill\": \"auftraege\", \"args\": {}}"]},{"id":"ava_kontext","name":"AVA Kontext","description":"Was AVA ist, was der Nutzer eingerichtet hat und welche Skills gerade freigeschaltet sind. Zu Beginn einmal abrufen.","tags":["ava","kontext"],"inputModes":["text/plain"],"outputModes":["text/plain"],"examples":["{\"skill\": \"ava_kontext\"}"]}]}