Aller au contenu principal

Serveur MCP Audact — guide de configuration des clients

Connectez des assistants IA à Audact via le Model Context Protocol avec une clé API de tenant : configuration, outils documentés par rôle, étape de confirmation pour les outils à risque, données personnelles et limites.

Serveur MCP: Est-ce construit
Est-ce construitOpérationnel aujourd’hui
Serveur MCP: Puis-je y accéder
Puis-je y accéderEarly Customer Program
Pourquoi cet état
Affirmation
Opérationnel aujourd’hui · Early Customer Program
Périmètre
Le point d’accès MCP /mcp/ sur l’hôte de l’API et les outils qu’il expose. Pas le connecteur Anthropic, qui est une intégration distincte.
Fondement
Mesuré le 21 octobre 2026 : POST https://api.audact.ai/mcp/ sans clé renvoie 401 avec WWW-Authenticate: Bearer realm="audact" (le défi propre au serveur MCP).
Ce que cela n’établit pas
Que chaque outil derrière ce point d’accès fonctionne aujourd’hui. Cela se confirme outil par outil, et la confirmation est encore en suspens.
Ce que vous pouvez obtenir aujourd’hui
L’accès passe par la mise en place au sein d’un contrat payant applicable ; le serveur MCP n’est pas tarifé séparément.
Dernière vérification
21 octobre 2026
Où le vérifier
/mcp-server

De quoi s’agit-il ? Le serveur MCP (Model Context Protocol) d’Audact expose un ensemble choisi d’opérations Audact sous forme d’outils pour les assistants IA — Claude, Cursor, Claude Desktop ou tout client compatible MCP — via une simple interface HTTP. Connectez-vous avec la clé API de votre tenant, puis examinez des appels, gérez des agents et des webhooks, construisez des automatisations de conformité et pilotez des opérations vocales.

Outils documentés : 161 pour l’ensemble des rôles. Chaque outil est confirmé séparément ; l’état mesuré du point de terminaison figure sur la page du serveur MCP.

Points de terminaison :

  • Production : https://api.audact.ai/mcp/

1. Ce que c’est

Le serveur MCP est un point de terminaison HTTP sans état qui traduit des appels d’outils en opérations de l’API REST d’Audact. Il fonctionne en Streamable HTTP (le standard MCP pour le JSON-RPC du serveur vers le client et du client vers le serveur), n’exige que votre clé API pour l’authentification (jeton Bearer) et applique exactement les mêmes permissions et le même cloisonnement que l’API REST elle-même.

Pourquoi MCP ?

  • Configuration en une ligne : aucune intégration écrite à la main, aucune passerelle sur mesure.
  • Contexte en temps réel : votre assistant IA accède en direct aux agents, webhooks, numéros, appels et preuves.
  • Respect des permissions : chaque appel d’outil est transmis avec votre clé — un assistant ne peut faire que ce que le rôle de votre clé autorise.
  • Aucun secret conservé : le serveur MCP ne stocke aucun identifiant qui lui soit propre ; il transmet votre clé octet pour octet à l’API sous-jacente, de sorte qu’un appel d’outil ne peut pas faire plus que la même clé utilisée directement.

Transport et protocole

  • Protocole : Model Context Protocol (MCP), version 2025-06-18 (rétrocompatible avec 2025-03-26).
  • Transport : POST Streamable HTTP vers /mcp/ sur l’URL de base de votre environnement.
  • Contenu : requêtes et réponses JSON-RPC 2.0.
  • Authentification : Authorization: Bearer aud_live_… (la clé API de votre tenant, la même que pour REST).
  • Sans état : ni session ni cookie. Chaque requête est indépendante ; n’importe quelle réplique peut la traiter.

Ce que signifie OAuth ici

OAuth n’est pas pris en charge. Les clients MCP qui exigent OAuth avec des serveurs distants ne peuvent pas se connecter. Les clients pris en charge (Claude Code, Cursor, Claude Desktop via mcp-remote, SDK MCP) transmettent tous les en-têtes directement :

  • ✅ Claude Code, Cursor, Claude Desktop avec mcp-remote : fonctionne
  • ✅ Clients SDK MCP avec --header ou une variable d’environnement : fonctionne
  • ✅ Implémentations MCP personnalisées qui prennent en charge les jetons Bearer : fonctionne
  • ❌ Clients qui ne prennent en charge que OAuth pour les serveurs distants : non pris en charge en v1

2. Connecter votre assistant IA

Claude Code

bash

claude mcp add --transport http audact https://api.audact.ai/mcp/ \
  --header "Authorization: Bearer aud_live_…"

Remplacez aud_live_… par votre véritable clé API (voir Obtenir votre clé ci-dessous).

