Podłącz asystenta AI (MCP)

Podłącz asystenta AI (MCP)

Skopiuj stronę

Podłącz Claude, Cursor, VS Code lub Gemini CLI przez MCP do Workflow Transactional Email dla Shopify Flow, by sprawdzać konfigurację i debugować wysyłki.

Aplikacja uruchamia serwer MCP, dzięki czemu asystent oparty na sztucznej inteligencji może sprawdzić Państwa konfigurację, tworzyć i konwertować szablony wiadomości e-mail, zarządzać żądaniami HTTP oraz bezpośrednio porządkować bibliotekę multimediów, co pozwala uniknąć konieczności wielokrotnego kopiowania ustawień.

Przydatne funkcje tego narzędzia: przygotowanie projektu marketingowego z tekstami stopki, tłumaczenie projektu na wszystkie języki, w których prowadzą Państwo sprzedaż, sprawdzenie, które projekty wiadomości e-mail odwołują się do tajnego elementu, który wkrótce ulegnie zmianie, wyszukanie wszystkich przesłanych obrazów, które nie są już wykorzystywane, wyjaśnienie przyczyn niepowodzenia wczorajszych wysyłek lub utworzenie nowego żądania HTTP na podstawie dokumentacji zewnętrznego interfejsu API.

Punkt końcowy

text
POST https://shopify.workflow-transactional-email.app/api/mcp

Protokół transmisji to Streamable HTTP. Uwierzytelnianie odbywa się przy użyciu tego samego klucza typu „bearer”, co w przypadku interfejsu API REST - zob. Uwierzytelnianie i klucze API.

Łączenie się

Zakładka MCP na stronie Dla programistów aplikacji generuje gotowe do skopiowania polecenie, w którym adres URL i klucz są już wpisane, przeznaczone dla aplikacji Claude, Claude Desktop, Cursor, VS Code oraz Gemini CLI. Proszę skorzystać z tego polecenia zamiast wpisywać je ręcznie.

W przypadku języka Claude Code polecenie wygląda następująco:

bash
claude mcp add --transport http flow-transactional-email \
  https://shopify.workflow-transactional-email.app/api/mcp \
  --header "Authorization: Bearer fak_your_key_here"

W przypadku edytorów korzystających z konfiguracji JSON format ten ma następujący wygląd:

~/.cursor/mcp.jsonjson
{
  "mcpServers": {
    "flow-transactional-email": {
      "url": "https://shopify.workflow-transactional-email.app/api/mcp",
      "headers": {
        "Authorization": "Bearer fak_your_key_here"
      }
    }
  }
}

Dostępne narzędzia

Zestaw narzędzi odzwierciedla poziom Państwa klucza. Klucz z uprawnieniami wyłącznie do odczytu nie tylko nie zostanie zaakceptowany w przypadku wywołania narzędzia do zapisu - w ogóle nie widzi on tego narzędzia na liście, więc nie da się nakłonić asystenta do podjęcia takiej próby.

Przeczytaj (15 narzędzi)

Szablony wiadomości e-mail: list_email_templates, get_email_template, get_layout_schema, list_template_translations, list_template_versions, get_template_version. Funkcja list_email_templates przyjmuje parametry: q, category (transactional lub marketing), page oraz limit.

Nadawcy wiadomości e-mail: list_smtp_configs, list_senders

Sekrety: list_secret_keys (tylko nazwy)

Żądania HTTP: list_http_requests, get_http_request

Pliki multimedialne: list_files (proszę podać opcję usage: true, aby sprawdzić, jakie elementy nadal odwołują się do poszczególnych plików)

Historia: list_history (filtrowanie według status, w tym SKIPPED dla wiadomości marketingowych, których wszyscy odbiorcy zrezygnowali z subskrypcji), get_history_entry, get_stats

Odczyt i zapis (dodaje 12)

Szablony wiadomości e-mail: create_email_template, update_email_template, delete_email_template

Języki: set_template_translation, delete_template_translation, promote_template_translation

Wersje: restore_template_version, restore_template_github_version

Żądania HTTP: create_http_request, update_http_request, delete_http_request

Pliki multimedialne: delete_file

Odczyt, zapis i wykonanie (dodaje 1)

test_http_request - wysyła skonfigurowane żądanie HTTP do rzeczywistego celu.

Tworzenie planów budynków z pomocą asystenta

