Przejdź do głównej zawartości

Serwer MCP (Integracja AI)

PhishSpot udostępnia serwer MCP (Model Context Protocol), dzięki czemu klient AI, np. Claude, może obsługiwać PhishSpot w Twoim imieniu — językiem naturalnym, na tych samych danych i zasadach co aplikacja webowa. Zestaw narzędzi odzwierciedla teraz większość tego, co może zrobić człowiek w panelu: przeglądać bibliotekę szablonów, budować i planować kampanie, wgrywać hostowane obrazy, zarządzać kontaktami/grupami/kursami/domenami/webhookami/autopilotami oraz odczytywać wszystkie wyniki i trendy.

Serwer MCP jest dostępny pod adresem:

https://platform.phishspot.com/mcp

Komunikuje się przez JSON-RPC po HTTP. Skonfiguruj dowolnego klienta MCP na ten adres, używając transportu HTTP.

Serwer MCP korzysta z tokenów API PhishSpot. Token musi mieć jawnie nadany dostęp MCP.

  1. Przejdź do Ustawienia → Tokeny API → Nowy token.
  2. Nadaj nazwę i zaznacz Zezwól na dostęp MCP.
  3. Skopiuj wartość tokenu (wyświetlana raz).

Dla Claude Code uruchom (zastąp YOUR_TOKEN):

Okno terminala
claude mcp add --transport http phishspot https://platform.phishspot.com/mcp \
--header "Authorization: Bearer YOUR_TOKEN"

Dla Claude Desktop lub innego klienta dodaj wpis serwera:

{
"mcpServers": {
"phishspot": {
"type": "http",
"url": "https://platform.phishspot.com/mcp",
"headers": { "Authorization": "Bearer YOUR_TOKEN" }
}
}
}

Niemal wszystko, co może zrobić AI, jest tylko do odczytu lub tylko przygotowuje. Narzędzia kampanii build_*, create_* i set_* przygotowują kampanię do kroku przeglądu i nigdy nie wysyłają e-maili do odbiorców — to człowiek uruchamia każdą kampanię w panelu PhishSpot.

Niewielki, jasno oznaczony zestaw narzędzi-akcji może wywołać realną wysyłkę, dzięki czemu AI może na Twoją prośbę poprowadzić kampanię od początku do końca. Ich opisy zaczynają się od ostrzeżenia i wymagają roli administratora/edytora:

Narzędzie-akcjaSkutek
schedule_campaignWysyła prawdziwe e-maile — planuje gotową kampanię do faktycznej wysyłki o zadanej porze.
reschedule_campaignWysyła prawdziwe e-maile — zmienia czas wysyłki zaplanowanej kampanii.
start_autopilotUruchamia żywy program — aktywuje autopilota, który cyklicznie generuje i wysyła kampanie.
send_deliverability_testWysyła jeden prawdziwy e-mail — neutralną wiadomość testową z jednorazowym kodem na jeden adres w zweryfikowanej zabezpieczonej domenie.

cancel_schedule, pause_autopilot i stop_autopilot to bezpieczne odpowiedniki — zatrzymują wysyłki. Dodanie domeny wysyłkowej powoduje jej skonfigurowanie i zwrócenie serwerów nazw do ustawienia u rejestratora — nie rejestruje ani nie kupuje domeny.

Niemal każde narzędzie powiązane z kontem przyjmuje account_id (acct_…). Najpierw wywołaj whoami, aby poznać konta i role dostępne dla tokenu. Poniżej narzędzia pogrupowano według funkcji.

NarzędzieCo robi
whoamiPokazuje zalogowanego użytkownika oraz konta/role, na których token może działać.
list_sending_domainsLista aktywnych i konfigurowanych domen wysyłkowych konta.
provision_sending_domainDodaje domenę BYOD i zwraca serwery nazw do ustawienia u rejestratora.
check_sending_domainSprawdza delegację domeny, rekordy poczty i gotowość do wysyłki.
list_platform_domainsLista wszystkich domen widocznych dla konta (współdzielone + BYOD) ze stanem i gotowością.
get_platform_domainPełne szczegóły jednej domeny: status weryfikacji, oczekiwane rekordy DNS, diagnostyka, powód blokady.

Sprawdzają, czy poczta z domeny wysyłkowej dociera do skrzynek w zweryfikowanej zabezpieczonej domenie (§9.1). Odbiorca odczytuje 6-cyfrowy kod z wiadomości — narzędzia nigdy go nie zwracają.