Pour vérifier : après l’ajout, redémarrez Claude Code et demandez-lui : « Listez mes agents. » S’il appelle list_agents sans erreur, la connexion est établie.

Claude Desktop

Utilisez mcp-remote pour exécuter le serveur MCP derrière la passerelle locale :

bash

# In Claude Desktop's config file (~/.config/Claude/claude_desktop_config.json on Linux/Mac,
# or %APPDATA%\Claude\claude_desktop_config.json on Windows):

{
  "mcpServers": {
    "audact": {
      "command": "npx",
      "args": ["mcp-remote", "https://api.audact.ai/mcp/"],
      "env": {
        "MCP_REMOTE_HEADER_Authorization": "Bearer aud_live_…"
      }
    }
  }
}

Redémarrez Claude Desktop. Les outils Audact devraient maintenant apparaître dans votre liste d’outils.

Cursor

Comme pour Claude Desktop : ajoutez ceci au fichier mcp_server_config.json de Cursor :

json

{
  "audact": {
    "command": "npx",
    "args": ["mcp-remote", "https://api.audact.ai/mcp/"],
    "env": {
      "MCP_REMOTE_HEADER_Authorization": "Bearer aud_live_…"
    }
  }
}

3. Obtenir votre clé

  1. Connectez-vous au tableau de bord Audact à l’URL de votre environnement.
  2. Allez dans API Keys (ou Settings → API Keys).
  3. Copiez une clé dotée du rôle dont vous avez besoin (Viewer, Developer ou Owner ; voir Correspondance des rôles ci-dessous).
  4. Utilisez-la dans la configuration ci-dessus.

Gardez votre clé secrète. Traitez-la comme un mot de passe. Si elle est exposée, révoquez-la immédiatement depuis le tableau de bord.


4. Ce que vous pouvez faire : outils par rôle

Le serveur MCP expose 161 outils au total, regroupés par niveau de permission et par domaine. Un outil n’apparaît parmi les outils disponibles de votre assistant que si votre clé possède le rôle requis. Même si vous listez un outil pour lequel vous n’avez pas la permission, le backend rejettera l’appel avec une erreur explicite.

Niveaux de rôle

  • Viewer : accès en lecture seule. Consulter les appels, les preuves, les configurations, les webhooks et les numéros.
  • Developer : lecture et écriture. Créer et mettre à jour des agents, des outils, des webhooks et des affectations. Pas de suppression ni de purge.
  • Owner : accès complet, y compris la suppression et la modification des paramètres.

Catégories d’outils

Légende : L = lecture seule | D = destructif | C = confirmation requise (demandez d’abord à l’utilisateur, puis réessayez avec confirm: true)

Agents

OutilRôleLDCCe qu’il fait
list_agentsViewer✓Lister tous les agents de votre tenant
get_agentViewer✓Récupérer un agent par son ID
list_agent_toolsViewer✓Voir quels outils un agent peut utiliser
create_agentDeveloperCréer un nouvel agent
replace_agentDeveloperRemplacer un agent (mise à jour complète)
update_agentDeveloperMettre à jour un agent (mise à jour partielle)
duplicate_agentDeveloperCloner un agent existant
attach_tool_to_agentDeveloperAjouter un outil à la boîte à outils d’un agent
detach_tool_from_agentDeveloper✓Retirer un outil d’un agent
delete_agentOwner✓Supprimer définitivement un agent

Outils

OutilRôleLDCCe qu’il fait
list_toolsViewer✓Lister tous les outils personnalisés
get_toolViewer✓Récupérer un outil par son ID
create_toolDeveloperCréer un nouvel outil
replace_toolDeveloperRemplacer un outil (mise à jour complète)
update_toolDeveloperMettre à jour un outil (mise à jour partielle)
test_toolDeveloperTester un outil fourni par la plateforme, comme Cal.com (les outils HTTP personnalisés n’ont pas de test)
delete_toolOwner✓Supprimer un outil (suppression logique)

Bases de connaissances

