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.
29.1 Punkt końcowy
Dział zatytułowany „29.1 Punkt końcowy”Serwer MCP jest dostępny pod adresem:
https://platform.phishspot.com/mcpKomunikuje się przez JSON-RPC po HTTP. Skonfiguruj dowolnego klienta MCP na ten adres, używając transportu HTTP.
29.2 Uwierzytelnianie
Dział zatytułowany „29.2 Uwierzytelnianie”Serwer MCP korzysta z tokenów API PhishSpot. Token musi mieć jawnie nadany dostęp MCP.
- Przejdź do Ustawienia → Tokeny API → Nowy token.
- Nadaj nazwę i zaznacz Zezwól na dostęp MCP.
- Skopiuj wartość tokenu (wyświetlana raz).
29.3 Łączenie z Claude
Dział zatytułowany „29.3 Łączenie z Claude”Dla Claude Code uruchom (zastąp YOUR_TOKEN):
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" } } }}29.4 Bezpieczeństwo: co wysyła, a co nie
Dział zatytułowany „29.4 Bezpieczeństwo: co wysyła, a co nie”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-akcja | Skutek |
|---|---|
schedule_campaign | Wysyła prawdziwe e-maile — planuje gotową kampanię do faktycznej wysyłki o zadanej porze. |
reschedule_campaign | Wysyła prawdziwe e-maile — zmienia czas wysyłki zaplanowanej kampanii. |
start_autopilot | Uruchamia żywy program — aktywuje autopilota, który cyklicznie generuje i wysyła kampanie. |
send_deliverability_test | Wysył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.
29.5 Dostępne narzędzia
Dział zatytułowany „29.5 Dostępne narzędzia”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.
Tożsamość i domeny wysyłkowe
Dział zatytułowany „Tożsamość i domeny wysyłkowe”| Narzędzie | Co robi |
|---|---|
whoami | Pokazuje zalogowanego użytkownika oraz konta/role, na których token może działać. |
list_sending_domains | Lista aktywnych i konfigurowanych domen wysyłkowych konta. |
provision_sending_domain | Dodaje domenę BYOD i zwraca serwery nazw do ustawienia u rejestratora. |
check_sending_domain | Sprawdza delegację domeny, rekordy poczty i gotowość do wysyłki. |
list_platform_domains | Lista wszystkich domen widocznych dla konta (współdzielone + BYOD) ze stanem i gotowością. |
get_platform_domain | Pełne szczegóły jednej domeny: status weryfikacji, oczekiwane rekordy DNS, diagnostyka, powód blokady. |
Testy dostarczalności
Dział zatytułowany „Testy dostarczalności”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ędzie | Co robi |
|---|---|
send_deliverability_test | Narzę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_tests | Historia testów (opcjonalnie dla jednej zabezpieczonej domeny): odbiorca, domena wysyłkowa, wynik i ostatni status SMTP. Tylko do odczytu. |
check_deliverability_test | Odświeża status SMTP testu z serwera pocztowego (przyjęty, w kolejce, odroczony, odrzucony, zwrócony) wraz z odpowiedzią serwera. |
confirm_deliverability_test | Zapisuje wynik: code z wiadomości (dotarł) albo not_received: true. |
Kontakty i grupy
Dział zatytułowany „Kontakty i grupy”| Narzędzie | Co robi |
|---|---|
list_contacts | Przeszukuje 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_contacts | Importuje kontakty z CSV lub JSON; kolumna groups modeluje fale/segmenty. |
update_contact | Aktualizuje pola kontaktu i/lub zastępuje jego przynależność do grup. |
delete_contacts | Usuwa kontakty (pomija zablokowane przez aktywną kampanię). |
list_groups | Lista grup kontaktów na koncie. |
create_group | Tworzy nową grupę kontaktów. |
delete_group | Usuwa grupę (chyba że jest zablokowana przez aktywną kampanię). |
add_contacts_to_group | Dodaje kontakty do grupy (pomija duplikaty). |
remove_contacts_from_group | Usuwa kontakty z grupy. |
Biblioteka szablonów phishingowych
Dział zatytułowany „Biblioteka szablonów phishingowych”| Narzędzie | Co robi |
|---|---|
list_phishing_templates | Lista szablonów wbudowanych lub własnych, z filtrowaniem po kategorii i wyszukiwaniem. |
get_phishing_template | Pełna treść jednego szablonu: e-mail + HTML/CSS strony docelowej i akcja po kliknięciu. |
list_phishing_categories | Drzewo kategorii szablonów (szablony trzymają tylko kategorie liściowe). |
build_campaign_from_template | Buduje roboczą kampanię z szablonu; opcjonalnie dodaje wszystkie kontakty i zatrzymuje na przeglądzie. Nie wysyła. |
Szkolenia e-learningowe
Dział zatytułowany „Szkolenia e-learningowe”| Narzędzie | Co robi |
|---|---|
list_courses | Lista kursów dostępnych dla konta (własne + globalne) z liczbą bloków i statystykami ukończeń. |
get_course | Szczegóły jednego kursu i uporządkowane podsumowanie jego bloków. |
Biblioteka mediów (hosting obrazów)
Dział zatytułowany „Biblioteka mediów (hosting obrazów)”| Narzędzie | Co robi |
|---|---|
upload_media | Wgrywa obraz lub plik CSS (z URL lub base64) i zwraca hostowany URL do e-maili/stron. |
list_media | Lista hostowanych mediów konta. |
delete_media | Usuwa plik media. |
Budowanie kampanii
Dział zatytułowany „Budowanie kampanii”| Narzędzie | Co robi |
|---|---|
list_campaigns | Lista kampanii ze stanem i postępem kreatora. |
get_campaign | Pełny status jednej kampanii, w tym co blokuje uruchomienie. |
create_campaign | Tworzy roboczą kampanię (ustawienia). |
set_campaign_email | Ustawia temat i treść HTML e-maila. |
set_campaign_landing | Ustawia stronę docelową oraz domenę wysyłkową/landingową. |
set_campaign_post_click | Ustawia akcję po kliknięciu (szkolenie, strona edukacyjna lub przekierowanie). |
add_campaign_recipients | Dodaje odbiorców (wszyscy, grupa lub wybrane kontakty). Zostawia kampanię w przeglądzie. |
set_campaign_recipients | Zapisuje 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_spec | Buduje całą roboczą kampanię jednym wywołaniem (ustawienia → odbiorcy). |
duplicate_campaign | Powiela kampanię do nowej kopii roboczej (z odbiorcami). Nie wysyła. |
clone_campaign_to_account | Klonuje kampanię do innej organizacji, którą administrujesz. Odbiorcy nie są kopiowani; nie wysyła. Zwraca name_warning_terms. |
Planowanie kampanii
Dział zatytułowany „Planowanie kampanii”| Narzędzie | Co 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_schedule | Anuluje oczekującą zaplanowaną wysyłkę i przywraca kampanię do wersji roboczej. |
Wyniki i raporty (tylko odczyt)
Dział zatytułowany „Wyniki i raporty (tylko odczyt)”| Narzędzie | Co robi |
|---|---|
get_campaign_results | Lejek zaangażowania oraz podział na grupy i działy. |
get_campaign_recipients | Etap dostarczenia, status szkolenia i flaga odpowiedzi per odbiorca (z filtrami). |
get_recipient_timeline | Chronologiczna oś zdarzeń jednego kontaktu w kampanii. |
get_campaign_replies | Odpowiedzi, które odbiorcy odesłali na e-mail phishingowy. |
list_account_trends | Trendy podatności na phishing w kampaniach w zadanym zakresie dat. |
list_events | Surowe zdarzenia zaangażowania, z filtrami po kampanii / kontakcie / typie. |
list_reported_messages | Podejrzane e-maile zgłoszone przez pracowników (tylko metadane nadawcy/tematu). |
get_reported_message_evidence | Odczytaj zachowane nagłówki, kompletność danych i klasyfikację zgłoszenia. |
Webhooki
Dział zatytułowany „Webhooki”| Narzędzie | Co robi |
|---|---|
list_webhook_endpoints | Lista wychodzących punktów końcowych webhooków. |
get_webhook_endpoint | Jeden punkt końcowy wraz z ostatnimi dostawami (sekret podpisu zamaskowany). |
create_webhook_endpoint | Tworzy (wyłączony) punkt końcowy; jednorazowo zwraca sekret podpisu. |
update_webhook_endpoint | Aktualizuje nazwę, URL lub subskrypcje zdarzeń. |
delete_webhook_endpoint | Usuwa punkt końcowy i historię dostaw. |
toggle_webhook_endpoint | Włącza lub wyłącza punkt końcowy. |
list_webhook_event_types | Lista typów zdarzeń do subskrypcji (bez konta). |
Autopiloty (programy automatyczne)
Dział zatytułowany „Autopiloty (programy automatyczne)”| Narzędzie | Co robi |
|---|---|
list_autopilots | Lista programów autopilota i ich stan/postęp. |
get_autopilot | Konfiguracja jednego autopilota, grupy docelowe i ostatnie kampanie. |
create_autopilot | Tworzy autopilota w wersji roboczej. Nie uruchamia go. |
update_autopilot | Aktualizuje edytowalnego (niezatrzymanego) autopilota. |
delete_autopilot | Usuwa autopilota (nie podczas działania). |
start_autopilot | ⚠ Uruchamia żywy program, który cyklicznie wysyła kampanie phishingowe. |
pause_autopilot | Wstrzymuje działającego autopilota. |
stop_autopilot | Trwale zatrzymuje autopilota (nieodwracalne). |
29.6 Dodawanie domeny wysyłkowej (BYOD)
Dział zatytułowany „29.6 Dodawanie domeny wysyłkowej (BYOD)”Aby wysyłać kampanię z własnej domeny (np. twoja-firma.pl):
- Poproś AI o wywołanie
provision_sending_domainz domeną. - Ustaw zwrócone serwery nazw u rejestratora domeny.
- 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.
29.7 Przykład: zbuduj kampanię z szablonu
Dział zatytułowany „29.7 Przykład: zbuduj kampanię z szablonu”Typowy przebieg sterowany przez AI — wszystko tylko przygotowuje, dopóki nie zdecydujesz się zaplanować wysyłki:
whoami→ wybierzaccount_id.list_phishing_categoriesilist_phishing_templates→ wybierz szablon.build_campaign_from_template(opcjonalniequick_launch) → robocza kampania z odbiorcami, w kroku przeglądu.get_campaign→ potwierdź brak błędów gotowości.- Uruchom ją samodzielnie w panelu lub poproś AI o
schedule_campaignna konkretny czas (to wysyła naprawdę). - Po wysyłce
get_campaign_results,get_campaign_recipientsilist_account_trendspodsumują, 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.
Kampanie zbiorcze i pobieranie raportów
Dział zatytułowany „Kampanie zbiorcze i pobieranie raportów”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.
Autopilot bez zatwierdzania każdej wysyłki
Dział zatytułowany „Autopilot bez zatwierdzania każdej wysyłki”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ć.
Załączniki wiadomości
Dział zatytułowany „Załączniki wiadomości”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.
Historia szkoleń
Dział zatytułowany „Historia szkoleń”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.
Dostęp do skrzynek Outlook
Dział zatytułowany „Dostęp do skrzynek Outlook”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.