NarzędzieCo robi
send_deliverability_testNarzędzie-akcja — wysyła jeden testowy e-mail z kodem z adresu noreply@ w domenie wysyłkowej na adres dokładnie w zabezpieczonej domenie. Wymaga roli administratora lub edytora; do 20 testów na konto na godzinę.
list_deliverability_testsHistoria testów (opcjonalnie dla jednej zabezpieczonej domeny): odbiorca, domena wysyłkowa, wynik i ostatni status SMTP. Tylko do odczytu.
check_deliverability_testOdświeża status SMTP testu z serwera pocztowego (przyjęty, w kolejce, odroczony, odrzucony, zwrócony) wraz z odpowiedzią serwera.
confirm_deliverability_testZapisuje wynik: code z wiadomości (dotarł) albo not_received: true.
NarzędzieCo robi
list_contactsPrzeszukuje i filtruje wszystkie kontakty przed podziałem na strony; zwraca też dostępne wartości filtrów. Działy i stanowiska mogą mieć wiele wyborów.
import_contactsImportuje kontakty z CSV lub JSON; kolumna groups modeluje fale/segmenty.
update_contactAktualizuje pola kontaktu i/lub zastępuje jego przynależność do grup.
delete_contactsUsuwa kontakty (pomija zablokowane przez aktywną kampanię).
list_groupsLista grup kontaktów na koncie.
create_groupTworzy nową grupę kontaktów.
delete_groupUsuwa grupę (chyba że jest zablokowana przez aktywną kampanię).
add_contacts_to_groupDodaje kontakty do grupy (pomija duplikaty).
remove_contacts_from_groupUsuwa kontakty z grupy.
NarzędzieCo robi
list_phishing_templatesLista szablonów wbudowanych lub własnych, z filtrowaniem po kategorii i wyszukiwaniem.
get_phishing_templatePełna treść jednego szablonu: e-mail + HTML/CSS strony docelowej i akcja po kliknięciu.
list_phishing_categoriesDrzewo kategorii szablonów (szablony trzymają tylko kategorie liściowe).
build_campaign_from_templateBuduje roboczą kampanię z szablonu; opcjonalnie dodaje wszystkie kontakty i zatrzymuje na przeglądzie. Nie wysyła.
NarzędzieCo robi
list_coursesLista kursów dostępnych dla konta (własne + globalne) z liczbą bloków i statystykami ukończeń.
get_courseSzczegóły jednego kursu i uporządkowane podsumowanie jego bloków.
NarzędzieCo robi
upload_mediaWgrywa obraz lub plik CSS (z URL lub base64) i zwraca hostowany URL do e-maili/stron.
list_mediaLista hostowanych mediów konta.
delete_mediaUsuwa plik media.
NarzędzieCo robi
list_campaignsLista kampanii ze stanem i postępem kreatora.
get_campaignPełny status jednej kampanii, w tym co blokuje uruchomienie.
create_campaignTworzy roboczą kampanię (ustawienia).
set_campaign_emailUstawia temat i treść HTML e-maila.
set_campaign_landingUstawia stronę docelową oraz domenę wysyłkową/landingową.
set_campaign_post_clickUstawia akcję po kliknięciu (szkolenie, strona edukacyjna lub przekierowanie).
add_campaign_recipientsDodaje odbiorców (wszyscy, grupa lub wybrane kontakty). Zostawia kampanię w przeglądzie.
set_campaign_recipientsZapisuje całą listę odbiorców wraz z opcjonalną grupą pochodzenia. Tryb draft dopuszcza pustą listę, a continue wymaga odbiorców. Chroni osoby, którym już wysłano kampanię. Nie wysyła maili. Zapisany wybór odczytasz przez get_campaign.
build_campaign_from_specBuduje całą roboczą kampanię jednym wywołaniem (ustawienia → odbiorcy).
duplicate_campaignPowiela kampanię do nowej kopii roboczej (z odbiorcami). Nie wysyła.
clone_campaign_to_accountKlonuje kampanię do innej organizacji, którą administrujesz. Odbiorcy nie są kopiowani; nie wysyła. Zwraca name_warning_terms.
NarzędzieCo robi
schedule_campaign⚠ Wysyła prawdziwe e-maile — planuje gotową kampanię do wysyłki o zadanej porze.
reschedule_campaign⚠ Wysyła prawdziwe e-maile — zmienia czas wysyłki zaplanowanej kampanii.
cancel_scheduleAnuluje oczekującą zaplanowaną wysyłkę i przywraca kampanię do wersji roboczej.
NarzędzieCo robi
get_campaign_resultsLejek zaangażowania oraz podział na grupy i działy.
get_campaign_recipientsEtap dostarczenia, status szkolenia i flaga odpowiedzi per odbiorca (z filtrami).
get_recipient_timelineChronologiczna oś zdarzeń jednego kontaktu w kampanii.
get_campaign_repliesOdpowiedzi, które odbiorcy odesłali na e-mail phishingowy.
list_account_trendsTrendy podatności na phishing w kampaniach w zadanym zakresie dat.
list_eventsSurowe zdarzenia zaangażowania, z filtrami po kampanii / kontakcie / typie.
list_reported_messagesPodejrzane e-maile zgłoszone przez pracowników (tylko metadane nadawcy/tematu).
get_reported_message_evidenceOdczytaj zachowane nagłówki, kompletność danych i klasyfikację zgłoszenia.
NarzędzieCo robi
list_webhook_endpointsLista wychodzących punktów końcowych webhooków.
get_webhook_endpointJeden punkt końcowy wraz z ostatnimi dostawami (sekret podpisu zamaskowany).
create_webhook_endpointTworzy (wyłączony) punkt końcowy; jednorazowo zwraca sekret podpisu.
update_webhook_endpointAktualizuje nazwę, URL lub subskrypcje zdarzeń.
delete_webhook_endpointUsuwa punkt końcowy i historię dostaw.
toggle_webhook_endpointWłącza lub wyłącza punkt końcowy.
list_webhook_event_typesLista typów zdarzeń do subskrypcji (bez konta).
NarzędzieCo robi
list_autopilotsLista programów autopilota i ich stan/postęp.
get_autopilotKonfiguracja jednego autopilota, grupy docelowe i ostatnie kampanie.
create_autopilotTworzy autopilota w wersji roboczej. Nie uruchamia go.
update_autopilotAktualizuje edytowalnego (niezatrzymanego) autopilota.
delete_autopilotUsuwa autopilota (nie podczas działania).
start_autopilot⚠ Uruchamia żywy program, który cyklicznie wysyła kampanie phishingowe.
pause_autopilotWstrzymuje działającego autopilota.
stop_autopilotTrwale zatrzymuje autopilota (nieodwracalne).