OutilRôleLDCCe qu’il fait
list_knowledge_basesViewer✓Lister les bases de connaissances du tenant
get_knowledge_baseViewer✓Récupérer une base de connaissances par son ID
create_knowledge_baseDeveloperCréer une base de connaissances
update_knowledge_baseDeveloperRenommer une base de connaissances ou activer/désactiver l’actualisation automatique
delete_knowledge_baseOwner✓Supprimer une base de connaissances avec toutes ses sources et ses liens avec les agents
list_kb_sourcesViewer✓Lister les sources d’une base de connaissances et leur état d’ingestion
get_kb_sourceViewer✓Récupérer une source
add_kb_sourceDeveloperAjouter une source URL ou texte (l’envoi de fichiers n’est possible que par l’API REST)
update_kb_sourceDeveloperModifier le titre d’une source ou, pour les sources texte, son contenu
reingest_kb_sourceDeveloperRéexplorer et réindexer une source
delete_kb_sourceOwner✓Supprimer une source et son contenu indexé
list_kb_agent_linksViewer✓Lister les agents auxquels une base de connaissances est rattachée
list_kb_links_by_agentViewer✓Lister les bases de connaissances rattachées à un agent
attach_knowledge_base_to_agentDeveloperRattacher une base de connaissances à un agent, avec des paramètres de récupération
update_kb_agent_linkDeveloperAjuster les paramètres de récupération (top_k, threshold, instruction) d’un lien
detach_knowledge_base_from_agentDeveloper✓Détacher une base de connaissances d’un agent
list_kb_exclusionsViewer✓Lister les règles d’exclusion de l’exploration
add_kb_exclusionDeveloperExclure un préfixe de chemin ou une URL de l’exploration
delete_kb_exclusionDeveloper✓Supprimer une règle d’exclusion de l’exploration
test_kb_retrievalDeveloper✓Poser une question et voir quels segments la récupération renvoie

Voix

OutilRôleLDCCe qu’il fait
list_voicesViewer✓Lister les voix disponibles pour les agents
get_voiceViewer✓Récupérer une voix par son ID

Intégrations

OutilRôleLDCCe qu’il fait
list_connectionsViewer✓Lister les intégrations externes (Slack, Zapier, etc.)
get_connectionViewer✓Récupérer une intégration par son ID
list_connection_event_typesViewer✓Voir quels événements cette intégration émet
create_connectionDeveloperAjouter une nouvelle intégration
test_connectionDeveloperTester une intégration (essai à blanc)
delete_connectionDeveloper✓Retirer une intégration

Configurations

OutilRôleLDCCe qu’il fait
list_configurationsViewer✓Lister toutes les configurations
get_configurationViewer✓Récupérer une configuration par son ID
get_configuration_versionViewer✓Récupérer une version antérieure d’une configuration (celle avec laquelle un appel rattaché à cette version s’est exécuté)
create_configurationDeveloperCréer une nouvelle configuration
update_configurationDeveloperMettre à jour une configuration
delete_configurationOwner✓Supprimer définitivement une configuration

Appels et preuves

OutilRôleLDCCe qu’il fait
list_callsViewer✓Rechercher des appels dans votre tenant
get_call_detailViewer✓Enregistrement complet de l’appel, transcription, métadonnées, jetons PII
get_call_summaryViewer✓Résumé général d’un appel
get_delivery_statusViewer✓Vérifier si un enregistrement ou une transcription a été remis aux webhooks
get_chainViewer✓Récupérer la chaîne d’empreintes qui prouve l’intégrité d’un appel
verify_chainViewer✓Vérifier cryptographiquement une chaîne
reconstruct_callViewer✓Reconstruire un appel à partir de ses événements de preuve
list_violationsViewer✓Violations de conformité dans un appel
list_compliance_eventsViewer✓Enregistrements de conformité horodatés
get_article50_reportViewer✓Rapport de preuves de l’article 50 du règlement (UE) 2024/1689 sur l’intelligence artificielle (AI Act) pour un appel (JSON dans une enveloppe signée avec ECDSA-P256)
get_receiptViewer✓Reçu de conformité d’un appel
list_proofsViewer✓Preuves de la métachaîne pour les appels
get_proofViewer✓Récupérer une preuve par son ID
get_call_recordingViewer✓Obtenir l’URL de l’enregistrement d’un appel (renvoie une URL de téléchargement temporaire)
delete_call_recordingOwner✓✓Supprimer définitivement l’enregistrement de l’appel

Webhooks

OutilRôleLDCCe qu’il fait
list_webhooksViewer✓Lister tous les abonnements webhook
get_webhookViewer✓Récupérer un webhook par son ID
list_webhook_deliveriesViewer✓Voir l’historique des remises d’un webhook
list_webhook_event_typesViewer✓Quels événements peuvent faire l’objet d’un abonnement
get_webhook_event_schemaViewer✓Schéma JSON d’un événement
get_webhook_secret_statusViewer✓Vérifier si un secret de webhook est actif
create_webhookDeveloperS’abonner à des événements (par ex. call_ended)
update_webhookDeveloperModifier l’URL ou les événements d’un webhook
test_webhookDeveloperEnvoyer un événement de test au point de terminaison, authentifié par le HMAC du webhook comme chaque remise
resend_webhook_deliveryDeveloperRedéclencher une remise passée
delete_webhookOwner✓Se désabonner d’un webhook

Numéros de téléphone

