Jak dać Claude Code numer telefonu przez MCP
September 2, 2026 · 6 minut czytania
Chcą Państwo, żeby Claude Code (albo Cursor, Windsurf, VS Code) potrafił zadzwonić lub wysłać SMS-a prosto z promptu, bez pisania kodu? Jedno polecenie w terminalu łączy volai jako serwer MCP, a potem wystarczy zwykłymi słowami napisać edytorowi, co ma zrobić - „zadzwoń do mnie pod...”, „wyślij SMS-a do...”. Edytor sam wybiera właściwe narzędzie spośród 110, które volai udostępnia przez MCP, i je wywołuje. Bez czytania dokumentacji API, bez własnego kodu do telefonowania.
Czym jest MCP i dlaczego działa bez kodu?
MCP (Model Context Protocol) to sposób, w jaki edytor AI w trakcie pracy pobiera narzędzie z zewnętrznej usługi i faktycznie z niego korzysta, zamiast tylko o nim rozmawiać. Gdy volai jest połączone, edytor widzi wszystkie 110 narzędzi (zadzwoń, wyślij SMS, kup numer, utwórz agenta i inne) i po ich opisach sam rozpoznaje, które pasuje do tego, co właśnie zostało napisane. Dokładniejsze wyjaśnienie samej idei znajdą Państwo w artykule Czym jest serwer MCP i jak łączy się z telefonowaniem; tutaj chodzi głównie o to, jak dać Claude Code numer telefonu i od razu to wypróbować.
Instalacja w Claude Code
Jedno polecenie w terminalu i gotowe:
claude mcp add --transport http volai https://volai.eu/mcp \
--header "Authorization: Bearer vk_PANSTWA_KLUCZ"Klucz API (vk_PANSTWA_KLUCZ) znajdą Państwo w portalu volai w sekcji API i MCP, po zarejestrowaniu się. Bez ważnego klucza serwer odrzuci żądanie - edytor powie o tym od razu przy pierwszej wiadomości.
Cursor i inne edytory
Ten sam serwer, inny zapis. Do ~/.cursor/mcp.json (albo do .cursor/mcp.json tylko dla jednego projektu) wklejają Państwo:
{
"mcpServers": {
"volai": {
"url": "https://volai.eu/mcp",
"headers": {
"Authorization": "Bearer vk_PANSTWA_KLUCZ"
}
}
}
}Windsurf, VS Code (Copilot) i Claude Desktop łączą się na tej samej zasadzie, tylko plik konfiguracyjny ma nieco inny kształt - dokładny zapis dla każdego z nich jest na stronie Serwer MCP.
Gdy edytor po połączeniu nie pokazuje żadnego narzędzia: zwykle chodzi o jedną z trzech rzeczy. Edytory zazwyczaj wczytują konfigurację serwerów MCP tylko przy starcie, więc po pierwszym zapisaniu potrzebny jest restart (albo przynajmniej ponowne wczytanie okna lub projektu). Skopiowany klucz należy sprawdzić pod kątem zbędnej spacji na początku lub na końcu - w terminalu i w pliku JSON jest niewidoczna, a unieważnia nagłówek Authorization. A czy serwer w ogóle odpowiada, najszybciej sprawdzi dokładnie ten prompt kawałek niżej - gdy tylko edytor sam wywoła narzędzie, połączenie działa.
Pierwsze połączenie jednym promptem
Po połączeniu wystarczy napisać edytorowi własnymi słowami, czego Państwo chcą - na przykład właśnie tak:
- Zadzwoń do mnie teraz pod +420777123456 i wciel się w infolinię pizzerii przyjmującą zamówienia - nie chcę zakładać własnego numeru ani agenta tylko do tego.
Edytor rozpoznaje w tym narzędzie make_call z parametrem systemPrompt - połączenie próbne bez numeru i agenta do wcześniejszego skonfigurowania. Dzwoni ze wspólnego numeru demo volai - właśnie on pojawia się na wyświetlaczu osoby, do której dzwoni, a nie Państwa numer - i korzysta z domyślnego głosu agenta, ponieważ w połączeniu próbnym nie można przesłać własnego voiceId. systemPrompt ma limit 1200 znaków, połączenie jest rozliczane całkowicie normalnie łącznie z dopłatą za agenta (bez rabatu), a na konto przypadają najwyżej 3 połączenia próbne na 24 godziny - wymagany jest zweryfikowany adres e-mail. Jeśli chcą Państwo zamiast tego zadzwonić z własnego numeru przez własnego agenta, wystarczy powiedzieć to edytorowi - wywoła wtedy make_call z agentId zamiast systemPrompt.
Pierwszy SMS jednym promptem
Ten sam pomysł działa przy wiadomościach tekstowych:
- Wyślij SMS-a na +420777123456, że wizyta jest potwierdzona na jutro rano.
Tym razem edytor sięga po send_sms - pod spodem jest to dokładnie to samo wywołanie, które napisaliby Państwo sami względem REST API (POST /v1/messages {"to": "+420...", "body": "..."}), tylko bez ani jednej linijki kodu. Bez własnego numeru SMS wychodzi pod wspólną nazwą nadawcy SMSinfo, tylko na numer czeski (+420) lub słowacki (+421), a odbiorcy nie mogą odpowiedzieć - numery głosowe volai nie odbierają SMS-ów. Odbieranie SMS-ów i wysyłanie z własnego numeru (tylko na numery czeskie) umożliwia dodatek numer komórkowy (290 CZK bez VAT za 30 dni, najwyżej 2 na konto): edytor kupuje go przez buy_sms_number dopiero po wyraźnej zgodzie Państwa na cenę, a odebrane wiadomości odczytuje przez list_messages; kodów weryfikacyjnych z usług nie gwarantujemy. numer do połączeń i SMS również odbiera SMS-y i wysyła z własnego numeru: praskie łącze stacjonarne za 49 CZK bez VAT za 30 dni (naliczane po uaktywnieniu, zwykle w ciągu 1 dnia roboczego; najwyżej 2 na konto), pod które można dzwonić i wysyłać SMS-y i z którego Państwa agent wykonuje połączenia i wysyła SMS-y. Edytor zamawia go przez order_voice_sms_number dopiero po wyraźnej zgodzie Państwa na cenę, kieruje połączenia przychodzące przez set_voice_sms_number_routing i wysyła z niego SMS-y przez send_sms z polem fromNumber (tylko numery czeskie, bez raportów doręczenia). SMS-y działają dopiero po pierwszym doładowaniu salda: saldo powitalne wystarcza na połączenia próbne, nie na SMS-y.
O co jeszcze można poprosić?
Ten sam wzorzec działa dla każdego z 110 narzędzi - jeszcze kilka przykładów:
- „Przejrzyj moje ostatnie dziesięć połączeń i powiedz, które naprawdę wymagają mojej uwagi.” - narzędzie list_calls.
- „Podaj aktualny stan mojego salda i wyślij ostrzeżenie, jeśli jest niskie.” - narzędzie get_balance.
- „Załóż numer dla nowego oddziału i podłącz do niego agenta, który przyjmuje rezerwacje stolików.” - buy_number i create_agent, jedno po drugim.
Pełna tabela wszystkich 110 narzędzi z opisem, kiedy edytor używa każdego z nich, jest na stronie Serwer MCP - a strona Integracja z Claude Code ma kilka gotowych promptów do typowych zadań.
Czy bezpiecznie jest dać edytorowi klucz API?
MCP uwierzytelnia się tym samym kluczem API co REST API i dzieli z nim limit 60 żądań na minutę - kto ma ten klucz, działa na koncie dokładnie tak jak Państwo: kupuje numer, wykonuje połączenie, wysyła SMS-a albo tworzy agenta, a wszystko to idzie z Państwa salda.
Klucz należy chronić jak kartę płatniczą
Nie należy trzymać tego klucza w kodzie frontendu, w repozytorium GitHub ani w żadnej wiadomości wysłanej jawnym tekstem. Reakcja na podejrzenie wycieku zajmuje jedno kliknięcie: w portalu, w sekcji API i MCP, usuwa się klucz - przestaje działać natychmiast i nie da się go odzyskać. Następnie tworzy się nowy i wkleja do konfiguracji edytora.
Działania płatne (send_sms, make_call, buy_number, buy_sms_number) są celowo oznaczone idempotentHint: false - ponowne wywołanie wysyła drugiego SMS-a albo nalicza drugą kwotę, więc dobrze działający edytor nie ponawia ich sam po przekroczeniu czasu. A nawet gdyby prompt kiedyś zbłądził w stronę numeru, na który nie chcą Państwo dzwonić, jest jeszcze jedno zabezpieczenie: lista numerów, na które nie wolno dzwonić. Narzędzia add_to_dnc, list_dnc i remove_from_dnc chronią numery, na które żaden agent - wbudowany ani Państwa własny - nie może już zadzwonić. Dotyczy połączeń, nie SMS-ów, i żaden prompt ani wywołanie API nie może jej obejść.
Każde narzędzie z góry informuje też edytor, jak się zachowuje - czy tylko odczytuje (readOnlyHint), czy jest nieodwracalne (destructiveHint), czy nie wolno go ponawiać bez zastanowienia (brak wskazówki idempotentności przy działaniach płatnych). Dlatego dobry edytor pyta, zanim usunie agenta albo anuluje nieużywaną dzierżawę relay, a narzędzia tylko do odczytu (saldo, historia połączeń, lista numerów) po prostu się wykonują bez pytania - nie ma tam nic do stracenia.
Dwóch rzeczy MCP celowo nie potrafi: zwolnienie zakupionego numeru (DELETE /v1/numbers/{e164}) lub numeru SMS (DELETE /v1/sms-numbers/{e164}) działa tylko przez portal albo REST API, żeby jedno źle zrozumiane zdanie nie kosztowało Państwa numeru wydrukowanego na ulotce, a PDF faktury podatkowej pobiera się wyłącznie przez REST (same faktury odczytuje się przez list_billing_documents i get_billing_document, dane do faktury zmienia się przez update_billing_details). Pobranie nagrania rozmowy też nie ma własnego narzędzia, z tego samego powodu - to plik audio, nie JSON, i pobiera się go tym samym kluczem API wprost z REST.
Pełny opis, wraz z właściwościami bezpieczeństwa każdego narzędzia (o co dobry klient zapyta przed działaniem), jest na stronie Serwer MCP; stawki za minutę i za SMS-a są na stronie Cennik.
Wypróbuj volai - pierwsze 50 kr na nasz koszt
Konto zakładają Państwo w minutę i od razu mają na nim saldo startowe na połączenia i numer - SMS-y wyślą Państwo po pierwszym doładowaniu.
Co dalej
Powiązane artykuły
Pięć pytań przed zakupem recepcjonisty AI
Cena, uruchomienie w 5 minut, przekierowanie numeru w O2/T-Mobile/Vodafone, numery słowackie i VAT - pięć odpowiedzi prosto z cennika i ustawień volai.
Wysyłanie SMS przez API w 10 minut w Node.js
Jak wysłać SMS z Node.js przez REST API volai: jedno żądanie fetch na POST /v1/messages, idempotencja, stany błędów i dokładna cena za segment wiadomości.
Jak zadzwonić do klienta z workflow n8n
Zadzwoń do klienta prosto z n8n: węzeł HTTP Request z REST API volai, dane z workflow w prompcie agenta i wynik rozmowy z powrotem przez webhook.