Aby wysyłać kampanię z własnej domeny (np. twoja-firma.pl):

  1. Poproś AI o wywołanie provision_sending_domain z domeną.
  2. Ustaw zwrócone serwery nazw u rejestratora domeny.
  3. Odpytuj check_sending_domain, aż domena będzie aktywna i gotowa do wysyłki.

Po aktywacji domena pojawia się w list_sending_domains / list_platform_domains i może być użyta jako domena wysyłkowa/landingowa kampanii. Zobacz też Domeny.

Typowy przebieg sterowany przez AI — wszystko tylko przygotowuje, dopóki nie zdecydujesz się zaplanować wysyłki:

  1. whoami → wybierz account_id.
  2. list_phishing_categories i list_phishing_templates → wybierz szablon.
  3. build_campaign_from_template (opcjonalnie quick_launch) → robocza kampania z odbiorcami, w kroku przeglądu.
  4. get_campaign → potwierdź brak błędów gotowości.
  5. Uruchom ją samodzielnie w panelu lub poproś AI o schedule_campaign na konkretny czas (to wysyła naprawdę).
  6. Po wysyłce get_campaign_results, get_campaign_recipients i list_account_trends podsumują, kto dał się nabrać.

Każde narzędzie trafia na produkcję z każdym wdrożeniem — bez dodatkowej konfiguracji, bez migracji i bez ustawień per narzędzie.

Narzędzie list_umbrella_campaigns wyszukuje kampanie zbiorcze, a manage_umbrella_campaign pozwala je tworzyć, zmieniać nazwę i skład lub usuwać. campaign_ids zastępuje całą listę scenariuszy. Pominięcie parametru zachowuje listę, a pusta tablica odłącza wszystkie scenariusze. Usunięcie wymaga confirm=true i pozostawia kampanie źródłowe. Scenariusze muszą mieć identyczną akcję po kliknięciu; przed jej zmianą odłącz dany scenariusz.

Do get_report przekaż subject_id kampanii, kampanii zbiorczej albo konta. Obiekt filters obsługuje te same filtry wielokrotnego wyboru co list_contacts. Parametr group_by wybiera podział według działu, stanowiska, lokalizacji lub grupy. Wynik zawiera liczby i procenty rozłącznych rezultatów, numerowane scenariusze oraz stronę 25 udziałów. Ponowne wysyłki nie powielają wierszy. Narzędzie export_report przyjmuje te same opcje i zwraca osadzony plik PDF, DOCX, Markdown, RTF albo CSV. anonymous=true zastępuje dane odbiorców fikcyjnymi oraz pomija treści odpowiedzi i podglądy.

list_report_templates pokazuje dostępne szablony. Wybrany identyfikator przekaż jako report_template_id do export_report; szablon czysty pomija logotypy raportu. Administrator platformy może użyć manage_report_template, przekazując template_attributes, przypisania account_ids, opcjonalne obrazy base64 i copy_from, aby dostosować kopię szablonu wbudowanego. Pusty tekst w polu obrazu usuwa go. Szablony wbudowane są chronione, a usunięcie własnego wymaga confirm=true.