OutilRôleLDCCe qu’il fait
list_numbersViewer✓Lister tous les DID (numéros de téléphone)
lookup_numberViewer✓Rechercher un DID par numéro de téléphone ou par ID
list_available_numbersViewer✓Trouver les numéros non attribués
list_number_ordersViewer✓Voir l’historique de l’approvisionnement en numéros
get_number_orderViewer✓Récupérer une commande par son ID
set_number_trunkDeveloperDéfinir le trunk d’un numéro de téléphone
assign_numberDeveloperAffecter un DID à un agent
suspend_numberDeveloperDésactiver temporairement un numéro
resume_numberDeveloperRéactiver un numéro suspendu
create_numberDeveloper✓✓Ajouter un numéro de téléphone (peut entraîner un coût)
create_number_orderDeveloper✓✓Commander des numéros de téléphone (dépense de l’argent)
release_numberDeveloper✓✓Libérer l’affectation d’un numéro (peut être perdu définitivement)
delete_numberDeveloper✓✓Retirer définitivement un numéro du pool

Tenant, clés et session

OutilRôleLDCCe qu’il fait
get_tenantViewer✓Récupérer les métadonnées de votre tenant
get_tenant_usageViewer✓Informations sur l’utilisation et les quotas
list_keysDeveloper✓Lister les clés API
update_tenantOwner✓Mettre à jour les paramètres du tenant
rotate_webhook_secretOwner✓Renouveler le secret du webhook
generate_keyOwner✓✓Générer une clé API (le secret est renvoyé une seule fois, dans cette conversation)
revoke_keyOwner✓✓Révoquer immédiatement une clé API
exchange_keyViewer✓✓Échanger une clé API contre un jeton de session (dans cette conversation)
create_ws_ticketViewerCréer un ticket WebSocket

Téléphonie BYO (Bring Your Own)

OutilRôleLDCCe qu’il fait
get_byo_configViewer✓Obtenir la configuration de la téléphonie BYO
list_byo_connectionsViewer✓Lister les connexions SIP BYO
get_byo_connectionViewer✓Obtenir une connexion SIP BYO
verify_byo_connectionDeveloperVérifier une connexion SIP BYO
create_byo_connectionOwnerCréer une connexion SIP BYO
update_byo_connectionOwner✓Mettre à jour une connexion SIP BYO
delete_byo_connectionOwner✓✓Supprimer une connexion SIP BYO (les appels qui y passent s’arrêtent)

KYC (Know Your Customer)

OutilRôleLDCCe qu’il fait
list_kyc_requirementsViewer✓Lister les exigences KYC
list_kyc_document_setsViewer✓Lister les jeux de documents KYC
get_kyc_document_setViewer✓Obtenir un jeu de documents KYC
list_kyc_documentsViewer✓Lister les documents KYC
get_kyc_documentViewer✓Obtenir un document KYC
create_kyc_document_setOwnerCréer un jeu de documents KYC
upload_kyc_documentOwnerEnvoyer un document KYC (voir Envoi de documents KYC)
replace_kyc_documentOwnerRemplacer un document KYC
delete_kyc_documentOwner✓✓Supprimer un document KYC (supprime définitivement un enregistrement réglementaire)
delete_kyc_document_setOwner✓✓Supprimer un jeu de documents KYC
rotate_kyc_dekOwner✓✓Renouveler la clé de chiffrement KYC

Coffre PII

OutilRôleLDCCe qu’il fait
pii_get_settingsViewer✓Obtenir la configuration du coffre PII
pii_list_exemptionsViewer✓Numéros exemptés du chiffrement
pii_list_shredsViewer✓Journal d’audit des destructions (suppression définitive)
pii_list_erased_keysetsViewer✓Clés qui ne sont plus utilisées
pii_decrypt_callViewerDéchiffrer les PII d’un appel (renvoie des PII en clair — voir Données personnelles)
pii_list_call_identitiesViewer✓Lister les identités d’un appel (renvoie des PII en clair — voir Données personnelles)
pii_link_call_identityDeveloperLier une identité d’appel
pii_shred_callOwner✓✓Détruire les PII d’un appel (efface irréversiblement les données personnelles — effacement au titre du RGPD)
pii_shred_by_hashOwner✓✓Détruire des PII par empreinte (efface irréversiblement partout — effacement au titre du RGPD)
pii_add_exemptionOwner✓✓Ajouter une exemption PII (exempte un identifiant du chiffrement)
pii_delete_exemptionOwner✓✓Supprimer une exemption PII
pii_delete_exemption_by_pathOwner✓✓Supprimer une exemption PII par chemin
pii_put_settingsOwner✓✓Mettre à jour les paramètres du coffre PII (active ou désactive le chiffrement pour tout le tenant)

Appels (SIP) — gestion des appels en direct

