Ga naar hoofdinhoud
Audact
Bekijk het aanbod

Audact MCP-server — Installatiehandleiding voor clients

Verbind AI-assistenten met Audact via het Model Context Protocol. Beheer agenten, webhooks, gesprekken en compliance met 161 beschikbare tools.

Wat is het? De Audact-MCP-server (Model Context Protocol) stelt een zorgvuldig samengestelde reeks Audact-operaties beschikbaar als tools voor AI-assistenten — Claude, Cursor, Claude Desktop of elke MCP-compatibele client — via een eenvoudige HTTP-interface. Maak verbinding met uw tenant-API-sleutel en bekijk gesprekken, beheer agenten en webhooks, bouw compliance-automatiseringen en beheer spraakoperaties.

Beschikbare tools: 161 verspreid over alle rollen

Eindpunten:

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

1. Wat het is

De MCP-server is een staatloze HTTP-eindpunt die tool-aanroepen vertaalt naar Audact REST API-operaties. Hij draait via Streamable HTTP (de MCP-standaard voor server-naar-client- en client-naar-server-JSON-RPC), vereist alleen uw API-sleutel voor authenticatie (Bearer-token) en handhaaft exact dezelfde machtigingen en isolatie als de REST API zelf.

Waarom MCP?

  • Instellen in één regel: Geen handgeschreven integraties of aangepaste bruggen.
  • Realtime context: Uw AI-assistent heeft live toegang tot agenten, webhooks, nummers, gesprekken en bewijzen.
  • Veilige machtigingen: Elke tool-aanroep wordt doorgestuurd met uw sleutel — een assistent kan alleen doen wat uw sleutelrol toestaat.
  • Geen opgeslagen geheimen: De MCP-server bewaart geen aanmeldgegevens en creëert geen nieuw aanvalsoppervlak; hij stuurt uw sleutel byte voor byte door naar de onderliggende API.

Transport en protocol

  • Protocol: Model Context Protocol (MCP), versie 2025-06-18 (achterwaarts compatibel met 2025-03-26).
  • Transport: Streamable HTTP POST naar /mcp/ op de basis-URL van uw omgeving.
  • Inhoud: JSON-RPC 2.0-verzoeken en -antwoorden.
  • Authenticatie: Authorization: Bearer aud_live_… (uw tenant-API-sleutel, dezelfde als voor REST).
  • Staatlos: Geen sessies, geen cookies. Elk verzoek is onafhankelijk; elke replica kan het bedienen.

Wat OAuth hier betekent