Utwórz wersję roboczą przez create_autopilot, podając account_id i name oraz odbiorców i intensywność, jeśli chcesz zmienić wartości domyślne. Pozostałe pola, w tym język, kraj, branża i akcja po kliknięciu, korzystają z ustawień domyślnych. Jedno wywołanie start_autopilot włącza automatyczne przygotowywanie treści i wysyłkę. Kolejne wiadomości uwzględniają odbiorców programu, historię nauki, godziny wysyłki i wspólne limity częstotliwości, bez osobnych zatwierdzeń.

list_autopilots zwraca podsumowania działania; get_autopilot dodatkowo pokazuje ostatnie wysyłki i zmiany. Sprawdzisz w nich najbliższy termin, potwierdzone doręczenia lub przyczynę oczekiwania programu. pause_autopilot wstrzymuje, a start_autopilot wznawia bez nadrabiania zaległych wiadomości. stop_autopilot i delete_autopilot wymagają confirm: true. Przed usunięciem trzeba zatrzymać także wstrzymany program. Zatrzymanego programu nie można wznowić.

manage_email_attachments obsługuje list, upload i delete dla kampanii lub szablonu (parent_type, parent_id). Dodawanie wymaga filename i base64_data; usuwanie — otrzymanego attachment_id i confirmed=true. Obowiązują te same limity plików i uprawnienia co w panelu oraz API. Narzędzie nie wysyła wiadomości.

get_training_records odczytuje postęp, wyniki prób, zachowaną wersję kursu i metadane certyfikatu, tak jak pulpit kampanii. Podaj campaign_id i opcjonalnie page; dodaj certificate_id, aby pobrać wystawiony PDF w base64. Narzędzie nie zalicza kursu ani nie wystawia certyfikatu.

manage_directory_integration udostępnia aktywnemu administratorowi konta działania Entra: status, configure, consent, sync i disconnect. Parametr allowed_group_ids_text zastępuje zakres importu listą identyfikatorów GUID grup oddzielonych spacjami, przecinkami lub nowymi wierszami. Można także ustawić flagi synchronizacji i harmonogram. consent zwraca odnośnik wymagający interaktywnej zgody administratora Microsoft, a disconnect wymaga confirmed: true. Obowiązują te same ograniczenia demo, blokady synchronizacji i uprawnienia co w UI oraz API. Narzędzie nie zwraca danych uwierzytelniających.

set_campaign_post_click przyjmuje opcjonalne training_only: true dla szkicu zaproszenia szkoleniowego. Ustaw redirect_to_course, wybierz dostępny kurs i najpierw wyłącz stronę phishingową. get_campaign zwraca tę klasyfikację. Definicje sekwencji obsługują ten sam pierwszy krok assign_training i warunek completed_training co UI oraz API.

manage_visual_content odczytuje lub zmienia HTML i opcjonalny projekt GrapesJS w kampaniach, szablonach własnych i krokach sekwencji. Podaj parent_type, publiczny parent_id, field oraz action (read lub update); dla sekwencji również step_id. Zmiana przyjmuje html, opcjonalne css strony docelowej i opcjonalne project_json. Pominięcie project_json sprawia, że następna edycja wizualna zacznie się od nowego HTML. Narzędzie respektuje uprawnienia i blokady stanu z panelu.

get_period_report odczytuje raport okresowy lub końcowy. Parametry: account_id, opcjonalne daty ISO from/to włącznie i format (read, pdf, csv, json, zip). Wynik obejmuje porównanie z poprzednim okresem, historię kwartalną, benchmark działów, zweryfikowane ukończenia i zalecenia. read zwraca dane strukturalne, pozostałe formaty — plik. Raporty są dostępne aktywnym członkom; ZIP wymaga administratora/redaktora i mieści do 128 MB. Narzędzie nie wysyła wiadomości. ZIP zawiera źródłowe treści i ustawienia bez odbiorców i sekretów integracji. Zobacz Raporty i analityka.

manage_outlook_mailboxes udostępnia administratorowi konta te same informacje i odłączenie co Ustawienia → Integracje → Połączenia skrzynek Outlook. Podaj account_id i action: "list", aby pobrać ostatnie 500 połączeń. Aby usunąć zapisane dane dostępu delegowanego, użyj action: "disconnect", publicznego connection_id (omc_…) oraz confirmed: true. Wcześniejsze zgłoszenia i aktywacja urządzenia pozostają. Zgodę Microsoft trzeba nadać interaktywnie z aktywowanego dodatku Outlook; narzędzie MCP nie zwraca tokenów skrzynki ani treści poczty.