OutilRôleLDCCe qu’il fait
get_call_statusViewer✓Obtenir l’état d’un appel
initiate_inbound_callDeveloper✓✓Démarrer un appel entrant (démarre une salle d’appel entrant en direct)
initiate_outbound_callDeveloper✓✓Démarrer un appel sortant (passe un vrai appel téléphonique — coûte de l’argent, fait sonner une vraie personne)
create_browser_callDeveloper✓✓Démarrer un appel de test dans le navigateur (démarre un appel de test en direct et envoie l’agent IA — consomme des minutes d’agent)
hangup_callDeveloper✓✓Raccrocher un appel (met fin immédiatement à un appel en direct)

Transferts et passations

OutilRôleLDCCe qu’il fait
get_transfer_stateViewer✓Obtenir l’état d’un transfert
get_handoverDeveloper✓Obtenir les informations d’une passation
initiate_transferDeveloper✓✓Transférer un appel (transfère un appel en direct vers un autre interlocuteur)
initiate_handoverDeveloper✓✓Passer l’appel à un humain
bridge_transferDeveloper✓✓Établir le pont d’un transfert (met l’appelant en relation avec la destination du transfert)
cancel_transferDeveloper✓✓Annuler un transfert (annule un transfert en direct en cours)
end_transferDeveloper✓✓Terminer un transfert

Routage SIP

OutilRôleLDCCe qu’il fait
list_trunksViewer✓Lister les trunks SIP
list_dispatch_rulesViewer✓Lister les règles de dispatch
create_dispatch_ruleDeveloper✓✓Créer une règle de dispatch (change le routage des appels entrants)
create_inbound_trunkOwner✓✓Créer un trunk SIP entrant (crée un trunk SIP qui achemine de vrais appels)
create_outbound_trunkOwner✓✓Créer un trunk SIP sortant (crée un trunk SIP qui achemine de vrais appels)
get_admission_urlViewer✓Obtenir l’URL d’admission
set_admission_urlDeveloper✓✓Définir l’URL d’admission (change l’URL qu’Audact appelle avant de connecter chaque appel entrant)

API d’exécution de la conformité

OutilRôleLDCCe qu’il fait
validate_textDeveloperValider un texte par rapport à la politique
validate_audioDeveloperValider un audio (jusqu’à environ 11 MiB ; voir Limites)
reconcile_audioDeveloperRéconcilier un audio (jusqu’à environ 11 MiB ; voir Limites)
evaluate_policyViewerÉvaluer la politique
get_policyViewer✓Obtenir la politique
confirm_deliveryDeveloperConfirmer la remise
reconcile_transcriptDeveloperRéconcilier une transcription
generate_c2pa_manifestDeveloperGénérer un manifeste C2PA
list_c2pa_manifestsViewer✓Lister les manifestes C2PA émis pour un appel
create_eventDeveloper✓✓Créer un événement de preuve (ajoute à la chaîne de preuves un événement permanent, à détection d’altération)
trigger_aggregationOwnerDéclencher l’agrégation

Proxy LLM

OutilRôleLDCCe qu’il fait
proxy_openaiDeveloper✓✓Relayer une requête OpenAI (effectue un appel LLM payant ; voir Proxy LLM)

5. Confirmation pour les actions dangereuses

Certains outils exigent une confirmation explicite avant de s’exécuter. Ce sont des opérations qui dépensent de l’argent, qui sont irréversibles ou qui touchent à la sécurité :

Les 33 outils qui exigent une confirmation :

  • Dépense d’argent : create_number, create_number_order, initiate_outbound_call
  • Suppressions irréversibles : delete_kyc_document, delete_kyc_document_set, delete_call_recording, pii_shred_call, pii_shred_by_hash, pii_delete_exemption, pii_delete_exemption_by_path, revoke_key, release_number, delete_number, delete_byo_connection
  • Contrôle des appels : initiate_inbound_call, create_browser_call, hangup_call, initiate_transfer, initiate_handover, bridge_transfer, cancel_transfer, end_transfer
  • Configuration : create_dispatch_rule, create_inbound_trunk, create_outbound_trunk, set_admission_url, rotate_kyc_dek, pii_add_exemption, pii_put_settings
  • Sécurité : generate_key, exchange_key, create_event, proxy_openai

Comment fonctionne la confirmation

Lorsqu’un outil exige une confirmation :

  1. Le premier appel échoue avec CONFIRMATION_REQUIRED :

    json

    {
      "isError": true,
      "content": [
        {
          "type": "text",
          "text": "CONFIRMATION_REQUIRED: {consequence}. Ask the user explicitly, and then retry the same call with \"confirm\": true."
        }
      ]
    }
  2. Le modèle interroge l’utilisateur : « Cela va {consequence}. Dois-je continuer ? »

  3. Après l’accord de l’utilisateur, le modèle réessaie avec confirm: true :

    json

    {
      "name": "create_number_order",
      "arguments": {
        "body": {"set_id": "11111111-2222-3333-4444-555555555555", "country_code": "NL", "number_type": "local"},
        "confirm": true
      }
    }

