Gå til indholdet

Giv Claude Code et telefonnummer via MCP

September 2, 2026 · 6 minutter læsetid

Vil du have Claude Code (eller Cursor, Windsurf, VS Code) til at ringe og sende SMS direkte fra en prompt, uden at skrive kode? Det kræver blot én kommando i terminalen, som kobler volai på som MCP-server, og derefter kan du fortælle editoren i helt almindelige sætninger, hvad du vil - „ring til mig på...“, „send en SMS til...“. Editoren vælger selv det rigtige værktøj blandt de 110, som volai tilbyder via MCP, og kalder det. Ingen læsning af API-dokumentation, ingen egen kode til telefoni.

Hvad er MCP, og hvorfor virker det uden kode?

MCP (Model Context Protocol) er den måde, en AI-editor kan hente et værktøj fra en ekstern tjeneste undervejs og straks bruge det - i stedet for blot at tale om det. Når volai er koblet på, ser editoren alle 110 værktøjer (ring op, send SMS, køb et nummer, opret en agent og flere) og kan ud fra beskrivelsen af hvert enkelt selv afgøre, hvilket der passer til det, du netop har skrevet. Den, der vil have princippet forklaret mere detaljeret, finder det i artiklen Hvad er en MCP-server, og hvordan hænger den sammen med telefoni; her handler det mest om at give Claude Code et telefonnummer og straks prøve det af.

Installation i Claude Code

Én kommando i terminalen, og så er det klaret:

bash
claude mcp add --transport http volai https://volai.eu/mcp \
  --header "Authorization: Bearer vk_DIN_NOEGLE"

API-nøglen (vk_DIN_NOEGLE) finder du i volai-portalen under API og MCP, når du har oprettet dig. Uden en gyldig nøgle afviser serveren forespørgslen - det fortæller editoren dig direkte i den første besked.

Cursor og andre editorer

Samme server, anden notation. I ~/.cursor/mcp.json (eller i .cursor/mcp.json kun for ét projekt) indsætter du:

json
{
  "mcpServers": {
    "volai": {
      "url": "https://volai.eu/mcp",
      "headers": {
        "Authorization": "Bearer vk_DIN_NOEGLE"
      }
    }
  }
}

Windsurf, VS Code (Copilot) og Claude Desktop kobles på efter samme princip, blot med en lidt anden form på konfigurationsfilen - den præcise ordlyd for hver af dem står på siden MCP-server.

Hvis editoren ikke viser noget værktøj efter tilkoblingen: det er som regel en af tre ting. Editoren indlæser normalt kun konfigurationen af MCP-servere ved start, så efter den første gem skal den genstartes (eller i det mindste have vinduet eller projektet genindlæst). Tjek, at den kopierede nøgle ikke har et ekstra mellemrum i begyndelsen eller til sidst - i terminalen og i JSON-filen er det usynligt, men det ødelægger headeren Authorization. Og om serveren overhovedet svarer, kan du hurtigst afprøve med netop den prompt lidt længere nede - så snart editoren selv kalder et værktøj, er forbindelsen i orden.

Dit første opkald med én prompt

Når forbindelsen er oprettet, er det nok at skrive til editoren med egne ord, hvad du vil - for eksempel præcis dette:

  • Ring til mig med det samme på +420777123456, og prøv rollen som bestillingslinje hos en pizzeria - jeg vil ikke oprette mit eget nummer eller en agent for at gøre det.

Ud fra det genkender editoren værktøjet make_call og dets parameter systemPrompt - et prøveopkald uden at skulle købe et nummer eller først oprette en agent. Der ringes fra det fælles volai-demonummer - netop det nummer, ikke dit eget, ser den, der bliver ringet op, på displayet - og opkaldet kører med agentens standardstemme, fordi et eget voiceId ikke kan sendes med ved et prøveopkald. systemPrompt må højst være på 1200 tegn, opkaldet afregnes helt normalt inklusive agentens tillæg (ingen rabat), og der kan højst foretages 3 prøveopkald pr. 24 timer pr. konto - en bekræftet e-mail er en forudsætning. Hvis du i stedet vil ringe fra dit eget nummer via din egen agent, så sig det bare til editoren - den kalder make_call med agentId i stedet for systemPrompt.

Din første SMS med én prompt

Samme princip virker for tekstbeskeder:

  • Send en SMS til +420777123456 om, at den aftalte tid er bekræftet til i morgen formiddag.

