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
--headerof 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
- Log in op het Audact-dashboard via uw omgevings-URL.
- Ga naar API-sleutels (of Instellingen → API-sleutels).
- Kopieer een sleutel met de benodigde rol (Viewer, Developer of Owner; zie Rolkoppeling hieronder).
- 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
| Tool | Rol | R | D | C | Wat het doet |
|---|---|---|---|---|---|
list_agents | Viewer | ✓ | Alle agenten in uw tenant weergeven | ||
get_agent | Viewer | ✓ | Één agent ophalen op ID | ||
list_agent_tools | Viewer | ✓ | Bekijken welke tools een agent kan gebruiken | ||
create_agent | Developer | Een nieuwe agent aanmaken | |||
replace_agent | Developer | Een agent vervangen (volledige update) | |||
update_agent | Developer | Een agent bijwerken (gedeeltelijke update) | |||
duplicate_agent | Developer | Een bestaande agent klonen | |||
attach_tool_to_agent | Developer | Een tool toevoegen aan de toolkit van een agent | |||
detach_tool_from_agent | Developer | ✓ | Een tool verwijderen van een agent | ||
delete_agent | Owner | ✓ | Een agent permanent verwijderen |
Tools
| Tool | Rol | R | D | C | Wat het doet |
|---|---|---|---|---|---|
list_tools | Viewer | ✓ | Alle aangepaste tools weergeven | ||
get_tool | Viewer | ✓ | Één tool ophalen op ID | ||
create_tool | Developer | Een nieuwe tool aanmaken | |||
replace_tool | Developer | Een tool vervangen (volledige update) | |||
update_tool | Developer | Een tool bijwerken (gedeeltelijke update) | |||
test_tool | Developer | Een door het platform geleverde tool testen, zoals Cal.com (aangepaste HTTP-tools hebben geen test) | |||
delete_tool | Owner | ✓ | Een tool zacht verwijderen |
Kennisbanken
| Tool | Rol | R | D | C | Wat het doet |
|---|---|---|---|---|---|
list_knowledge_bases | Viewer | ✓ | De kennisbanken van de tenant weergeven | ||
get_knowledge_base | Viewer | ✓ | Één kennisbank ophalen op ID | ||
create_knowledge_base | Developer | Een kennisbank aanmaken | |||
update_knowledge_base | Developer | Een kennisbank hernoemen of automatisch vernieuwen in-/uitschakelen | |||
delete_knowledge_base | Owner | ✓ | Een kennisbank met al haar bronnen en agentgekoppelde links verwijderen | ||
list_kb_sources | Viewer | ✓ | De bronnen van een kennisbank en hun opnamestatus weergeven | ||
get_kb_source | Viewer | ✓ | Één bron ophalen | ||
add_kb_source | Developer | Een URL- of tekstbron toevoegen (bestandsuploads zijn alleen via de REST API) | |||
update_kb_source | Developer | De titel van een bron wijzigen of, voor tekstbronnen, de inhoud ervan | |||
reingest_kb_source | Developer | Een bron opnieuw crawlen en indexeren | |||
delete_kb_source | Owner | ✓ | Een bron en de geïndexeerde inhoud ervan verwijderen | ||
list_kb_agent_links | Viewer | ✓ | De agenten weergeven waaraan een kennisbank is gekoppeld | ||
list_kb_links_by_agent | Viewer | ✓ | De kennisbanken weergeven die aan een agent zijn gekoppeld | ||
attach_knowledge_base_to_agent | Developer | Een kennisbank aan een agent koppelen, met ophaalinstellingen | |||
update_kb_agent_link | Developer | Ophaalinstellingen (top_k, threshold, instruction) voor een koppeling aanpassen | |||
detach_knowledge_base_from_agent | Developer | ✓ | Een kennisbank van een agent ontkoppelen | ||
list_kb_exclusions | Viewer | ✓ | Crawl-uitsluitingsregels weergeven | ||
add_kb_exclusion | Developer | Een padprefix of URL uitsluiten van crawlen | |||
delete_kb_exclusion | Developer | ✓ | Een crawl-uitsluitingsregel verwijderen | ||
test_kb_retrieval | Developer | ✓ | Een vraag stellen en zien welke fragmenten het ophalen teruggeeft |
Stemmen
| Tool | Rol | R | D | C | Wat het doet |
|---|---|---|---|---|---|
list_voices | Viewer | ✓ | Beschikbare stemmen voor agenten weergeven | ||
get_voice | Viewer | ✓ | Één stem ophalen op ID |
Integraties
| Tool | Rol | R | D | C | Wat het doet |
|---|---|---|---|---|---|
list_connections | Viewer | ✓ | Externe integraties (Slack, Zapier, enz.) weergeven | ||
get_connection | Viewer | ✓ | Één integratie ophalen op ID | ||
list_connection_event_types | Viewer | ✓ | Bekijken welke gebeurtenissen deze integratie uitzendt | ||
create_connection | Developer | Een nieuwe integratie toevoegen | |||
test_connection | Developer | Een integratie testen (proefloop) | |||
delete_connection | Developer | ✓ | Een integratie verwijderen |
Configuraties
| Tool | Rol | R | D | C | Wat het doet |
|---|---|---|---|---|---|
list_configurations | Viewer | ✓ | Alle configuraties weergeven | ||
get_configuration | Viewer | ✓ | Één configuratie ophalen op ID | ||
get_configuration_version | Viewer | ✓ | Een eerdere versie van een configuratie ophalen (waarmee een gesprek dat op die versie was vastgezet werd uitgevoerd) | ||
create_configuration | Developer | Een nieuwe configuratie aanmaken | |||
update_configuration | Developer | Een configuratie bijwerken | |||
delete_configuration | Owner | ✓ | Een configuratie permanent verwijderen |
Gesprekken en bewijzen
| Tool | Rol | R | D | C | Wat het doet |
|---|---|---|---|---|---|
list_calls | Viewer | ✓ | Gesprekken zoeken in uw tenant | ||
get_call_detail | Viewer | ✓ | Volledig gespreksrecord, transcript, metadata, PII-tokens | ||
get_call_summary | Viewer | ✓ | Samenvatting op hoog niveau van een gesprek | ||
get_delivery_status | Viewer | ✓ | Controleren of een opname of transcript via webhooks is afgeleverd | ||
get_chain | Viewer | ✓ | De hash-keten ophalen die de integriteit van een gesprek bewijst | ||
verify_chain | Viewer | ✓ | Een keten cryptografisch verifiëren | ||
reconstruct_call | Viewer | ✓ | Een gesprek opnieuw opbouwen vanuit de bewijsgebeurtenissen | ||
list_violations | Viewer | ✓ | Compliance-overtredingen in een gesprek | ||
list_compliance_events | Viewer | ✓ | Tijdgestempelde compliance-registraties | ||
get_article50_report | Viewer | ✓ | EU AI-wet artikel 50-bewijsrapport voor een gesprek (ondertekend JSON) | ||
get_receipt | Viewer | ✓ | Compliance-bon voor een gesprek | ||
list_proofs | Viewer | ✓ | Metachain-bewijzen voor gesprekken | ||
get_proof | Viewer | ✓ | Één bewijs ophalen op ID | ||
get_call_recording | Viewer | ✓ | URL van de gespreksopname ophalen (geeft een ondertekende downloadlink terug) | ||
delete_call_recording | Owner | ✓ | ✓ | De gespreksopname permanent verwijderen |
Webhooks
| Tool | Rol | R | D | C | Wat het doet |
|---|---|---|---|---|---|
list_webhooks | Viewer | ✓ | Alle webhook-abonnementen weergeven | ||
get_webhook | Viewer | ✓ | Één webhook ophalen op ID | ||
list_webhook_deliveries | Viewer | ✓ | Aflevergeschiedenis van een webhook bekijken | ||
list_webhook_event_types | Viewer | ✓ | Welke gebeurtenissen kunnen worden geabonneerd | ||
get_webhook_event_schema | Viewer | ✓ | JSON-schema voor een gebeurtenis | ||
get_webhook_secret_status | Viewer | ✓ | Controleren of een webhook-geheim actief is | ||
create_webhook | Developer | Abonneren op gebeurtenissen (bijv. call_ended) | |||
update_webhook | Developer | Een webhook-URL of gebeurtenissen wijzigen | |||
test_webhook | Developer | Een ondertekende testgebeurtenis naar het eindpunt sturen | |||
resend_webhook_delivery | Developer | Een eerdere aflevering opnieuw activeren | |||
delete_webhook | Owner | ✓ | Een webhook-abonnement opzeggen |
Telefoonnummers
| Tool | Rol | R | D | C | Wat het doet |
|---|---|---|---|---|---|
list_numbers | Viewer | ✓ | Alle DID's (telefoonnummers) weergeven | ||
lookup_number | Viewer | ✓ | Één DID opzoeken op telefoonnummer of ID | ||
list_available_numbers | Viewer | ✓ | Niet-toegewezen nummers vinden | ||
list_number_orders | Viewer | ✓ | Geschiedenis van nummerprovisionering bekijken | ||
get_number_order | Viewer | ✓ | Één bestelling ophalen op ID | ||
set_number_trunk | Developer | Trunk van een telefoonnummer instellen | |||
assign_number | Developer | Een DID toewijzen aan een agent | |||
suspend_number | Developer | Een nummer tijdelijk uitschakelen | |||
resume_number | Developer | Een geschorst nummer opnieuw inschakelen | |||
create_number | Developer | ✓ | ✓ | Telefoonnummer toevoegen (kan kosten met zich meebrengen) | |
create_number_order | Developer | ✓ | ✓ | Telefoonnummers bestellen (kost geld) | |
release_number | Developer | ✓ | ✓ | De toewijzing van een nummer opheffen (kan permanent verloren gaan) | |
delete_number | Developer | ✓ | ✓ | Een nummer permanent uit de pool verwijderen |
Tenant, sleutels en sessie
| Tool | Rol | R | D | C | Wat het doet |
|---|---|---|---|---|---|
get_tenant | Viewer | ✓ | Metadata van uw tenant ophalen | ||
get_tenant_usage | Viewer | ✓ | Gebruik- en quotuminformatie | ||
list_keys | Developer | ✓ | API-sleutels weergeven | ||
update_tenant | Owner | ✓ | Tenantinstellingen bijwerken | ||
rotate_webhook_secret | Owner | ✓ | Webhook-geheim rouleren | ||
generate_key | Owner | ✓ | ✓ | API-sleutel genereren (geheim wordt eenmalig in dit gesprek teruggegeven) | |
revoke_key | Owner | ✓ | ✓ | API-sleutel onmiddellijk intrekken | |
exchange_key | Viewer | ✓ | ✓ | API-sleutel omruilen voor sessietoken (in dit gesprek) | |
create_ws_ticket | Viewer | WebSocket-ticket aanmaken |
BYO-telefonie (Bring Your Own)
| Tool | Rol | R | D | C | Wat het doet |
|---|---|---|---|---|---|
get_byo_config | Viewer | ✓ | BYO-telefonieconfiguratie ophalen | ||
list_byo_connections | Viewer | ✓ | BYO SIP-verbindingen weergeven | ||
get_byo_connection | Viewer | ✓ | BYO SIP-verbinding ophalen | ||
verify_byo_connection | Developer | BYO SIP-verbinding verifiëren | |||
create_byo_connection | Owner | BYO SIP-verbinding aanmaken | |||
update_byo_connection | Owner | ✓ | BYO SIP-verbinding bijwerken | ||
delete_byo_connection | Owner | ✓ | ✓ | BYO SIP-verbinding verwijderen (gesprekken daarover worden onderbroken) |
KYC (Know Your Customer)
| Tool | Rol | R | D | C | Wat het doet |
|---|---|---|---|---|---|
list_kyc_requirements | Viewer | ✓ | KYC-vereisten weergeven | ||
list_kyc_document_sets | Viewer | ✓ | KYC-documentsets weergeven | ||
get_kyc_document_set | Viewer | ✓ | KYC-documentset ophalen | ||
list_kyc_documents | Viewer | ✓ | KYC-documenten weergeven | ||
get_kyc_document | Viewer | ✓ | KYC-document ophalen | ||
create_kyc_document_set | Owner | KYC-documentset aanmaken | |||
upload_kyc_document | Owner | KYC-document uploaden (zie KYC-documenten uploaden) | |||
replace_kyc_document | Owner | KYC-document vervangen | |||
delete_kyc_document | Owner | ✓ | ✓ | KYC-document verwijderen (verwijdert de wettelijke registratie permanent) | |
delete_kyc_document_set | Owner | ✓ | ✓ | KYC-documentset verwijderen | |
rotate_kyc_dek | Owner | ✓ | ✓ | KYC-versleutelingssleutel rouleren |
PII-kluis
| Tool | Rol | R | D | C | Wat het doet |
|---|---|---|---|---|---|
pii_get_settings | Viewer | ✓ | PII-kluisconfiguratie ophalen | ||
pii_list_exemptions | Viewer | ✓ | Nummers die zijn vrijgesteld van versleuteling | ||
pii_list_shreds | Viewer | ✓ | Controlelogboek voor vernietiging (permanente verwijdering) | ||
pii_list_erased_keysets | Viewer | ✓ | Sleutels die niet langer in gebruik zijn | ||
pii_decrypt_call | Viewer | Gesprek-PII ontsleutelen (geeft PII in platte tekst terug — zie Persoonsgegevens) | |||
pii_list_call_identities | Viewer | ✓ | Gespreksidentiteiten weergeven (geeft PII in platte tekst terug — zie Persoonsgegevens) | ||
pii_link_call_identity | Developer | Gespreksidentiteit koppelen | |||
pii_shred_call | Owner | ✓ | ✓ | Gesprek-PII vernietigen (wist persoonsgegevens onherroepelijk — AVG-verwijdering) | |
pii_shred_by_hash | Owner | ✓ | ✓ | PII vernietigen op hash (wist overal onherroepelijk — AVG-verwijdering) | |
pii_add_exemption | Owner | ✓ | ✓ | PII-vrijstelling toevoegen (stelt een identificator vrij van versleuteling) | |
pii_delete_exemption | Owner | ✓ | ✓ | PII-vrijstelling verwijderen | |
pii_delete_exemption_by_path | Owner | ✓ | ✓ | PII-vrijstelling verwijderen op pad | |
pii_put_settings | Owner | ✓ | ✓ | PII-kluisinstellingen bijwerken (schakelt tenantbrede versleuteling in/uit) |
Gesprekken (SIP) — Beheer van live gesprekken
| Tool | Rol | R | D | C | Wat het doet |
|---|---|---|---|---|---|
get_call_status | Viewer | ✓ | Gespreksstatus ophalen | ||
initiate_inbound_call | Developer | ✓ | ✓ | Inkomend gesprek starten (start een live inkomende gespreksruimte) | |
initiate_outbound_call | Developer | ✓ | ✓ | Uitgaand gesprek starten (voert een echt telefoongesprek — kost geld, laat een echte persoon overgaan) | |
create_browser_call | Developer | ✓ | ✓ | Browser-testgesprek starten (start een live testgesprek en zet de AI-agent in — kost agentminuten) | |
hangup_call | Developer | ✓ | ✓ | Gesprek beëindigen (beëindigt een live gesprek onmiddellijk) |
Doorverbindingen en overdrachten
| Tool | Rol | R | D | C | Wat het doet |
|---|---|---|---|---|---|
get_transfer_state | Viewer | ✓ | Status van doorverbinding ophalen | ||
get_handover | Developer | ✓ | Informatie over overdracht ophalen | ||
initiate_transfer | Developer | ✓ | ✓ | Gesprek doorverbinden (verbindt een live gesprek door naar een andere partij) | |
initiate_handover | Developer | ✓ | ✓ | Gesprek overdragen aan een medewerker | |
bridge_transfer | Developer | ✓ | ✓ | Bridge-doorverbinding (verbindt de beller met het doorverbindingsdoel) | |
cancel_transfer | Developer | ✓ | ✓ | Doorverbinding annuleren (annuleert een lopende live doorverbinding) | |
end_transfer | Developer | ✓ | ✓ | Doorverbinding beëindigen |
SIP-routering
| Tool | Rol | R | D | C | Wat het doet |
|---|---|---|---|---|---|
list_trunks | Viewer | ✓ | SIP-trunks weergeven | ||
list_dispatch_rules | Viewer | ✓ | Dispatch-regels weergeven | ||
create_dispatch_rule | Developer | ✓ | ✓ | Dispatch-regel aanmaken (wijzigt de routering van inkomende gesprekken) | |
create_inbound_trunk | Owner | ✓ | ✓ | Inkomende SIP-trunk aanmaken (maakt een SIP-trunk die echte gesprekken voert) | |
create_outbound_trunk | Owner | ✓ | ✓ | Uitgaande SIP-trunk aanmaken (maakt een SIP-trunk die echte gesprekken voert) | |
get_admission_url | Viewer | ✓ | Toelating-URL ophalen | ||
set_admission_url | Developer | ✓ | ✓ | Toelating-URL instellen (wijzigt de URL die Audact aanroept vóór het verbinden van elk inkomend gesprek) |
Compliance Runtime API
| Tool | Rol | R | D | C | Wat het doet |
|---|---|---|---|---|---|
validate_text | Developer | Tekst valideren tegen beleid | |||
validate_audio | Developer | Audio valideren (tot ca. 11 MiB; zie Limieten) | |||
reconcile_audio | Developer | Audio reconciliëren (tot ca. 11 MiB; zie Limieten) | |||
evaluate_policy | Viewer | Beleid evalueren | |||
get_policy | Viewer | ✓ | Beleid ophalen | ||
confirm_delivery | Developer | Aflevering bevestigen | |||
reconcile_transcript | Developer | Transcript reconciliëren | |||
generate_c2pa_manifest | Developer | C2PA-manifest genereren | |||
list_c2pa_manifests | Viewer | ✓ | De C2PA-manifesten weergeven die voor een gesprek zijn uitgegeven | ||
create_event | Developer | ✓ | ✓ | Bewijsgebeurtenis aanmaken (voegt een permanente, manipulatie-aantoonbare gebeurtenis toe aan de bewijsketen) | |
trigger_aggregation | Owner | Aggregatie activeren |
LLM-proxy
| Tool | Rol | R | D | C | Wat het doet |
|---|---|---|---|---|---|
proxy_openai | Developer | ✓ | ✓ | 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:
-
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." } ] } -
Het model vraagt de gebruiker: "Dit zal {consequence}. Wilt u doorgaan?"
-
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 → toolfoutINVALID_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), behalvevalidate_audioenreconcile_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, elketools/list. - Time-out: 30 seconden per aanroep.
Argumentgrootte-limieten
| Categorie | Limiet | Fout |
|---|---|---|
| De meeste tools | 1 MiB | ARGUMENTS_TOO_LARGE |
| KYC-document uploaden (gedecodeerd) | 10 MiB | FILE_TOO_LARGE |
Tools met grote argumenten (validate_audio, reconcile_audio) | 15 MiB | ARGUMENTS_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_truncatedgeeft aan hoeveel er zijn teruggegeven en hoeveel er op de pagina passen. Probeer opnieuw met een kleinerelimitof 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_openaiaan met"confirm": trueomdat 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/openairechtstreeks 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:
| Uitgesloten | Reden |
|---|---|
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-besturingsvlak | Systeemeindpunten, 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 eenRetry-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_truncatedgeeft aan hoeveel er zijn weergegeven.next_cursorwordt verwijderd van een afgekapte pagina. Eén item boven de limiet geeft in plaats daarvan een toolfoutRESPONSE_TOO_LARGEterug.
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_keydoor 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 terugAflevering 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 geregistreerdEen 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/listeen 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
| Item | Waarde |
|---|---|
| Protocol | MCP (Model Context Protocol) 2025-06-18 |
| Transport | Streamable HTTP, POST /mcp/ |
| Productie-URL | https://api.audact.ai/mcp/ |
| Authenticatie | Authorization: Bearer aud_live_… |
| Tools | 161 geselecteerde operaties van de Audact REST API |
| Rollen | Viewer, Developer, Owner |
| Snelheidslimiet | 600 verz./min per sleutel op /mcp/ |
| Time-out | 30 seconden per aanroep |
| Tools die bevestiging vereisen | 33 (geld, onomkeerbaar, beveiligingskritiek) |
| Argumentlimiet (meeste tools) | 1 MiB |
| Argumentlimiet (audiovalidatie) | 15 MiB (audio: ca. 11 MiB aanbevolen) |
| KYC-documentlimiet | 10 MiB (gedecodeerd) |
| Antwoordlimiet | 256 KiB: lijsten worden afgekapt (_mcp_truncated); afzonderlijke items boven de limiet geven RESPONSE_TOO_LARGE terug |