Important : confirm est une protection contre l’injection de prompt, pas un système de permissions. Le rôle de votre clé API détermine toujours si vous pouvez appeler l’outil. Un confirm: true sans le rôle requis est tout de même rejeté par le backend avec une erreur 403.


6. Envoi de documents KYC

L’envoi de documents KYC (Know Your Customer) via MCP se fait en convertissant le fichier binaire en base64 dans du JSON.

Paramètres

  • file_base64 (obligatoire) : le contenu du fichier encodé en base64 (le base64 standard et le base64 compatible URL sont tous deux acceptés ; encodage invalide → erreur d’outil INVALID_FILE_ENCODING)
  • file_name (obligatoire) : nom de fichier d’origine (par ex. "passport.pdf")
  • file_content_type (facultatif) : type MIME (par ex. "application/pdf"). À omettre s’il est inconnu.
  • doc_type (obligatoire) : code de type de document accepté par le backend KYC (par ex. "passport" ou "proof_of_address")

Limites

  • Taille maximale du fichier décodé : 10 MiB. Fichiers plus volumineux → erreur d’outil FILE_TOO_LARGE.
  • Taille maximale de la requête : 15 MiB pour l’ensemble de la requête /mcp/, ce qui laisse la place à un fichier de 10 MiB en base64.
  • Les outils sans fichier sont plafonnés à 1 MiB d’arguments (ARGUMENTS_TOO_LARGE), sauf validate_audio et reconcile_audio, qui peuvent aller jusqu’à la limite de requête de 15 MiB.

Exemple

json

{
  "doc_type": "passport",
  "file_base64": "JVBERi0xLjQKJeLjz9MNCjExIDAgb2JqCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQSsvQmFzZUZvbnQvVGltZXMtQm9sZD4+CmVuZG9iCmZv...",
  "file_name": "my_passport.pdf",
  "file_content_type": "application/pdf"
}

Pour générer le base64 d’un fichier en ligne de commande :

bash

base64 < my_passport.pdf

7. Données personnelles

pii_decrypt_call et pii_list_call_identities renvoient des données personnelles en clair (noms, e-mail, numéros de téléphone, etc.) directement dans la fenêtre de contexte de l’assistant IA.

Audact ne journalise ni les arguments ni les résultats des outils. Nous n’enregistrons donc pas nous-mêmes de données personnelles. En revanche, le fait qu’un assistant IA propre à un tenant puisse recevoir des données personnelles en clair relève de la responsabilité du tenant, au titre de son accord de traitement des données (DPA). Chaque client doit s’assurer que son accord sur les données l’autorise.

Si vous travaillez avec un responsable du traitement qui restreint les PII dans les contextes d’IA, utilisez directement l’API REST, avec des contrôles d’accès appropriés, plutôt que le serveur MCP.


Identifiants dans la conversation. generate_key renvoie le secret d’une nouvelle clé API et exchange_key renvoie un jeton de session. Les deux se retrouvent dans l’historique de conversation de l’assistant (et partout où votre client IA le stocke). Les deux exigent confirm: true ; révoquez avec revoke_key toute clé susceptible d’avoir été exposée.

Remarque sur delete_call_recording : l’API exige le rôle Owner, et MCP exige en plus confirm: true.

8. Limites

Limite de débit

  • Point de terminaison /mcp/ : 600 requêtes par minute et par clé. Chaque appel d’outil et chaque tools/list est compté.
  • Délai d’expiration : 30 secondes par appel.

Limites de taille des arguments

CatégorieLimiteErreur
La plupart des outils1 MiBARGUMENTS_TOO_LARGE
Envoi de document KYC (décodé)10 MiBFILE_TOO_LARGE
Outils à gros arguments (validate_audio, reconcile_audio)15 MiBARGUMENTS_TOO_LARGE (si plus volumineux)

Remarque : les fichiers audio de plus d’environ 11 MiB nécessitent toujours l’API REST ; pour les très gros fichiers, utilisez directement POST /v1/validate-audio et POST /v1/audio-reconciliation.

Taille des réponses

  • Plafond de 256 KiB : si le résultat d’une liste dépasse 256 KiB, des éléments entiers sont retirés à la fin pour que le résultat reste du JSON valide. Un champ _mcp_truncated indique combien d’éléments ont été renvoyés et combien tenaient dans la page. Réessayez avec un limit plus petit ou des filtres plus étroits.
  • Réponses à un seul élément : si un seul élément dépasse 256 KiB (rare), vous obtenez à la place une erreur d’outil RESPONSE_TOO_LARGE.