OAuth wordt niet ondersteund. MCP-clients die voor externe servers verplicht OAuth vereisen, kunnen geen verbinding maken. Ondersteunde clients (Claude Code, Cursor, Claude Desktop via mcp-remote, MCP SDK's) geven headers rechtstreeks door:

  • ✅ Claude Code, Cursor, Claude Desktop met mcp-remote: werkt
  • ✅ MCP SDK-clients met --header of omgevingsvariabele: werkt
  • ✅ Aangepaste MCP-implementaties die Bearer-tokens ondersteunen: werkt
  • ❌ Clients die voor externe servers uitsluitend OAuth ondersteunen: niet ondersteund in v1

2. Uw AI-assistent verbinden

Claude Code

bash

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

Vervang aud_live_… door uw werkelijke API-sleutel (zie Uw sleutel ophalen hieronder).

Ter verificatie: Start Claude Code opnieuw op na het toevoegen en vraag: "Geef een lijst van mijn agenten." Als daarbij list_agents zonder fout wordt aangeroepen, is de verbinding tot stand gebracht.

Claude Desktop

Gebruik mcp-remote om de MCP-server achter de lokale gateway te laten draaien:

bash

# In het configuratiebestand van Claude Desktop (~/.config/Claude/claude_desktop_config.json op Linux/Mac,
# of %APPDATA%\Claude\claude_desktop_config.json op Windows):

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

Start Claude Desktop opnieuw op. De Audact-tools zouden nu in uw toollijst moeten verschijnen.

Cursor

Hetzelfde als Claude Desktop: voeg toe aan de mcp_server_config.json van Cursor:

json

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

3. Uw sleutel ophalen

  1. Log in op het Audact-dashboard via uw omgevings-URL.
  2. Ga naar API-sleutels (of Instellingen → API-sleutels).
  3. Kopieer een sleutel met de benodigde rol (Viewer, Developer of Owner; zie Rolkoppeling hieronder).
  4. Gebruik hem in de bovenstaande configuratie.

Houd uw sleutel geheim. Behandel hem als een wachtwoord. Als hij is blootgesteld, trek hem dan onmiddellijk in via het dashboard.


4. Wat u kunt doen: tools per rol

De MCP-server stelt in totaal 161 tools beschikbaar, gegroepeerd per machtigingsniveau en domein. Een tool verschijnt in de beschikbare tools van uw assistent alleen als uw sleutel de vereiste rol heeft. Zelfs als u een tool opvraagt waarvoor u geen machtiging hebt, wijst de backend de aanroep af met een duidelijke foutmelding.

Rolniveaus

  • Viewer: Alleen-lezen toegang. Bekijk gesprekken, bewijzen, configuraties, webhooks en nummers.
  • Developer: Lees- en schrijftoegang. Maak/update agenten, tools, webhooks en toewijzingen. Geen verwijderen/wissen.
  • Owner: Volledige toegang, inclusief verwijderen en instellingswijzigingen.

Toolcategorieën

Legenda: R = alleen-lezen | D = vernietigend | C = bevestiging vereist (vraag de gebruiker eerst, probeer daarna opnieuw met confirm: true)

Agenten

ToolRolRDCWat het doet
list_agentsViewer✓Alle agenten in uw tenant weergeven
get_agentViewer✓Één agent ophalen op ID
list_agent_toolsViewer✓Bekijken welke tools een agent kan gebruiken
create_agentDeveloperEen nieuwe agent aanmaken
replace_agentDeveloperEen agent vervangen (volledige update)
update_agentDeveloperEen agent bijwerken (gedeeltelijke update)
duplicate_agentDeveloperEen bestaande agent klonen
attach_tool_to_agentDeveloperEen tool toevoegen aan de toolkit van een agent
detach_tool_from_agentDeveloper✓Een tool verwijderen van een agent
delete_agentOwner✓Een agent permanent verwijderen

Tools

ToolRolRDCWat het doet
list_toolsViewer✓Alle aangepaste tools weergeven
get_toolViewer✓Één tool ophalen op ID
create_toolDeveloperEen nieuwe tool aanmaken
replace_toolDeveloperEen tool vervangen (volledige update)
update_toolDeveloperEen tool bijwerken (gedeeltelijke update)
test_toolDeveloperEen door het platform geleverde tool testen, zoals Cal.com (aangepaste HTTP-tools hebben geen test)
delete_toolOwner✓Een tool zacht verwijderen

Kennisbanken

ToolRolRDCWat het doet
list_knowledge_basesViewer✓De kennisbanken van de tenant weergeven
get_knowledge_baseViewer✓Één kennisbank ophalen op ID
create_knowledge_baseDeveloperEen kennisbank aanmaken
update_knowledge_baseDeveloperEen kennisbank hernoemen of automatisch vernieuwen in-/uitschakelen
delete_knowledge_baseOwner✓Een kennisbank met al haar bronnen en agentgekoppelde links verwijderen
list_kb_sourcesViewer✓De bronnen van een kennisbank en hun opnamestatus weergeven
get_kb_sourceViewer✓Één bron ophalen
add_kb_sourceDeveloperEen URL- of tekstbron toevoegen (bestandsuploads zijn alleen via de REST API)
update_kb_sourceDeveloperDe titel van een bron wijzigen of, voor tekstbronnen, de inhoud ervan
reingest_kb_sourceDeveloperEen bron opnieuw crawlen en indexeren
delete_kb_sourceOwner✓Een bron en de geïndexeerde inhoud ervan verwijderen
list_kb_agent_linksViewer✓De agenten weergeven waaraan een kennisbank is gekoppeld
list_kb_links_by_agentViewer✓De kennisbanken weergeven die aan een agent zijn gekoppeld
attach_knowledge_base_to_agentDeveloperEen kennisbank aan een agent koppelen, met ophaalinstellingen
update_kb_agent_linkDeveloperOphaalinstellingen (top_k, threshold, instruction) voor een koppeling aanpassen
detach_knowledge_base_from_agentDeveloper✓Een kennisbank van een agent ontkoppelen
list_kb_exclusionsViewer✓Crawl-uitsluitingsregels weergeven
add_kb_exclusionDeveloperEen padprefix of URL uitsluiten van crawlen
delete_kb_exclusionDeveloper✓Een crawl-uitsluitingsregel verwijderen
test_kb_retrievalDeveloper✓Een vraag stellen en zien welke fragmenten het ophalen teruggeeft

Stemmen

ToolRolRDCWat het doet
list_voicesViewer✓Beschikbare stemmen voor agenten weergeven
get_voiceViewer✓Één stem ophalen op ID

Integraties

ToolRolRDCWat het doet
list_connectionsViewer✓Externe integraties (Slack, Zapier, enz.) weergeven
get_connectionViewer✓Één integratie ophalen op ID
list_connection_event_typesViewer✓Bekijken welke gebeurtenissen deze integratie uitzendt
create_connectionDeveloperEen nieuwe integratie toevoegen
test_connectionDeveloperEen integratie testen (proefloop)
delete_connectionDeveloper✓Een integratie verwijderen

Configuraties

ToolRolRDCWat het doet
list_configurationsViewer✓Alle configuraties weergeven
get_configurationViewer✓Één configuratie ophalen op ID
get_configuration_versionViewer✓Een eerdere versie van een configuratie ophalen (waarmee een gesprek dat op die versie was vastgezet werd uitgevoerd)
create_configurationDeveloperEen nieuwe configuratie aanmaken
update_configurationDeveloperEen configuratie bijwerken
delete_configurationOwner✓Een configuratie permanent verwijderen

Gesprekken en bewijzen

ToolRolRDCWat het doet
list_callsViewer✓Gesprekken zoeken in uw tenant
get_call_detailViewer✓Volledig gespreksrecord, transcript, metadata, PII-tokens
get_call_summaryViewer✓Samenvatting op hoog niveau van een gesprek
get_delivery_statusViewer✓Controleren of een opname of transcript via webhooks is afgeleverd
get_chainViewer✓De hash-keten ophalen die de integriteit van een gesprek bewijst
verify_chainViewer✓Een keten cryptografisch verifiëren
reconstruct_callViewer✓Een gesprek opnieuw opbouwen vanuit de bewijsgebeurtenissen
list_violationsViewer✓Compliance-overtredingen in een gesprek
list_compliance_eventsViewer✓Tijdgestempelde compliance-registraties
get_article50_reportViewer✓EU AI-wet artikel 50-bewijsrapport voor een gesprek (ondertekend JSON)
get_receiptViewer✓Compliance-bon voor een gesprek
list_proofsViewer✓Metachain-bewijzen voor gesprekken
get_proofViewer✓Één bewijs ophalen op ID
get_call_recordingViewer✓URL van de gespreksopname ophalen (geeft een ondertekende downloadlink terug)
delete_call_recordingOwner✓✓De gespreksopname permanent verwijderen

Webhooks

ToolRolRDCWat het doet
list_webhooksViewer✓Alle webhook-abonnementen weergeven
get_webhookViewer✓Één webhook ophalen op ID
list_webhook_deliveriesViewer✓Aflevergeschiedenis van een webhook bekijken
list_webhook_event_typesViewer✓Welke gebeurtenissen kunnen worden geabonneerd
get_webhook_event_schemaViewer✓JSON-schema voor een gebeurtenis
get_webhook_secret_statusViewer✓Controleren of een webhook-geheim actief is
create_webhookDeveloperAbonneren op gebeurtenissen (bijv. call_ended)
update_webhookDeveloperEen webhook-URL of gebeurtenissen wijzigen
test_webhookDeveloperEen ondertekende testgebeurtenis naar het eindpunt sturen
resend_webhook_deliveryDeveloperEen eerdere aflevering opnieuw activeren
delete_webhookOwner✓Een webhook-abonnement opzeggen

Telefoonnummers

ToolRolRDCWat het doet
list_numbersViewer✓Alle DID's (telefoonnummers) weergeven
lookup_numberViewer✓Één DID opzoeken op telefoonnummer of ID
list_available_numbersViewer✓Niet-toegewezen nummers vinden
list_number_ordersViewer✓Geschiedenis van nummerprovisionering bekijken
get_number_orderViewer✓Één bestelling ophalen op ID
set_number_trunkDeveloperTrunk van een telefoonnummer instellen
assign_numberDeveloperEen DID toewijzen aan een agent
suspend_numberDeveloperEen nummer tijdelijk uitschakelen
resume_numberDeveloperEen geschorst nummer opnieuw inschakelen
create_numberDeveloper✓✓Telefoonnummer toevoegen (kan kosten met zich meebrengen)
create_number_orderDeveloper✓✓Telefoonnummers bestellen (kost geld)
release_numberDeveloper✓✓De toewijzing van een nummer opheffen (kan permanent verloren gaan)
delete_numberDeveloper✓✓Een nummer permanent uit de pool verwijderen

Tenant, sleutels en sessie

ToolRolRDCWat het doet
get_tenantViewer✓Metadata van uw tenant ophalen
get_tenant_usageViewer✓Gebruik- en quotuminformatie
list_keysDeveloper✓API-sleutels weergeven
update_tenantOwner✓Tenantinstellingen bijwerken
rotate_webhook_secretOwner✓Webhook-geheim rouleren
generate_keyOwner✓✓API-sleutel genereren (geheim wordt eenmalig in dit gesprek teruggegeven)
revoke_keyOwner✓✓API-sleutel onmiddellijk intrekken
exchange_keyViewer✓✓API-sleutel omruilen voor sessietoken (in dit gesprek)
create_ws_ticketViewerWebSocket-ticket aanmaken

BYO-telefonie (Bring Your Own)

ToolRolRDCWat het doet
get_byo_configViewer✓BYO-telefonieconfiguratie ophalen
list_byo_connectionsViewer✓BYO SIP-verbindingen weergeven
get_byo_connectionViewer✓BYO SIP-verbinding ophalen
verify_byo_connectionDeveloperBYO SIP-verbinding verifiëren
create_byo_connectionOwnerBYO SIP-verbinding aanmaken
update_byo_connectionOwner✓BYO SIP-verbinding bijwerken
delete_byo_connectionOwner✓✓BYO SIP-verbinding verwijderen (gesprekken daarover worden onderbroken)

KYC (Know Your Customer)

ToolRolRDCWat het doet
list_kyc_requirementsViewer✓KYC-vereisten weergeven
list_kyc_document_setsViewer✓KYC-documentsets weergeven
get_kyc_document_setViewer✓KYC-documentset ophalen
list_kyc_documentsViewer✓KYC-documenten weergeven
get_kyc_documentViewer✓KYC-document ophalen
create_kyc_document_setOwnerKYC-documentset aanmaken
upload_kyc_documentOwnerKYC-document uploaden (zie KYC-documenten uploaden)
replace_kyc_documentOwnerKYC-document vervangen
delete_kyc_documentOwner✓✓KYC-document verwijderen (verwijdert de wettelijke registratie permanent)
delete_kyc_document_setOwner✓✓KYC-documentset verwijderen
rotate_kyc_dekOwner✓✓KYC-versleutelingssleutel rouleren

PII-kluis

ToolRolRDCWat het doet
pii_get_settingsViewer✓PII-kluisconfiguratie ophalen
pii_list_exemptionsViewer✓Nummers die zijn vrijgesteld van versleuteling
pii_list_shredsViewer✓Controlelogboek voor vernietiging (permanente verwijdering)
pii_list_erased_keysetsViewer✓Sleutels die niet langer in gebruik zijn
pii_decrypt_callViewerGesprek-PII ontsleutelen (geeft PII in platte tekst terug — zie Persoonsgegevens)
pii_list_call_identitiesViewer✓Gespreksidentiteiten weergeven (geeft PII in platte tekst terug — zie Persoonsgegevens)
pii_link_call_identityDeveloperGespreksidentiteit koppelen
pii_shred_callOwner✓✓Gesprek-PII vernietigen (wist persoonsgegevens onherroepelijk — AVG-verwijdering)
pii_shred_by_hashOwner✓✓PII vernietigen op hash (wist overal onherroepelijk — AVG-verwijdering)
pii_add_exemptionOwner✓✓PII-vrijstelling toevoegen (stelt een identificator vrij van versleuteling)
pii_delete_exemptionOwner✓✓PII-vrijstelling verwijderen
pii_delete_exemption_by_pathOwner✓✓PII-vrijstelling verwijderen op pad
pii_put_settingsOwner✓✓PII-kluisinstellingen bijwerken (schakelt tenantbrede versleuteling in/uit)

Gesprekken (SIP) — Beheer van live gesprekken

ToolRolRDCWat het doet
get_call_statusViewer✓Gespreksstatus ophalen
initiate_inbound_callDeveloper✓✓Inkomend gesprek starten (start een live inkomende gespreksruimte)
initiate_outbound_callDeveloper✓✓Uitgaand gesprek starten (voert een echt telefoongesprek — kost geld, laat een echte persoon overgaan)
create_browser_callDeveloper✓✓Browser-testgesprek starten (start een live testgesprek en zet de AI-agent in — kost agentminuten)
hangup_callDeveloper✓✓Gesprek beëindigen (beëindigt een live gesprek onmiddellijk)

Doorverbindingen en overdrachten

ToolRolRDCWat het doet
get_transfer_stateViewer✓Status van doorverbinding ophalen
get_handoverDeveloper✓Informatie over overdracht ophalen
initiate_transferDeveloper✓✓Gesprek doorverbinden (verbindt een live gesprek door naar een andere partij)
initiate_handoverDeveloper✓✓Gesprek overdragen aan een medewerker
bridge_transferDeveloper✓✓Bridge-doorverbinding (verbindt de beller met het doorverbindingsdoel)
cancel_transferDeveloper✓✓Doorverbinding annuleren (annuleert een lopende live doorverbinding)
end_transferDeveloper✓✓Doorverbinding beëindigen

SIP-routering

ToolRolRDCWat het doet
list_trunksViewer✓SIP-trunks weergeven
list_dispatch_rulesViewer✓Dispatch-regels weergeven
create_dispatch_ruleDeveloper✓✓Dispatch-regel aanmaken (wijzigt de routering van inkomende gesprekken)
create_inbound_trunkOwner✓✓Inkomende SIP-trunk aanmaken (maakt een SIP-trunk die echte gesprekken voert)
create_outbound_trunkOwner✓✓Uitgaande SIP-trunk aanmaken (maakt een SIP-trunk die echte gesprekken voert)
get_admission_urlViewer✓Toelating-URL ophalen
set_admission_urlDeveloper✓✓Toelating-URL instellen (wijzigt de URL die Audact aanroept vóór het verbinden van elk inkomend gesprek)

Compliance Runtime API

ToolRolRDCWat het doet
validate_textDeveloperTekst valideren tegen beleid
validate_audioDeveloperAudio valideren (tot ca. 11 MiB; zie Limieten)
reconcile_audioDeveloperAudio reconciliëren (tot ca. 11 MiB; zie Limieten)
evaluate_policyViewerBeleid evalueren
get_policyViewer✓Beleid ophalen
confirm_deliveryDeveloperAflevering bevestigen
reconcile_transcriptDeveloperTranscript reconciliëren
generate_c2pa_manifestDeveloperC2PA-manifest genereren
list_c2pa_manifestsViewer✓De C2PA-manifesten weergeven die voor een gesprek zijn uitgegeven
create_eventDeveloper✓✓Bewijsgebeurtenis aanmaken (voegt een permanente, manipulatie-aantoonbare gebeurtenis toe aan de bewijsketen)
trigger_aggregationOwnerAggregatie activeren

LLM-proxy

ToolRolRDCWat het doet
proxy_openaiDeveloper✓✓OpenAI-verzoek proxyen (voert een betaalde LLM-aanroep uit; zie LLM-proxy)

5. Bevestiging voor gevaarlijke acties

Sommige tools vereisen expliciete bevestiging voordat ze worden uitgevoerd. Dit zijn operaties die geld kosten, onomkeerbaar zijn of invloed hebben op de beveiliging:

De 33 tools die bevestiging vereisen:

  • Gelduitgevend: create_number, create_number_order, initiate_outbound_call
  • Onomkeerbare verwijderingen: 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
  • Gespreksbesturing: initiate_inbound_call, create_browser_call, hangup_call, initiate_transfer, initiate_handover, bridge_transfer, cancel_transfer, end_transfer
  • Configuratie: create_dispatch_rule, create_inbound_trunk, create_outbound_trunk, set_admission_url, rotate_kyc_dek, pii_add_exemption, pii_put_settings
  • Beveiliging: generate_key, exchange_key, create_event, proxy_openai

Hoe bevestiging werkt

Wanneer een tool bevestiging vereist:

  1. Eerste aanroep mislukt met 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. Het model vraagt de gebruiker: "Dit zal {consequence}. Wilt u doorgaan?"

  3. Na goedkeuring door de gebruiker herhaalt het model de aanroep met confirm: true:

    json

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

Belangrijk: confirm is een beveiliging tegen prompt-injectie, geen machtigingssysteem. De rol van uw API-sleutel bepaalt nog steeds of u de tool kunt aanroepen. Een confirm: true zonder de vereiste rol wordt nog steeds afgewezen met een 403-fout van de backend.


6. KYC-documenten uploaden

Het uploaden van KYC-documenten (Know Your Customer) verloopt via de MCP-server door het binaire bestand te coderen als base64 in JSON.

Parameters

  • file_base64 (vereist): De bestandsinhoud gecodeerd in base64 (standaard of URL-veilige base64 worden beide geaccepteerd; ongeldige codering → toolfout INVALID_FILE_ENCODING)
  • file_name (vereist): Oorspronkelijke bestandsnaam (bijv. "passport.pdf")
  • file_content_type (optioneel): MIME-type (bijv. "application/pdf"). Weglaten indien onbekend.
  • doc_type (vereist): Documenttypecode die door de KYC-backend wordt geaccepteerd (bijv. "passport" of "proof_of_address")

Limieten

  • Maximale decoderingsgrootte: 10 MiB. Grotere bestanden → toolfout FILE_TOO_LARGE.
  • Maximale verzoekgrootte: 15 MiB voor het volledige /mcp/-verzoek, waardoor er ruimte is voor een bestand van 10 MiB als base64.
  • Tools zonder een bestand zijn beperkt tot 1 MiB aan argumenten (ARGUMENTS_TOO_LARGE), behalve validate_audio en reconcile_audio, die tot de limiet van 15 MiB voor verzoeken kunnen gebruiken.

Voorbeeld

json

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

Om base64 te genereren uit uw bestand via de opdrachtregel:

bash

base64 < my_passport.pdf

7. Persoonsgegevens

pii_decrypt_call en pii_list_call_identities geven persoonsgegevens in platte tekst (namen, e-mailadressen, telefoonnummers, enz.) rechtstreeks in het contextvenster van de AI-assistent terug.

Audact logt geen tool-argumenten of -resultaten, dus wij loggen zelf geen PII. Of de eigen AI-assistent van een tenant echter persoonsgegevens in platte tekst mag ontvangen, is de verantwoordelijkheid van de tenant op grond van diens Gegevensverwerkingsovereenkomst. Elke klant moet ervoor zorgen dat diens gegevensovereenkomst dit toestaat.

Als u werkt met een verwerkingsverantwoordelijke die PII in AI-contexten beperkt, gebruikt u de REST API rechtstreeks met de juiste toegangscontroles in plaats van de MCP-server.


Aanmeldgegevens in het gesprek. generate_key geeft een nieuw API-sleutelgeheim terug en exchange_key geeft een sessietoken terug. Beide komen in de gespreksgeschiedenis van de assistent (en overal waar uw AI-client die opslaat). Beide vereisen confirm: true; trek een sleutel die mogelijk blootgesteld is in met revoke_key.

Opmerking over delete_call_recording: de API vereist de Owner-rol, en de MCP-server vereist bovendien confirm: true.

8. Limieten

Snelheidslimiet

  • Eindpunt /mcp/: 600 verzoeken/minuut per sleutel. Telt elke tool-aanroep, elke tools/list.
  • Time-out: 30 seconden per aanroep.

Argumentgrootte-limieten

CategorieLimietFout
De meeste tools1 MiBARGUMENTS_TOO_LARGE
KYC-document uploaden (gedecodeerd)10 MiBFILE_TOO_LARGE
Tools met grote argumenten (validate_audio, reconcile_audio)15 MiBARGUMENTS_TOO_LARGE (indien groter)

Opmerking: Audio groter dan ca. 11 MiB vereist nog steeds de REST API; gebruik POST /v1/validate-audio en POST /v1/audio-reconciliation rechtstreeks voor zeer grote bestanden.

Antwoordgrootte

  • Limiet van 256 KiB: Als een lijstresultaat 256 KiB overschrijdt, worden volledige items vanaf het einde afgekapt zodat het resultaat geldige JSON blijft. Een veld _mcp_truncated geeft aan hoeveel er zijn teruggegeven en hoeveel er op de pagina passen. Probeer opnieuw met een kleinere limit of engere filters.
  • Antwoorden voor één item: Als één item 256 KiB overschrijdt (zeldzaam), krijgt u in plaats daarvan een toolfout RESPONSE_TOO_LARGE.

Overige limieten

  • Bestandscodering: Alleen base64 (standaard of URL-veilig) wordt geaccepteerd voor file_base64. Ongeldige codering → INVALID_FILE_ENCODING.
  • Base64-decodering: De gecodeerde grootte moet passen binnen 10 MiB (gedecodeerd); te groot → FILE_TOO_LARGE.

9. LLM-proxy

De tool proxy_openai stuurt een verzoek door naar de Audact LLM-proxy, die authenticatie en routering naar uw geconfigureerde LLM-provider beheert.

Parameters

  • call_id (vereist): UUID van de gesprekscontext (X-Audact-Call-ID-header)
  • config_id (vereist): UUID van de LLM-configuratie (X-Audact-Config-ID-header)
  • turn (vereist): Beurtnummer in het gesprek (X-Audact-Turn-header)
  • Andere velden: Worden als verzoeklichaam doorgegeven aan de LLM-provider (bijv. messages, temperature, enz.)

Belangrijke opmerkingen

  • Tenant komt altijd van uw sleutel: U kunt geen andere tenant opgeven; dit wordt automatisch ingevuld vanuit de geverifieerde API-sleutel.
  • Bevestiging vereist: Roept proxy_openai aan met "confirm": true omdat het een betaalde LLM-aanroep doet.
  • Streamen niet beschikbaar via MCP: Streamen (text/event-stream) is alleen via REST. MCP is JSON-only; gebruik /v1/llm-proxy/openai rechtstreeks voor streaming-antwoorden.
  • Latentie: Deze aanroep loopt op het kritieke pad (harde deadline van 40 ms voor compliance-validatie); verwacht sub-second antwoorden voor de proxy zelf.

Voorbeeld

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. Wat NIET beschikbaar is (en waarom)

De MCP-server sluit in v1 bewust bepaalde operaties uit:

UitgeslotenReden
Org- en platformbeheer (/v1/org/*, /v1/platform/*, org/platform-only eindpunten)Vereisen org- of platformgegevens, geen tenant-API-sleutels
Stemklonen (create_agent_worker_voice, delete_agent_worker_voice)Achter alleen-platformauthenticatie; geen tenant-sleutel kan ze aanroepen
Exporteren/importeren (exportAgent, exportTenant, importTenant)Vereisen platformtokens of een speciale aanmeldstroom
Aanmelden (createTenant)Geen tenantoperatie; geen tenant-sleutel kan dit aanroepen
Cal.com OAuth (calcom_oauth_start, calcom_oauth_callback)Buiten bereik: OAuth/autorisatiecode-flows worden in deze fase niet ondersteund
Streaming LLM-proxy (proxyOpenAIStream)Geeft text/event-stream terug; MCP is JSON-only. Gebruik de REST API voor streamen.
Interne pipeline-eindpunten (finalizeCallScore, checkCallingHours)Niet publiek gerouteerd; geen tenantgerichte operaties
Inkomende webhooks (receive_*-eindpunten)Provider-webhooks zijn inkomende callbacks, geen MCP-tools
Publieke sleutels, evidence export download, SIP-besturingsvlakSysteemeindpunten, via tokens beveiligde URL's of niet gerelateerd aan tenant-API-operaties
Publieke verificatie (getMetachain, verifyInclusion) en sessieforverversing in dashboard (refreshToken)Accepteren geen tenant-API-sleutel

De gezaghebbende lijst, met één reden per vermelding, wordt bijgehouden in de uitsluitingsconfiguratie van de MCP-server.

Voor elk van deze, gebruikt u de REST API rechtstreeks met uw sleutel, of het Audact-dashboard.


11. Fouten en snelheidslimieten

Toolfouten

Wanneer een tool-aanroep via de MCP-server mislukt, krijgt u een toolfout met:

  • code: De Audact API-foutcode (bijv. CALL_NOT_FOUND, INVALID_API_KEY, CONFIRMATION_REQUIRED, ARGUMENTS_TOO_LARGE, FILE_TOO_LARGE, INVALID_FILE_ENCODING)
  • hint: Een voor mensen leesbare suggestie
  • message: Volledige fouttekst

Voorbeeld:

json

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

Authenticatie en snelheidslimieten

  • Transport 401 (HTTP 401): Ongeldige of ingetrokken API-sleutel. Controleer of uw sleutel correct is en niet is ingetrokken.
  • Toolfout 403 (van backend): De rol van uw sleutel is onvoldoende voor deze tool. Upgrade naar Developer of Owner indien nodig.
  • HTTP 429 (snelheidslimiet): /mcp/ heeft een snelheidslimiet van 600 verzoeken/minuut per sleutel, waarbij elk MCP-verzoek wordt geteld. Wanneer de limiet is bereikt, krijgt u HTTP 429 met een Retry-After-header; wacht dat aantal seconden voordat u het opnieuw probeert.
  • Antwoordgroottelimiet (256 KiB): Als een lijstresultaat groter is dan 256 KiB, worden items vanaf het einde weggelaten zodat het resultaat geldige JSON blijft, en een veld _mcp_truncated geeft aan hoeveel er zijn weergegeven. next_cursor wordt verwijderd van een afgekapte pagina. Eén item boven de limiet geeft in plaats daarvan een toolfout RESPONSE_TOO_LARGE terug.

Time-outs

  • Elke tool-aanroep heeft een time-out van 30 seconden. Netwerkvertragingen of trage upstream-operaties kunnen dit soms activeren. Als dit gebeurt, probeer het dan opnieuw na een korte vertraging.

12. Doorsturen en architectuur

Uw MCP-aanroepen worden met uw sleutel doorgestuurd naar de echte Audact REST API (/v1), precies zoals wanneer u die rechtstreeks had aangeroepen. Dit betekent:

  • Machtigingen: De rol van uw sleutel bepaalt wat u kunt doen. Een Viewer-sleutel ziet alleen leestools; een Developer- of Owner-sleutel kan schrijven.
  • Tenant-isolatie: Uw sleutel is gebonden aan één tenant. U kunt de gegevens van een andere tenant niet lezen of wijzigen, zelfs als u hun ID's op de een of andere manier doorgeeft.
  • Controlelogboek: Elke aanroep wordt gelogd onder uw sleutel, net als een REST-aanroep.
  • Idempotentie: Afgehandeld door dezelfde backendservices die REST afhandelen; geef idempotency_key door waar een tool dat aanbiedt.

Kortom: Een tool-aanroep via de MCP-server kan nooit meer doen dan dezelfde sleutel rechtstreeks tegen /v1 zou kunnen doen.


13. Voorbeelden

Agenten weergeven

Tool: list_agents
Argumenten: (geen)
→ Geeft een lijst van de agenten van uw tenant terug

Een webhook aanmaken

Tool: create_webhook
Argumenten:
  - body:
      url: "https://example.com/hook"
      events: ["call_ended", "call_summary"]
      scope: "account"
→ Geeft het nieuwe webhook-ID en de configuratie terug

Aflevering bevestigen

Tool: confirm_delivery
Argumenten:
  - body:
      call_id: "aaaabbbb-cccc-dddd-eeee-ffff00001111"
      delivered_text: "Your balance is low"
      mechanism: "voice"
→ Geeft 200 OK terug; bewijsgebeurtenis geregistreerd

Een KYC-document uploaden

Tool: upload_kyc_document
Argumenten:
  - doc_type: "passport"
  - file_base64: "JVBERi0xLjQK..." (base64-gecodeerd PDF)
  - file_name: "my_passport.pdf"
  - file_content_type: "application/pdf"
→ Geeft het document-ID en de uploadtijdstempel terug

14. Ondersteuning en feedback

  • REST API-referentie: Audact API-referentie
  • MCP-protocolspecificatie: Model Context Protocol
  • Probleemoplossing:
    • Controleer of uw API-sleutel correct is en niet is ingetrokken.
    • Controleer of u https://api.audact.ai/mcp/ gebruikt als eindpunt-URL.
    • Als tools/list een lege lijst teruggeeft: de rol van uw sleutel is mogelijk onvoldoende. Probeer een Developer-sleutel.
    • Voor specifieke toolfouten: de foutcode en hint verwijzen naar de REST API-documentatie.
  • Problemen melden: Audact Support

Snelle naslag

ItemWaarde
ProtocolMCP (Model Context Protocol) 2025-06-18
TransportStreamable HTTP, POST /mcp/
Productie-URLhttps://api.audact.ai/mcp/
AuthenticatieAuthorization: Bearer aud_live_…
Tools161 geselecteerde operaties van de Audact REST API
RollenViewer, Developer, Owner
Snelheidslimiet600 verz./min per sleutel op /mcp/
Time-out30 seconden per aanroep
Tools die bevestiging vereisen33 (geld, onomkeerbaar, beveiligingskritiek)
Argumentlimiet (meeste tools)1 MiB
Argumentlimiet (audiovalidatie)15 MiB (audio: ca. 11 MiB aanbevolen)
KYC-documentlimiet10 MiB (gedecodeerd)
Antwoordlimiet256 KiB: lijsten worden afgekapt (_mcp_truncated); afzonderlijke items boven de limiet geven RESPONSE_TOO_LARGE terug

Bron bijgewerkt: 19 oktober 2026