Integracja MCP
Model Context Protocol dla asystentów AI
Model Context Protocol (MCP) to otwarty standard wprowadzony przez Anthropic, który pozwala asystentom AI (takim jak Claude, Cursor, VS Code Copilot) na integrację z zewnętrznymi narzędziami i źródłami danych.
Jak to działa
Asystent AI komunikuje się z serwerem MCP przez protokół STDIO, a serwer MCP wykonuje operacje na NetSendo za pomocą API REST v1.
┌─────────────────┐ STDIO ┌─────────────────┐ HTTP/S ┌─────────────────┐ │ Claude/Cursor │ ◄──────────► │ MCP Server │ ◄───────────► │ NetSendo │ │ (AI Client) │ │ (Docker/npx) │ │ (Your inst.) │ └─────────────────┘ └─────────────────┘ └─────────────────┘
Instalacja
Wymagania
- Node.js 18+
- Klucz API z NetSendo
Kroki
- Wygeneruj klucz API: Ustawienia → Klucze API
- Zainstaluj Node.js ze strony nodejs.org
- Skonfiguruj narzędzie AI używając poniższej konfiguracji
Claude Desktop i Cursor
{
"mcpServers": {
"netsendo": {
"command": "npx",
"args": [
"-y",
"@netsendo/mcp-client",
"--url",
"https://your-domain.com",
"--api-key",
"YOUR_API_KEY"
]
}
}
}VS Code .vscode/mcp.json
VS Code odczytuje serwery MCP z pliku .vscode/mcp.json w projekcie (lub z profilu użytkownika – polecenie "MCP: Open User Configuration"). Ten plik używa klucza głównego "servers" zamiast "mcpServers".
{
"servers": {
"netsendo": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@netsendo/mcp-client",
"--url",
"https://your-domain.com",
"--api-key",
"YOUR_API_KEY"
]
}
}
}Zamień https://your-domain.com na adres URL Twojej instancji NetSendo oraz YOUR_API_KEY na wygenerowany klucz API.
Wymagania
- Docker zainstalowany i uruchomiony
- Dostęp do pliku docker-compose.yml projektu NetSendo
Kroki
- Wygeneruj klucz API: Ustawienia → Klucze API
- Oznacz klucz API dla MCP w ustawieniach
- Dodaj klucz do pliku .env:
MCP_API_KEY=your-api-key - Zbuduj kontener MCP:
docker compose build mcp - Skonfiguruj narzędzie AI używając poniższej konfiguracji
Claude Desktop i Cursor
{
"mcpServers": {
"netsendo": {
"command": "docker",
"args": [
"compose",
"-f",
"/path/to/NetSendo/docker-compose.yml",
"run",
"--rm",
"-i",
"mcp"
]
}
}
}Zamień /path/to/NetSendo na pełną ścieżkę do katalogu z instalacją NetSendo.
W VS Code umieść ten sam wpis "netsendo" pod kluczem głównym "servers" w pliku .vscode/mcp.json i dodaj "type": "stdio".
Lokalizacje plików konfiguracyjnych
| Klient | Lokalizacja pliku |
|---|---|
| Claude Desktop (macOS) | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Claude Desktop (Windows) | %APPDATA%\Claude\claude_desktop_config.json |
| Cursor IDE | Ustawienia → MCP → Dodaj serwer |
| VS Code | .vscode/mcp.json |
Wspierani klienci AI
Oficjalna aplikacja desktopowa Claude od Anthropic
IDE z wbudowanym AI dla programistów
Visual Studio Code z GitHub Copilot (tryb agenta)
Dostępne funkcje
Subskrybenci
Zarządzaj kontaktami – dodawaj, edytuj, usuwaj
Listy kontaktów
Przeglądaj i organizuj listy mailingowe
Wiadomości Email
Wysyłaj spersonalizowane wiadomości e-mail
Wiadomości SMS
Wysyłaj wiadomości SMS do kontaktów
Tagi
Kategoryzuj subskrybentów za pomocą tagów
Statystyki
Sprawdzaj statystyki konta i dostarczalności
Dostępne narzędzia
Wersja 1.5.1 pakietu @netsendo/mcp-client udostępnia 77 narzędzi w 15 grupach.
Subskrybenci (6)
| Narzędzie | Opis |
|---|---|
| list_subscribers | Lista subskrybentów z filtrowaniem i paginacją |
| get_subscriber | Pobierz subskrybenta po ID lub adresie e-mail |
| create_subscriber | Utwórz subskrybenta, opcjonalnie z listami i tagami |
| update_subscriber | Zaktualizuj dane subskrybenta |
| delete_subscriber | Trwale usuń subskrybenta |
| sync_subscriber_tags | Zastąp wszystkie tagi przypisane do subskrybenta |
Listy kontaktów, tagi i pola własne (9)
| Narzędzie | Opis |
|---|---|
| list_contact_lists | Pobierz wszystkie listy z liczbą subskrybentów i domyślną skrzynką |
| get_contact_list | Pobierz szczegóły listy, w tym jej domyślną skrzynkę |
| get_list_subscribers | Pobierz subskrybentów z listy |
| get_list_stats | Stan listy: członkowie wg statusu, zaangażowanie, przyrost z 30 dni i ustawienia wysyłki |
| create_contact_list | Utwórz listę e-mail lub SMS |
| update_contact_list | Zmień ustawienia listy (tylko przekazane pola) |
| delete_contact_list | Usuń listę; kontakty zostają na koncie |
| list_tags | Pobierz wszystkie dostępne tagi |
| list_custom_fields | Pobierz definicje pól własnych |
Członkowie list (6)
| Narzędzie | Opis |
|---|---|
| add_list_members | Dodaj istniejące kontakty do listy |
| remove_list_members | Odłącz kontakty od listy i anuluj ich zaplanowane wiadomości |
| set_member_status | Zmień status na liście: aktywny, nieaktywny, wypisany lub odbity |
| copy_list_members | Skopiuj kontakty na inną listę tego samego kanału |
| move_list_members | Przenieś kontakty na inną listę tego samego kanału |
| tag_list_members | Dodaj lub usuń tagi w wybranym segmencie listy |
Import (2)
| Narzędzie | Opis |
|---|---|
| preview_list_import | Próbny import: mapowanie kolumn, błędne adresy i duplikaty, bez zapisu |
| import_subscribers | Zaimportuj kontakty na listę z CSV, TSV, JSON lub listy adresów |
Eksport (3)
| Narzędzie | Opis |
|---|---|
| export_list | Eksportuj członków listy od razu jako JSON, CSV lub NDJSON, z filtrami |
| get_export_fields | Pokaż kolumny dostępne w eksporcie, w tym pola własne |
| queue_list_export | Zleć pełny eksport CSV; właściciel konta dostanie link do pobrania |
Higiena listy (5)
| Narzędzie | Opis |
|---|---|
| analyze_list_health | Raport higieny (tylko odczyt) z oceną 0–100 i rekomendacjami |
| clean_list | Wykonaj akcję na członkach z wybranych kategorii problemów (domyślnie na próbę) |
| dedupe_list | Scal zduplikowane adresy, także aliasy Gmaila z kropkami i +tagiem |
| verify_list_emails | Sprawdź dostarczalność: składnia, adresy jednorazowe i funkcyjne, literówki w domenach, rekordy MX |
| get_hygiene_options | Zwróć kategorie i akcje akceptowane przez clean_list |
Lista blokad (3)
| Narzędzie | Opis |
|---|---|
| list_suppressions | Pokaż kontową listę adresów, do których nie wolno wysyłać, z powodem i datą |
| suppress_emails | Dodaj adresy do listy blokad i wypisz je ze wszystkich list |
| unsuppress_emails | Zdejmij blokadę z adresów (nikogo nie zapisuje ponownie) |
Aktywność i zaangażowanie (3)
| Narzędzie | Opis |
|---|---|
| get_list_activity | Kronika zdarzeń listy: zapisy, wypisy, odbicia, wysyłki, otwarcia i kliknięcia |
| get_list_engagement | Wyniki listy: przyrost, odpływ, wskaźniki otwarć i kliknięć, najlepsze wiadomości i linki |
| get_subscriber_activity | Pełna historia kontaktu: listy, tagi, zaplanowane wiadomości i oś czasu |
Wiadomości e-mail i SMS (6)
| Narzędzie | Opis |
|---|---|
| list_mailboxes | Pobierz dostępne skrzynki nadawcze |
| send_email | Wyślij pojedynczy e-mail do subskrybenta |
| get_email_status | Sprawdź status dostarczenia e-maila |
| list_sms_providers | Pobierz dostępnych dostawców SMS |
| send_sms | Wyślij pojedynczy SMS do subskrybenta lub na numer telefonu |
| get_sms_status | Sprawdź status dostarczenia SMS |
Kampanie (10)
| Narzędzie | Opis |
|---|---|
| list_campaigns | Lista kampanii e-mail i SMS z filtrowaniem |
| get_campaign | Pobierz szczegóły kampanii, w tym listy i wykluczenia |
| create_campaign | Utwórz kampanię e-mail lub SMS (zapisywaną jako szkic) |
| update_campaign | Zaktualizuj szkic lub zaplanowaną kampanię |
| set_campaign_lists | Ustaw listy odbiorców kampanii |
| set_campaign_exclusions | Ustaw listy wykluczeń – ich subskrybenci nie dostaną kampanii |
| schedule_campaign | Zaplanuj wysyłkę kampanii, z obsługą stref czasowych |
| send_campaign | Wyślij kampanię teraz lub aktywuj autoresponder |
| get_campaign_stats | Pobierz statystyki wysyłki kampanii |
| delete_campaign | Usuń szkic lub zaplanowaną kampanię |
Testy A/B (7)
| Narzędzie | Opis |
|---|---|
| list_ab_tests | Lista testów A/B, z filtrem po statusie lub kampanii |
| create_ab_test | Utwórz test A/B dla kampanii |
| add_ab_variant | Dodaj wariant do testu A/B |
| start_ab_test | Uruchom test A/B (wymaga co najmniej 2 wariantów) |
| end_ab_test | Zakończ trwający test i opcjonalnie wybierz zwycięzcę |
| get_ab_test_results | Pobierz szczegółowe wyniki i statystyki testu |
| delete_ab_test | Usuń test A/B, który nie jest uruchomiony |
Lejki (automatyzacja) (12)
| Narzędzie | Opis |
|---|---|
| list_funnels | Lista lejków automatyzacji |
| get_funnel | Pobierz lejek ze wszystkimi krokami i statystykami |
| create_funnel | Utwórz lejek automatyzacji |
| update_funnel | Zmień nazwę lejka lub jego wyzwalacz |
| add_funnel_step | Dodaj krok do lejka i połącz go |
| update_funnel_step | Zmień ustawienia i połączenia kroku |
| delete_funnel_step | Usuń krok i połącz lejek z pominięciem go |
| enroll_subscriber_in_funnel | Od razu dodaj subskrybenta do aktywnego lejka |
| activate_funnel | Aktywuj lejek dla nowych subskrybentów |
| pause_funnel | Wstrzymaj lejek |
| get_funnel_stats | Pobierz statystyki lejka: liczby subskrybentów i wskaźniki ukończenia |
| delete_funnel | Usuń lejek (najpierw go wstrzymaj) |
Powiadomienia (2)
| Narzędzie | Opis |
|---|---|
| send_notification | Wyślij powiadomienie do centrum powiadomień właściciela konta |
| list_notifications | Odczytaj ostatnie powiadomienia właściciela i liczbę nieprzeczytanych |
Personalizacja (1)
| Narzędzie | Opis |
|---|---|
| list_placeholders | Pobierz wstawki do personalizacji treści e-mail i SMS |
Konto (2)
| Narzędzie | Opis |
|---|---|
| test_connection | Przetestuj połączenie z API i dane dostępowe |
| get_account_info | Pobierz informacje o połączonym koncie |
Kolejne grupy narzędzi (automatyzacje, formularze, szablony, webhooki…) pojawią się w następnym wydaniu klienta MCP.
Przykładowe zapytania
Bezpieczeństwo
Rozwiązywanie problemów
- Upewnij się, że NetSendo jest uruchomiony i dostępny
- Sprawdź, czy klucz API jest prawidłowy
- Zweryfikuj poprawność URL-a (uwzględnij https://)
Uruchom ponownie narzędzie AI po zmianach konfiguracji.
Zainstaluj Node.js ze strony nodejs.org (zawiera npm/npx).
Wiele instancji NetSendo
Możesz połączyć się z wieloma instancjami NetSendo, używając różnych nazw serwerów:
{
"mcpServers": {
"netsendo-production": {
"command": "npx",
"args": ["-y", "@netsendo/mcp-client", "--url", "https://app.company.com", "--api-key", "prod-key"]
},
"netsendo-staging": {
"command": "npx",
"args": ["-y", "@netsendo/mcp-client", "--url", "https://staging.company.com", "--api-key", "staging-key"]
}
}
}