Proszę poprosić asystenta, aby najpierw zapoznał się z funkcją get_layout_schema: opisuje ona format projektu wizualnego wraz z domyślnymi ustawieniami każdego bloku, dostępnym kodem Liquid oraz ograniczeniami, wygenerowanymi przez sam kreator. Następnie funkcja create_email_template przyjmuje parametry: name, subject oraz bodyDesign (projekt wizualny - domyślnie) lub element HTML body (tekst). Układ pojawia się w aplikacji natychmiast, a każda zmiana jest zapisywana w historii wersji, dzięki czemu żadną czynność asystenta nie da się cofnąć.

Dwa pola decydują o tym, jak układ zachowuje się w wiadomości e-mail:

  • category: transactional (domyślnie) lub marketing. Układ marketingowy pomija odbiorców, którzy zrezygnowali z subskrypcji, i zawiera link do rezygnacji z subskrypcji oraz stopkę; zob. E-maile marketingowe i rezygnacje z subskrypcji.
  • marketingTexts: teksty stopki szablonu marketingowego zamiast tekstów sklepu z sekcji „Ustawienia”, { unsubscribeText, unsubscribeLinkLabel, companyDetails }; każde pole jest opcjonalne; wartość null oznacza teksty z sekcji „Ustawienia”. Zdanie dotyczące rezygnacji z subskrypcji musi zawierać {{ unsubscribe_link }} lub {{ unsubscribe_url }}.

Funkcja set_template_translation służy do utworzenia lub zastąpienia szablonu w jednym języku pełną treścią przetłumaczoną. W przypadku układu tekstowego może on również zawierać attachments (lista = pliki właściwe dla tego języka, null = pliki układu, pominięcie = bez zmian), a w przypadku układu marketingowego - marketingTexts dla tego języka, które są nadrzędne względem treści układu. Funkcja promote_template_translation ustanawia dany język jako język główny układu; następuje zamiana ról, dzięki czemu nic nie zostaje utracone.

Dobry przykład pierwszej prośby:

„Proszę zapoznać się ze schematem układu, a następnie przetłumaczyć mój układ „Zamówienie wysłane” na język niemiecki i francuski. Proszę zachować wszystkie tagi Liquid i adresy URL dokładnie w obecnej postaci.”

Każda operacja zapisu jest sprawdzana tak samo jak zapis w aplikacji: Liquid musi przeprowadzić analizę, pliki muszą należeć do Państwa, a narzędzie wskazuje pole, w którym wystąpił błąd.

Porządkowanie biblioteki multimediów

To dobre zastosowanie dla asystenta. Proszę poprosić go o wyświetlenie listy plików wraz z informacją o ich wykorzystaniu, a następnie usunąć te, do których nie ma żadnych odwołań:

„Proszę wyświetlić listę moich przesłanych plików wraz z informacją o ich wykorzystaniu oraz wskazać, które z nich nie są obecnie używane. Następnie proszę je usunąć.”

Funkcja delete_file zostanie odrzucona z kodem błędu 409, jeśli jakikolwiek szablon wiadomości e-mail lub gotowy zestaw nagłówków/stopek nadal odwołuje się do tego pliku, a komunikat o odrzuceniu wskazuje, gdzie plik ten jest wykorzystywany - w związku z tym asystent nie może usunąć logo, które jest nadal potrzebne w aktywnej wiadomości e-mail, nawet jeśli poproszą Państwo o to.

To, czego asystent nigdy nie może zobaczyć

Celowo nie udostępniono żadnego narzędzia, które zwracałoby wartość tajną, nazwę użytkownika lub hasło SMTP, ani token logowania do skrzynki pocztowej. Funkcja list_secret_keys zwraca wyłącznie nazwy.

Na tym właśnie polega istota tego rozwiązania: mogą Państwo poprosić asystenta o sporządzenie żądania HTTP, które przeprowadzi uwierzytelnienie u Państwa dostawcy usług płatniczych, a żądanie to będzie poprawnie odwoływać się do {{ secrets.stripeApiKey }}, przy czym sam klucz nigdy nie trafi do kontekstu modelu.

Historia zwracana za pośrednictwem MCP jest maskowana dokładnie tak samo, jak w przypadku REST. Obowiązuje to samo zastrzeżenie - maskowanie dotyczy nazw pól i wzorców wartości, a pola tekstowe mogą nadal zawierać dane osobowe w treści komunikatu. Proszę to rozważyć przed skierowaniem asystenta do obsługi szerokiego zakresu historii.