Autres limites

  • Encodage des fichiers : seul le base64 (standard ou compatible URL) est accepté pour file_base64. Encodage invalide → INVALID_FILE_ENCODING.
  • Décodage base64 : la taille encodée doit tenir dans 10 MiB (décodée) ; au-delà → FILE_TOO_LARGE.

9. Proxy LLM

L’outil proxy_openai transmet une requête au proxy LLM d’Audact, qui gère l’authentification et le routage vers le fournisseur de LLM que vous avez configuré.

Paramètres

  • call_id (obligatoire) : UUID du contexte d’appel (en-tête X-Audact-Call-ID)
  • config_id (obligatoire) : UUID de la configuration LLM (en-tête X-Audact-Config-ID)
  • turn (obligatoire) : numéro du tour dans la conversation (en-tête X-Audact-Turn)
  • Autres champs : transmis tels quels comme corps de la requête au fournisseur de LLM (par ex. messages, temperature, etc.)

Remarques importantes

  • Le tenant provient toujours de votre clé : vous ne pouvez pas en indiquer un autre ; il est renseigné automatiquement à partir de la clé API authentifiée.
  • Confirmation requise : appelez proxy_openai avec "confirm": true, car l’appel LLM est payant.
  • Pas de streaming via MCP : le streaming (text/event-stream) est réservé à REST. MCP ne gère que le JSON ; utilisez directement /v1/llm-proxy/openai pour les réponses en streaming.
  • Latence : cet appel s’exécute sur le chemin critique (délai strict de 40 ms pour la validation de conformité) ; pour le proxy lui-même, attendez-vous à des réponses en moins d’une seconde.

Exemple

json

{
  "call_id": "550e8400-e29b-41d4-a716-446655440000",
  "config_id": "660e8400-e29b-41d4-a716-446655440001",
  "turn": 1,
  "messages": [{"role": "user", "content": "Hello"}],
  "temperature": 0.7,
  "confirm": true
}

10. Ce qui N’est PAS exposé (et pourquoi)

Le serveur MCP exclut délibérément certaines opérations en v1 :