Denne gang tager editoren fat i send_sms - under motorhjelmen er det nøjagtig det samme kald, som du selv ville skrive direkte mod REST API'et (POST /v1/messages {"to": "+420...", "body": "..."}), bare uden at skrive kode. Uden eget nummer går SMS'en via det fælles afsendernavn SMSinfo og kun til et tjekkisk (+420) eller slovakisk (+421) nummer, og modtageren kan ikke svare på den - volais stemmenumre modtager ikke SMS. Modtagelse af SMS og afsendelse fra eget nummer (kun til tjekkiske numre) klares af tilkøbet mobilnummer (290 kr ekskl. moms pr. 30 dage, højst 2 pr. konto), som editoren køber med værktøjet buy_sms_number først efter din udtrykkelige accept af prisen, og de modtagne beskeder læser den med værktøjet list_messages; verifikationskoder fra tjenester garanterer vi ikke. SMS kan også modtages og sendes fra eget nummer via »nummer til opkald og sms«: en fastnetlinje i Prag til 49 kr ekskl. moms pr. 30 dage (trækkes først efter aktivering, normalt inden for 1 hverdag; højst 2 pr. konto), som folk både kan ringe til og skrive til, og hvorfra agenten både ringer og sender SMS. Editoren bestiller den med værktøjet order_voice_sms_number først efter din udtrykkelige accept af prisen, dirigerer indgående opkald via set_voice_sms_number_routing og sender SMS fra den med værktøjet send_sms med feltet fromNumber (kun til tjekkiske numre, uden leveringskvitteringer). Tekstbeskeder sendes først efter den første opfyldning af saldoen: velkomstsaldoen rækker til prøveopkald, men ikke til SMS.

Hvad kan du ellers få udført?

Samme fremgangsmåde virker for hvert af de 110 værktøjer - nogle flere eksempler:

  • „Giv mig et resumé af de sidste ti opkald - især om der var noget hastende iblandt.“ - værktøjet list_calls.
  • „Fortæl mig den aktuelle saldo, og send en advarsel, hvis den er ved at slippe op.“ - værktøjet get_balance.
  • „Opret et nyt nummer til afdelingen, og giv det straks en agent, der tager imod bordreservationer.“ - værktøjerne buy_number og create_agent efter hinanden.

Den fulde tabel over alle 110 værktøjer med en beskrivelse af, hvornår editoren bruger dem, findes på siden MCP-server - og siden Integrationer: Claude Code har desuden nogle færdige prompter til typiske opgaver.

Er det sikkert at give editoren en API-nøgle?

MCP godkendes med samme API-nøgle som REST API'et og deler med det også samme grænse på 60 forespørgsler i minuttet - den, der har nøglen, handler på din konto nøjagtig som dig: køber et nummer, tager telefonen, sender en tekstbesked eller opretter en agent, og alt trækkes fra din saldo.

Beskyt nøglen som et betalingskort

Lad aldrig nøglen havne i frontend-kode, i et repositorium på GitHub eller sendt til nogen som ren tekst. Mistanke om lækage klares med ét klik: slet nøglen i portalen under API og MCP - den holder øjeblikkeligt op med at virke og kan ikke genskabes. En ny opretter du lige ved siden af, og så er det nok at overskrive den i editorens konfiguration.

Betalte handlinger (send_sms, make_call, buy_number, buy_sms_number) har bevidst idempotentHint: false - et andet kald sender en anden SMS eller trækker et andet beløb, så en god editor gentager dem ikke af sig selv efter et udfald. Og selv hvis en prompt skulle fare vild til et nummer, du ikke vil ringe til, er der en sidste sikring: listen over numre, der ikke må ringes op. Værktøjerne add_to_dnc, list_dnc og remove_from_dnc vogter de numre, som agenten (både din egen og den indbyggede) ikke længere må ringe til - det gælder opkald, ikke SMS, og kan ikke omgås med nogen prompt eller noget API-kald.

Hvert værktøj fortæller desuden editoren på forhånd, hvordan det opfører sig - om det kun læser (readOnlyHint), om det er uigenkaldeligt (destructiveHint), eller om det ikke må gentages uden omtanke (intet idempotent flag ved betalte handlinger). Derfor spørger en god editor, før den sletter en agent eller annullerer en ubrugt relay lease, og læseværktøjer (saldo, opkaldshistorik, oversigt over numre) kører den straks uden at spørge - du risikerer intet ved det.

To ting kan MCP bevidst ikke: at frigive et købt nummer (DELETE /v1/numbers/{e164}) og et mobilnummer (DELETE /v1/sms-numbers/{e164}) sker kun via portalen eller REST API'et, så en enkelt misforstået sætning ikke fratager dig et nummer, som står trykt på en flyer, og PDF'en af skattedokumentet hentes kun via REST (selve dokumenterne læses af værktøjerne list_billing_documents og get_billing_document, faktureringsoplysningerne ændres med update_billing_details). Tilsvarende har download af en opkaldsoptagelse intet eget værktøj - det er en lydfil, ikke JSON, og den hentes med samme API-nøgle direkte fra REST.

Hele fremgangsmåden samt de enkelte værktøjers sikkerhedsegenskaber (hvad editoren spørger om, før den gør det) står på siden MCP-server, priser pr. minut og pr. SMS under priser.

Prøv volai - de første 50 kr er på os

Du opretter en konto på et minut og får straks en startsaldo til opkald og nummer - SMS kan sendes efter den første opfyldning.

Prøv gratis