ExcluRaison
Administration d’organisation et de plateforme (/v1/org/*, /v1/platform/*, points de terminaison réservés à l’organisation ou à la plateforme)Exigent des identifiants d’organisation ou de plateforme, pas des clés API de tenant
Clonage de voix (create_agent_worker_voice, delete_agent_worker_voice)Derrière une authentification réservée à la plateforme ; aucune clé de tenant ne peut les appeler
Export/import (exportAgent, exportTenant, importTenant)Exigent des jetons de plateforme ou un parcours d’inscription spécial
Inscription (createTenant)Ce n’est pas une opération de tenant ; aucune clé de tenant ne peut l’appeler
OAuth Cal.com (calcom_oauth_start, calcom_oauth_callback)Hors périmètre : les flux OAuth / de code d’autorisation ne sont pas pris en charge dans cette phase
Proxy LLM en streaming (proxyOpenAIStream)Renvoie text/event-stream ; MCP ne gère que le JSON. Utilisez l’API REST pour le streaming.
Points de terminaison internes du pipeline (finalizeCallScore, checkCallingHours)Non routés publiquement ; ce ne sont pas des opérations destinées aux tenants
Webhooks entrants (points de terminaison receive_*)Les webhooks des fournisseurs sont des rappels entrants, pas des outils MCP
Clés publiques, téléchargement de l’export de preuves, plan de contrôle SIPPoints de terminaison système, URL protégées par jeton, ou sans rapport avec les opérations d’API des tenants
Vérification publique (getMetachain, verifyInclusion) et actualisation de la session du tableau de bord (refreshToken)Ne prennent aucune clé API de tenant

La liste de référence, avec une raison par entrée, est tenue dans la configuration des exclusions du serveur MCP.

Pour toutes ces opérations, utilisez directement l’API REST avec votre clé, ou le tableau de bord Audact.


11. Erreurs et limites de débit

Erreurs d’outil

Lorsqu’un appel d’outil MCP échoue, vous obtenez une erreur d’outil comportant :

  • code : le code d’erreur de l’API Audact (par ex. CALL_NOT_FOUND, INVALID_API_KEY, CONFIRMATION_REQUIRED, ARGUMENTS_TOO_LARGE, FILE_TOO_LARGE, INVALID_FILE_ENCODING)
  • hint : une suggestion lisible par un humain
  • message : le texte complet de l’erreur

Exemple :

json

{
  "isError": true,
  "content": [
    {
      "type": "text",
      "text": "404 CALL_NOT_FOUND: Call not found\nHint: Provide a valid UUID for call_id"
    }
  ]
}

Authentification et limites de débit

  • 401 de transport (HTTP 401) : clé API invalide ou révoquée. Vérifiez que votre clé est correcte et n’a pas été révoquée.
  • Erreur d’outil 403 (du backend) : le rôle de votre clé est insuffisant pour cet outil. Passez à Developer ou Owner si nécessaire.
  • HTTP 429 (limite de débit) : /mcp/ est limité à 600 requêtes par minute et par clé, en comptant chaque requête MCP. Lorsque la limite est atteinte, vous obtenez un HTTP 429 avec un en-tête Retry-After ; attendez ce nombre de secondes avant de réessayer.
  • Plafond de taille des réponses (256 KiB) : si le résultat d’une liste dépasse 256 KiB, des éléments entiers sont retirés à la fin pour que le résultat reste du JSON valide, et un champ _mcp_truncated indique combien d’éléments ont été affichés. next_cursor est retiré d’une page tronquée. Un seul élément au-delà du plafond renvoie à la place une erreur d’outil RESPONSE_TOO_LARGE.

Délais d’expiration

  • Chaque appel d’outil a un délai d’expiration de 30 secondes. Des retards réseau ou des opérations en amont lentes peuvent parfois le déclencher. Dans ce cas, réessayez après un court délai.

12. Transmission et architecture

Vos appels MCP sont transmis à la véritable API REST d’Audact (/v1) avec votre clé, exactement comme si vous l’aviez appelée directement. Cela signifie que :

  • Permissions : le rôle de votre clé détermine ce que vous pouvez faire. Une clé Viewer ne voit que les outils de lecture ; une clé Developer ou Owner peut écrire.
  • Cloisonnement des tenants : votre clé est liée à un seul tenant. Vous ne pouvez ni lire ni modifier les données d’un autre tenant, même si vous transmettez d’une manière ou d’une autre leurs ID.
  • Piste d’audit : chaque appel est journalisé sous votre clé, comme un appel REST.
  • Idempotence : gérée par les mêmes services backend que ceux qui traitent REST ; transmettez idempotency_key lorsqu’un outil le propose.

En bref : un appel d’outil MCP ne peut jamais faire plus que ce que la même clé pourrait faire directement sur /v1.


13. Exemples

Lister les agents

Outil : list_agents
Arguments : (aucun)
→ Renvoie la liste des agents de votre tenant

Créer un webhook

Outil : create_webhook
Arguments :
  - body:
      url: "https://example.com/hook"
      events: ["call_ended", "call_summary"]
      scope: "account"
→ Renvoie l’ID et la configuration du nouveau webhook

Confirmer la remise

Outil : confirm_delivery
Arguments :
  - body:
      call_id: "aaaabbbb-cccc-dddd-eeee-ffff00001111"
      delivered_text: "Your balance is low"
      mechanism: "voice"
→ Renvoie 200 OK ; événement de preuve enregistré

Envoyer un document KYC

Outil : upload_kyc_document
Arguments :
  - doc_type: "passport"
  - file_base64: "JVBERi0xLjQK..." (PDF encodé en base64)
  - file_name: "my_passport.pdf"
  - file_content_type: "application/pdf"
→ Renvoie l’ID du document et l’horodatage de l’envoi

14. Assistance et retours

  • Référence de l’API REST : Référence de l’API Audact
  • Spécification du protocole MCP : Model Context Protocol
  • Dépannage :
    • Vérifiez que votre clé API est correcte et n’a pas été révoquée.
    • Vérifiez que vous utilisez https://api.audact.ai/mcp/ comme URL de point de terminaison.
    • Si tools/list renvoie une liste vide : le rôle de votre clé est peut-être insuffisant. Essayez une clé Developer.
    • Pour des erreurs d’outil précises : le code d’erreur et l’indication (hint) renvoient à la documentation de l’API REST.
  • Signaler un problème : Assistance Audact

Référence rapide

ÉlémentValeur
ProtocoleMCP (Model Context Protocol) 2025-06-18
TransportStreamable HTTP, POST /mcp/
URL de productionhttps://api.audact.ai/mcp/
AuthentificationAuthorization: Bearer aud_live_…
Outils161 opérations choisies de l’API REST d’Audact
RôlesViewer, Developer, Owner
Limite de débit600 req/min par clé sur /mcp/
Délai d’expiration30 secondes par appel
Outils exigeant confirm33 (argent, irréversible, critique pour la sécurité)
Limite d’arguments (la plupart des outils)1 MiB
Limite d’arguments (validation audio)15 MiB (audio : environ 11 MiB recommandés)
Limite des documents KYC10 MiB (décodé)
Plafond de réponse256 KiB : les listes sont tronquées (_mcp_truncated) ; un seul élément au-delà du plafond renvoie RESPONSE_TOO_LARGE

Source mise à jour: 19 octobre 2026