Wprowadzenie
Każdy dotychczasowy poradnik z tej serii łączył agenta Quickchat AI z czymś: Telegram, Google Sheets, Discord. Ten odwraca kierunek. Twój agent staje się tym, z czym łączą się inne AI: narzędziem wywoływanym przez ChatGPT, Claude i Cursor, gdy ich użytkownicy pytają o coś, co wie tylko Twój agent.
Mechanizm to serwer MCP, a konfiguracja jest celowo prosta: każdy agent Quickchat AI już go ma, hostowanego pod adresem w formacie https://app.quickchat.ai/mcp/your-agent-id. Włączasz go, kopiujesz URL i wklejasz go do aplikacji AI jako connector. To cała integracja i nie wymaga kodu. Dostęp jest domyślnie prywatny: połączenie wymaga zalogowania się na konto Quickchat AI, dopóki nie zdecydujesz inaczej.
Na końcu tego poradnika zbudujesz agenta wsparcia dla fikcyjnej firmy oferującej narzędzia dla deweloperów, dodasz mu realną wiedzę, udostępnisz go jako serwer MCP, połączysz z prawdziwymi aplikacjami AI i zobaczysz w Inbox coś faktycznie nowego: dwie AI rozmawiające ze sobą o Twoim produkcie, przy okazji czego Twój agent przechwyci leada sprzedażowego z wnętrza aplikacji chatowej. Omawiamy też czego wywołująca AI nie chce przekazać, co okazało się najciekawszym wnioskiem z tego artykułu.
Potrzebujesz dwóch rzeczy:
- agenta Quickchat AI (zarejestruj się tutaj i używaj za darmo; MCP jest dostępne w planie Free)
- co najmniej jednego klienta MCP: Claude (działa plan darmowy), ChatGPT (plan płatny, developer mode), Cursor albo dowolną aplikację z katalogu klientów MCP
Kanoniczny opis tej funkcji znajduje się w dokumentacji pod adresem docs.quickchat.ai/channels/mcp. Jeśli sam MCP jest dla Ciebie nowy, nasz opis MCP omawia protokół szczegółowo; w tym artykule wystarczy wersja z jednego akapitu poniżej.
Co zbudujesz
Fikcyjna firma, Orbit, sprzedaje hostowane API wyszukiwania wektorowego dla deweloperów. Jej agent wsparcia zna dokumentację: plany, limity szybkości, regiony, uwierzytelnianie, SDK. Udostępnisz tego agenta jako serwer MCP i uruchomisz pięć zachowań z prawdziwych aplikacji AI:
| # | Pytasz aplikację AI | Co robi Twój agent | Gdzie to zobaczysz |
|---|---|---|---|
| 1 | ”What are Orbit’s rate limits on the free plan?” | Odpowiada z Knowledge Base | Chat aplikacji + Twój Inbox |
| 2 | ”Does Orbit have a Ruby SDK?” | Mówi, że nie wie (ten fakt celowo nie istnieje) | Aplikacja przekazuje uczciwe „nie” |
| 3 | ”Get me a demo, here are my details” | Zapisuje leada przez Smart Data Gathering | Dane kontaktowe w Inbox |
| 4 | ”Put me through to a human” | Uruchamia Human Handoff | Rozmowa przypisana ponownie do Twojego zespołu |
| 5 | Pytanie uzupełniające | Kontynuuje tę samą rozmowę | Jeden wątek w Inbox |
Wszystko poniżej zostało zbudowane i przetestowane naprawdę na działającym produkcie, a każdy zrzut ekranu jest prawdziwy. Gdy ekran należy do aplikacji zewnętrznej, dokładnie wskazujemy, gdzie kliknąć.
Kto kogo wywołuje: klient MCP, serwer MCP, AI Agent, AI Action
Te cztery terminy stale się mieszają, również osobom, które zawodowo tworzą serwery MCP. Po jednym zdaniu dla każdego:
- Klient MCP to aplikacja AI, z którą rozmawia Twój użytkownik (ChatGPT, Claude, Cursor). To ona decyduje, kiedy wywołać narzędzie.
- Serwer MCP to element, który oferuje narzędzia. Tutaj Quickchat AI hostuje jeden serwer na agenta pod adresem
https://app.quickchat.ai/mcp/<your-agent-id>. - AI Agent to Twój agent: Knowledge Base, prompt, zachowanie, które skonfigurowałeś. Serwer MCP jest tylko jego gniazdem.
- AI Actions to działania, które agent może wykonać podczas odpowiedzi (wywołać API, zebrać leady, przekazać do człowieka). Działają nadal, gdy pytanie przychodzi przez MCP.
Ten przewodnik używa jawnie podłączonego klienta MCP. Samo opublikowanie URL serwera albo dodanie widgetu na stronie nie łączy konta ChatGPT lub Claude odwiedzającego z tym serwerem. To, czy niepodłączony asystent wykryje i użyje ścieżki na stronie, jest osobnym pytaniem.
Pełny łańcuch. Zwróć uwagę, kto decyduje o wywołaniu narzędzia: klient MCP, nie Ty i nie Twój agent.
MCP (Model Context Protocol) to standard, dzięki któremu działają środkowe strzałki: jednolity sposób, w jaki aplikacja AI wykrywa narzędzia serwera i je wywołuje. Transport to zwykły HTTPS (streamable HTTP, jeśli interesują Cię szczegóły na poziomie przewodu), dlatego jeden URL jest całą powierzchnią integracji.
Ważne odwrócenie, które warto zapamiętać: model wywołujący czyta nazwę i opis Twojego narzędzia i sam decyduje, kiedy warto wywołać Twojego agenta. Nie możesz go do tego zmusić. Wszystko w sekcji dostrajania wynika właśnie z tego.
Trzy rzeczy, które warto wiedzieć przed budową
Przed przejściem krok po kroku, trzy fakty o zachowaniu serwera:
- Jedno narzędzie na agenta. Serwer udostępnia jedno narzędzie (nadasz mu nazwę; nasze to
ask_orbit), które przyjmuje jeden argument tekstowy,message, i zwraca odpowiedź agenta. Pipeline odpowiedzi może uruchamiać włączone Actions, w tym wywołania zmieniające systemy zewnętrzne. - Sesje mapują się na rozmowy. Każda sesja MCP mapuje się na jedną rozmowę w Inbox. Klient, który utrzymuje sesję między wywołaniami, umieszcza pytania uzupełniające w tej samej rozmowie; wiele aplikacji chatowych otwiera jednak nową sesję dla każdego pytania, więc w praktyce często zobaczysz każde pytanie jako osobną rozmowę. Nieaktywne sesje wygasają po kilku godzinach.
- To Twój prawdziwy agent. Wywołanie przechodzi przez ten sam pipeline odpowiedzi co widget na stronie. Pobieranie z Knowledge Base, AI Actions, Smart Data Gathering i Human Handoff zachowują się dokładnie tak jak na Twojej stronie, a każda odpowiedź zużywa te same kredyty wiadomości AI.
Krok 1: Utwórz agenta Orbit i dodaj mu wiedzę
Utwórz agenta (Getting Started flow zajmuje kilka minut) i ustaw jego tożsamość. Główny prompt Orbit to jeden akapit:
Jesteś asystentem wsparcia deweloperskiego Orbit. Orbit to hostowane API wyszukiwania wektorowego dla deweloperów. Odpowiadaj na pytania o plany Orbit, limity szybkości, regiony, uwierzytelnianie, SDK i funkcje wyszukiwania, używając Knowledge Base. Odpowiadaj zwięźle i technicznie. Jeśli coś nie jest opisane w Twojej wiedzy, powiedz jasno, że tego nie wiesz.
Następnie otwórz Knowledge Base i dodaj artykuły. Orbit ma sześć krótkich artykułów: plany i ceny, limity szybkości, regiony i rezydencja danych, uwierzytelnianie i klucze API, SDK i klienty API, wyszukiwanie hybrydowe. Prawdziwe fakty, które agent powinien podawać dokładnie, na przykład:
Limity szybkości według planu: Free pozwala na 60 zapytań na minutę i 120 zapisów na minutę. Pro pozwala na 600 zapytań na minutę i 1 200 zapisów na minutę. Limity Scale są niestandardowe. Limity są egzekwowane na poziomie projektu za pomocą token bucket. Po przekroczeniu limitu API zwraca HTTP 429 z nagłówkiem Retry-After. Batch upsert liczy się jako jeden zapis na każde 100 wektorów.
Knowledge Base Orbit. Sześć artykułów opisuje produkt; artykuł o SDK celowo wymienia Python, TypeScript i Go, ale nie Ruby.
Zwróć uwagę na celową lukę: artykuł o SDK nie wspomina o Ruby. To zamierzone. Najważniejsze zachowanie agenta wsparcia to to, co robi, gdy nie wie, a chcemy to uczciwie przetestować zamiast podawać tylko łatwe pytania.
Jeśli chcesz głębszy przewodnik po Knowledge Base, strona dokumentacji o budowaniu skutecznej Knowledge Base opisuje źródła, tagi i ponowne trenowanie.
Krok 2: Włącz serwer MCP
Otwórz External Apps na pasku bocznym i kliknij kafelek MCP.
MCP znajduje się obok innych zewnętrznych powierzchni: API i integracji per platforma.
Panel MCP ma wszystko na jednym ekranie: przełącznik Enable MCP, okno Configure MCP, okno Connect MCP i przełącznik Require sign-in (private).
Cała powierzchnia MCP. Włącz ją, opisz agenta, skopiuj URL.
Włącz Enable MCP, a potem otwórz Configure MCP. To okno jest ważniejsze, niż wygląda; poświęcimy mu całą sekcję, aby wyjaśnić dlaczego. Ma trzy pola:
Trzy teksty, które czyta wywołująca AI. Są interfejsem między Twoim agentem a każdą aplikacją AI, która się łączy.
- Name: jak aplikacje AI widzą Twojego agenta. U nas:
Orbit Docs Assistant. - Description: 2 do 3 zdań o tym, co agent wie i może zrobić oraz czego nie może. Model wywołujący używa tego do decyzji, czy w ogóle wywołać Twojego agenta, więc pisz to jak kontrakt API, nie tekst marketingowy. U nas:
Odpowiada na pytania deweloperów dotyczące Orbit, hostowanego API wyszukiwania wektorowego: plany i ceny, limity szybkości, regiony, uwierzytelnianie i SDK. Odpowiada wyłącznie na podstawie własnej dokumentacji Orbit i informuje, gdy coś nie jest opisane. Może też zarejestrować prośbę o kontakt uzupełniający (demo, cena planu Scale, zwiększenie limitu szybkości): przekaż dane kontaktowe użytkownika, a zespół Orbit się odezwie.
- Command: nazwa narzędzia widoczna dla aplikacji AI, litery i podkreślenia. U nas:
ask_orbit. Wybierz coś, po co model naturalnie sięgnie.
Następnie otwórz Connect MCP i skopiuj URL swojego serwera MCP:
https://app.quickchat.ai/mcp/<your-agent-id>
Cała powierzchnia integracji: jeden URL, przycisk Copy i krok dla danej aplikacji. Kopiujesz, wklejasz, gotowe.
To samo okno zawiera kroki dla aplikacji, które wykonamy dalej. Na razie zostaw Require sign-in (private) włączone; to domyślne ustawienie i oznacza, że nikt nie może użyć agenta przez MCP bez zalogowania do Twojego workspace Quickchat AI. Przełączymy je na publiczne później, celowo, gdy zrozumiesz kompromis.
Krok 3: Połącz z Claude
W Claude otwórz Settings, znajdź Connectors (obecnie w sekcji Customize), kliknij Add, a potem Add custom connector. Nadaj nazwę i wklej URL serwera MCP. Claude obsługuje niestandardowe connectory w każdym planie, w tym darmowym (konta darmowe mogą dodać jeden niestandardowy connector).
Cała konfiguracja w Claude: nazwa i URL. Pola OAuth zostają puste; Quickchat AI obsługuje uwierzytelnianie za Ciebie.
Ponieważ serwer jest prywatny, Claude przy pierwszym połączeniu przeprowadzi Cię przez logowanie: otworzy się zwykła strona logowania Quickchat AI, zalogujesz się i connector zostanie podłączony. Bez ekranów zgody, bez tokenów do kopiowania. Każdy, kto nie jest członkiem Twojego workspace, zatrzyma się tutaj.
Tryb prywatny w praktyce: aplikacja AI odsyła Cię do zwykłego logowania Quickchat AI. Twój zespół wchodzi, nikt inny nie.
Teraz zapytaj Claude o coś, co wie tylko Orbit:
What are Orbit's rate limits on the free plan?
Claude rozpoznaje, że pytanie należy do obszaru ask_orbit, wywołuje narzędzie i przekazuje odpowiedź Twojego agenta: 60 zapytań na minutę, 120 zapisów na minutę oraz trzy regiony. Te liczby pochodzą z artykułu w Knowledge Base, nie z wyobraźni modelu.
“Loaded tools, used Orbit integration”: Claude wywołał Twojego agenta i przekazał dokładnie to, co mówi jego Knowledge Base. Czytelnik rozmawia z Claude; fakty są Twoje.
Następnie zadaj pytanie-pułapkę:
Does Orbit have a Ruby SDK?
Twój agent mówi, że dokumentacja o nim nie wspomina, a Claude przekazuje uczciwe „nie”. W naszym teście sprawdził Knowledge Base, poinformował, że nie ma oficjalnego Ruby SDK, poprawnie wymienił SDK, które istnieją (Python, TypeScript, Go), i zasugerował użycie zwykłego REST API z Ruby:
Uczciwe „nie”, z użyteczną alternatywą. Claude nie wymyślił Ruby SDK; przekazał to, co faktycznie mówi Knowledge Base, i wskazał ścieżkę REST.
Ta sama wymiana czeka w Inbox jako zwykła rozmowa MCP, więc widzisz pytanie zadane agentowi i odpowiedź, której udzielił:
Twoja strona tej samej rozmowy. Agent odpowiedział z Knowledge Base i jasno powiedział, czego dokumentacja nie obejmuje, bez zmyślonego SDK.
To efekt celowej luki z kroku 1: widzisz teraz cały łańcuch uczciwości działający end to end, od agenta przez model do użytkownika.
Krok 4: Połącz z ChatGPT
ChatGPT ukrywa niestandardowe connectory MCP za developer mode, który wymaga płatnego planu. Przejdź do Settings, potem Apps, otwórz Advanced settings i włącz Developer mode. ChatGPT oznacza to jako “elevated risk”, ponieważ w developer mode connector może robić wszystko, na co pozwalają jego narzędzia, więc ChatGPT chce, abyś włączył to świadomie.
Developer mode odblokowuje niestandardowe connectory w ChatGPT. Przed podłączeniem sprawdź wiedzę agenta i włączone Actions.
Teraz kliknij Create app: ustaw połączenie na Server URL, wklej URL serwera MCP i (dla publicznego agenta) wybierz No Auth.
Nazwij, wklej URL, zaznacz potwierdzenie, Create. Tekst o ryzyku należy do ChatGPT i jest zasadny: dodawaj tylko serwery, którym ufasz, a Twój kontrolujesz.
ChatGPT pokazuje końcowe potwierdzenie i jednym kliknięciem dodaje connector:
Connect, a Orbit jest teraz narzędziem, które ChatGPT może wywołać w dowolnej rozmowie.
Dwie uwagi specyficzne dla ChatGPT:
- Gdy ChatGPT prosi o zatwierdzenie wywołania narzędzia, weź pod uwagę włączone Actions agenta, a nie tylko wysyłane pytanie. Te Actions mogą wprowadzać zmiany w połączonych usługach.
- ChatGPT łączy się z serwerów OpenAI, tak jak Claude łączy się z serwerów Anthropic. Twój serwer MCP jest osiągalny z obu, ponieważ hostuje go Quickchat AI; dokładnie tej części nie musisz już budować.
Zadaj to samo pytanie o limity szybkości, a otrzymasz tę samą odpowiedź opartą o Knowledge Base, tym razem w ChatGPT:
“Called tool”, potem te same fakty: 60/120, limity per projekt, trzy regiony. ChatGPT przekazuje nawet szczegół HTTP 429, ponieważ jest w artykule.
Krok 5: Połącz z Cursor
W Cursor przejdź do Settings, potem Tools & MCPs i kliknij Add Custom MCP. Cursor otworzy do edycji ~/.cursor/mcp.json; zdalny serwer MCP to jeden wpis "url":
{
"mcpServers": {
"orbit": {
"url": "https://app.quickchat.ai/mcp/<your-agent-id>"
}
}
}
Zapisz plik, a Cursor go wykryje: serwer orbit pojawi się pod Tools & MCPs z narzędziem ask_orbit. Zadaj pytanie o Orbit w panelu Agent, a gdy po raz pierwszy zechce wywołać narzędzie, Cursor poprosi o zatwierdzenie:
Cursor pokazuje dokładną wiadomość, którą zaraz wyśle do agenta, zanim uruchomi narzędzie. Zatwierdź raz, a odpowiedź pojawi się inline.
Cursor wywołuje to samo narzędzie z wnętrza edytora. “These limits and regions come from Orbit’s own docs via the Orbit MCP server,” zauważa sam z siebie.
W Cursor najlepiej widać wartość dla deweloperów: jesteś w trakcie pisania kodu, pytasz „co zwraca Orbit, gdy przekroczę limit szybkości?”, a odpowiedź pochodzi z rzeczywistej dokumentacji Orbit bez wychodzenia z edytora. Jeśli Twój produkt ma SDK, to nowa powierzchnia dokumentacji dla Twoich użytkowników.
Bonus: jedna komenda dla osób terminalowych
Claude Code (CLI Anthropic) dodaje zdalne serwery MCP jedną komendą, co czyni go też najszybszym sposobem na sprawdzenie, czy serwer działa:
claude mcp add --transport http orbit https://app.quickchat.ai/mcp/<your-agent-id>
Potem zadaj pytanie o Orbit w sesji, a wywoła ask_orbit i przekaże odpowiedź agenta, tak samo jak klienci desktopowi. To także najszybszy test end to end, że serwer jest live, zanim komukolwiek o nim powiesz.
A jeśli chcesz zobaczyć sam protokół, serwer mówi zwykłym JSON-RPC przez HTTPS. To cały handshake, uruchamialny z dowolnego terminala:
curl -X POST https://app.quickchat.ai/mcp/<your-agent-id> \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Odpowiedź zawiera listę Twojego jednego narzędzia z nazwą, opisem i schematem wejścia, które wpisałeś w Configure MCP. Wywołanie go to jeszcze jedno żądanie:
curl -X POST https://app.quickchat.ai/mcp/<your-agent-id> \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"ask_orbit","arguments":{"message":"What are Orbit rate limits on the free plan?"}}}'
Odpowiedź wraca jako {"reply": "..."} w wyniku narzędzia. Do szybkiego testu nie potrzeba SDK ani zabawy z sesją; nagłówek Mcp-Session-Id ma znaczenie tylko wtedy, gdy klient chce łączyć pytania uzupełniające w jedną rozmowę.
Zobacz rozmowę dwóch AI w Inbox
To ta część, która sprawia, że taka konfiguracja jest ciekawa w obsłudze. Otwórz Inbox i spójrz na rozmowy utworzone przez ruch MCP. To normalne rozmowy, oznaczone źródłem MCP, obok ruchu z widgetu i kanałów.
Każda wymiana MCP to normalna rozmowa w Inbox, z pełną transkrypcją i wszystkim, co już śledzisz.
Inbox zapisuje nawet, która aplikacja wykonała wywołanie. Otwórz rozmowę i sprawdź jej Details: pole Channel podaje klienta. Cursor identyfikuje się, więc jego rozmowy mają “MCP Cursor”; ChatGPT i Claude nie wysyłają odróżniającej nazwy, więc trafiają pod ogólne “MCP.”
Rozmowa zainicjowana przez Cursor, oznaczona “MCP Cursor” i obsłużona przez Twojego AI Agent jak każda inna automatyczna odpowiedź.
A teraz element, który czyni to naprawdę nowym: „odwiedzający” nie jest człowiekiem. To wywołująca AI, pisząca własnymi słowami w imieniu swojego użytkownika. Człowiek wpisał coś w Cursor lub Claude; do Twojego agenta dociera przeformułowanie tej treści przez AI. Czasem są to prawie dokładne słowa użytkownika; czasem AI tworzy zupełnie nową, dopracowaną wiadomość. Oto dwa prawdziwe przykłady obok siebie:
Lewa strona: Cursor przekazał pytanie prawie dosłownie. Prawa strona: Claude ułożył całą uprzejmą wiadomość ze swobodnej prośby o demo. W obu przypadkach nikt nie wpisał tekstu, który otrzymał Twój agent: to własne słowa wywołującej AI.
To właśnie zapisuje teraz Twój Inbox: negocjację między dwoma systemami AI o Twoim produkcie, w zaskakująco biznesowym stylu. Ustaw dwie rozmowy obok siebie, a sztuczka jest jasna. Po lewej jest to, co deweloper wpisał w Claude, oraz odpowiedź Claude; po prawej ta sama wymiana w Twoim Inbox, gdzie ułożona przez Claude wiadomość przychodzi jako „odwiedzający”, a Twój agent odpowiada jak każdemu innemu:
Dwa miejsca, jedna rozmowa. Rozmawiasz z Claude; Claude przepisuje Twoją prośbę i rozmawia z Twoim agentem. Dopracowana wiadomość „odwiedzającego” po prawej to sformułowanie Claude, nie człowieka, a Twój agent dziękuje „Janowi” i odpowiada jak każdemu innemu odwiedzającemu.
Wszystko, do czego już używasz Inbox, nadal ma zastosowanie: widok Why AI said that, tematy, oceny, eksporty. Twój ruch MCP nie jest osobnym światem; to kanał.
Agent zachowuje swoje supermoce przez MCP
Wywołanie MCP uruchamia ten sam pipeline odpowiedzi co widget na stronie, więc funkcje skonfigurowane dla strony działają też wtedy, gdy wywołuje je ChatGPT lub Claude. Najczytelniejszą demonstracją jest zbieranie leadów. Agent Orbit używa Smart Data Gathering: na stronie Actions & MCPs otwierasz kartę Smart Data Gathering, klikasz Edit Action i konfigurujesz ją. Nazwaliśmy kampanię “Demo and Scale plan leads”, dodaliśmy dwa pola do zebrania (email i company) i poleciliśmy pytać tylko wtedy, gdy deweloper prosi o demo, cenę Scale lub zwiększenie limitu szybkości, nigdy przy zwykłych pytaniach dokumentacyjnych.
Prawdziwy edytor. Nazwa kampanii, pola i opis „ask only when…” zależą od Ciebie. Stąd bierze się zachowanie zbierania leadów i jest to ta sama konfiguracja, której użyłbyś na stronie.
Teraz zobacz, jak działa end to end. Deweloper dobrowolnie podaje swoje dane w Claude, Twój agent odpowiada z Knowledge Base, a Smart Data Gathering zapisuje kontakt w rozmowie w tej samej turze, oznaczone bezpośrednio przy wiadomości:
Wiadomość ułożona przez Claude w Twoim Inbox, obsłużona jak każdy odwiedzający. Podświetlony znacznik “1 action called” to Smart Data Gathering zapisujące leada w tej samej turze.
Twój zespół widzi potem zapisany kontakt w panelu Details i w eksportach leadów:
Zapisany lead w panelu Details rozmowy. Panel skraca długi email ze względu na miejsce; pełny adres jest w samej wiadomości.
Lead sprzedażowy właśnie przyszedł przez Claude. Bez formularza, bez widgetu, bez wizyty na Twojej stronie.
To samo dotyczy reszty zestawu narzędzi agenta. Niestandardowe AI Actions uruchamiają się, gdy pytanie przychodzi przez MCP, dokładnie tak jak w widżecie, więc agent zapisujący prośby o funkcje do arkusza lub wywołujący wewnętrzne API nadal to robi niezależnie od tego, która aplikacja AI zapytała. Inbox oznacza te wywołania tak samo (“N actions called” przy wiadomości), więc możesz audytować, co zostało uruchomione.
Co wywołująca AI przekaże, a czego nie
To sekcja, której nie planowaliśmy pisać. Istnieje, bo pierwszy test nas zaskoczył, a to zaskoczenie jest najbardziej użyteczną częścią tego artykułu.
Run 1: wywołująca AI zwróciła nam uwagę. Smart Data Gathering Orbit było ustawione tak, aby chętnie pytać o dane kontaktowe, a MCP Description mówiło tylko, że agent odpowiada na pytania z dokumentacji. Zadaliśmy Claude niewinne pytanie o limity szybkości. Poprawnie przekazał fakty, a potem oznaczył pytanie o leada, które nasz agent dopisał:

Przeczytaj to jeszcze raz: wywołująca AI oznaczyła nasze własne zbieranie leadów jako próbę prompt injection. Stało się jeszcze wyraźniejsze, gdy jawnie poprosiliśmy ją o przekazanie danych do demo i odmówiła; narzędzie Q&A do dokumentacji, które nagle prosi o dane osobowe, nie jest prawidłowym kanałem do tego.
Diagnoza, gdy już ją zobaczysz, jest modelem mentalnym do zapamiętania. Dla modelu wywołującego zadeklarowane Description jest kontraktem, a wynik narzędzia jest danymi. Nasz kontrakt mówił „odpowiada na pytania z dokumentacji”, więc prośba o dane kontaktowe zakopana w danych nie była obiecana i wyglądała dokładnie jak atak injection. Zmiana jednego zdania kontraktu przełączyła tę samą odpowiedź z ignorowanej na zaufaną:
Run 2 dodał jedno zdanie do Description (“it can also register a follow-up request: pass along the user’s contact details”). Te same dane, teraz w kontrakcie, więc Claude je przekazał i lead został zapisany.
Pozostała jedna niedogodność. Gdy kampania nadal była ustawiona na chętne pytanie, nawet zwykłe pytania dostawały sugestię zbierania leadów, więc w Run 3 zawęziliśmy opis kampanii do pytania tylko wtedy, gdy deweloper wyraźnie prosi o demo, cenę lub zwiększenie limitu. Po tym zwykłe pytania dostają zwykłe odpowiedzi, a wywołująca AI zaczęła nawet proponować ścieżkę uzupełniającą własnymi słowami: “If you outgrow these limits, I can pass along a request to Orbit’s team for a rate limit increase or Scale plan pricing.”

Reguła łącząca całość: trzy teksty Configure MCP (Name, Description, Command) decydują, czy i kiedy agent zostanie wywołany, a własna konfiguracja agenta decyduje, co powie po wywołaniu. Gdy zachowanie wygląda źle, najpierw zapytaj, która z tych dwóch warstw je wytworzyła.
Human handoff: eskalacja bez wychodzenia z aplikacji AI
Human Handoff działa też przez MCP i jest naprawdę użyteczny: pytanie wymagające człowieka może trafić do Twojego zespołu bez wychodzenia użytkownika z ChatGPT lub Claude. Zapytaliśmy Claude o coś, na co dokumentacja nie może odpowiedzieć (podpisany DPA i wdrożenie on-prem dla klienta z sektora obronnego). Orbit rozpoznał, że to poza jego zakresem, powiedział to i przekazał do człowieka:
Agent wiedział, czego nie wie, i czysto eskalował. Prośba oraz zebrane dane kontaktowe trafiają do Twojego Inbox jako nieprzypisana rozmowa do przejęcia przez zespół.
To jest korzyść: lead wymagający człowieka znajduje się teraz w Twojej kolejce, zapisany, ze wszystkim, czego zespół potrzebuje do dalszego kontaktu. Ponieważ MCP to jedno pytanie i jedna odpowiedź, dalszy kontakt odbywa się po Twojej stronie (email, rozmowa), a nie z powrotem w aplikacji AI, właśnie dlatego handoff zbiera dane kontaktowe. W przypadku wielu pytań, gdzie wystarczy szybka udokumentowana odpowiedź, agent je obsłuży; w tych nielicznych, które wymagają człowieka, przekaże je do Ciebie.
Czy to jest bezpieczne?
Krótka wersja: jest tak bezpieczne jak widget na Twojej stronie, z bardziej rygorystycznym ustawieniem domyślnym. Dlaczego granicą jest lista narzędzi, a nie prompt, wyjaśnia punkt odniesienia: 70 000 wiadomości w menedżerze pakietów.
- Domyślnie prywatne. Nowy serwer MCP wymaga logowania. Aplikacja AI przekierowuje do standardowego logowania Quickchat AI i przechodzą tylko członkowie Twojego workspace. Możesz budować, testować i używać wewnętrznej wyroczni dokumentacyjnej bez ujawniania czegokolwiek. Nieuwierzytelnione żądanie dostaje zwykłe wyzwanie 401:
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer error="invalid_token",
resource_metadata="https://app.quickchat.ai/.well-known/oauth-protected-resource/mcp/<id>"
- URL jest adresem, nie sekretem. Id agenta w URL to ten sam identyfikator, który widget na Twojej stronie ujawnia publicznie. Sama jego znajomość nie wystarczy: kontrolą dostępu jest przełącznik widoczności.
- Narzędzie pyta Twojego agenta; skutki zależą od możliwości agenta. Kanał nie udostępnia osobnych narzędzi do zarządzania kontem. Zapisuje rozmowy, zużywa kredyty AI, odpowiada z Knowledge Base i uruchamia włączone Actions. Action może zmienić system zewnętrzny, więc przed udostępnieniem dostępu sprawdź jej uprawnienia i wiedzę dostępną agentowi. Interfejs pytań i odpowiedzi nie gwarantuje zachowania tylko do odczytu.
- Upublicznienie to także decyzja rozliczeniowa. Wyłącz Require sign-in (private), a każdy z linkiem może używać Twojego agenta bez logowania. Na tym polega udostępnianie publicznego narzędzia, a zasady są takie same jak dla widgetu: każda odpowiedź zużywa kredyty wiadomości z Twojego planu, a wszyscy wywołujący współdzielą limit szybkości agenta (limity per minuta i per dzień po naszej stronie zapobiegają wypaleniu wszystkiego przez jednego wywołującego). Jeśli skończą się kredyty, narzędzie zacznie odpowiadać, że agent jest aktualnie niedostępny, zamiast zawodzić po cichu.
- Traktuj przychodzące pytania jako niezaufane wejście. Model wywołujący może filtrować nieoczekiwane prośby od Twojego agenta, ale to nie jest granica bezpieczeństwa dla Twoich Actions. Ogranicz zakres połączonych usług i egzekwuj autoryzację w systemach odbierających te wywołania. Publiczni wywołujący mogą prosić o wszystko, na co pozwalają włączone możliwości agenta; same instrukcje nie powinny chronić prywatnych danych ani operacji uprzywilejowanych.
Uruchomienie
Checklist przed uruchomieniem, po kolei:
- Najpierw wiedza. Twój agent zaraz będzie cytowany w aplikacjach AI innych osób. Upewnij się, że Knowledge Base zawiera fakty, które chcesz powtarzać, i ją wdroż.
- Napisz trzy teksty jak kontrakt API. Name, Description, Command. Zadeklaruj możliwość follow-up, jeśli używasz zbierania leadów.
- Testuj prywatnie. Zostaw Require sign-in włączone, połącz własnego Claude lub ChatGPT i uruchom pięć zachowań z tabeli na początku: pytanie opisane, pytanie nieopisane, lead, handoff, follow-up.
- Obserwuj Inbox przez dzień. Inbox oznacza Twój ruch MCP (i konkretnie nazywa Cursor), a transkrypcje pokazują, jak wywołujące AI formułują pytania. Dziesięć prawdziwych wymian nauczy Cię więcej niż dowolna specyfikacja.
- Potem zdecyduj o publicznym dostępie. Przełącznik wyłącz dopiero wtedy, gdy chcesz obsługiwać na swoich kredytach każdego z linkiem. Dla asystenta dokumentacji przy produkcie publiczny dostęp zwykle ma sens; dla wewnętrznej wyroczni wiedzy prywatność już jest funkcją.
- Udostępnij URL tam, gdzie Twoi użytkownicy już są: strona dokumentacji, README, Discord. URL to cały onboarding.
Powiązane poradniki
- Daj agentowi live tools ze zdalnego serwera MCP: drugi kierunek, praktycznie
- Połącz agenta AI z Google Sheets
- Zbuduj bota moderacyjnego AI dla Discord
- Przeciwny kierunek: agent, który konsumuje MCP Shopify
- Agent help center, który konsumuje serwer MCP Notion
Najczęściej zadawane pytania
Czym jest serwer MCP dla agenta AI?
Serwer MCP (Model Context Protocol) to standardowy endpoint, który udostępnia możliwości agenta AI jako narzędzia wywoływane przez inne aplikacje AI. Gdy użytkownik połączy serwer Twojego agenta Quickchat AI w zgodnej aplikacji, takiej jak ChatGPT, Claude lub Cursor, aplikacja może wykryć jego narzędzie do odpowiadania na pytania i poprosić o odpowiedź z Knowledge Base. To ten sam pomysł co widget na Twojej stronie, z tą różnicą, że wywołującym jest inna aplikacja AI, a nie człowiek, a całe połączenie to jeden hostowany URL.
Czy muszę pisać kod albo coś hostować, aby dać agentowi AI serwer MCP?
Nie. Każdy agent Quickchat AI ma wbudowany hostowany serwer MCP. Włączasz go w dashboardzie, kopiujesz URL w formacie https://app.quickchat.ai/mcp/your-agent-id i wklejasz go do ChatGPT, Claude, Cursor albo dowolnego innego klienta MCP. Serwer jest hostowany i utrzymywany za Ciebie, a połączenie nie wymaga kodu.
Czy ChatGPT, Claude lub Cursor mogą odpowiadać na pytania z mojej własnej bazy wiedzy?
Tak. Podłącz URL serwera MCP swojego agenta Quickchat AI jako connector, a aplikacja AI otrzyma jedno narzędzie, które zadaje pytanie Twojemu agentowi. Agent odpowiada z Knowledge Base, a aplikacja przekazuje odpowiedź, więc użytkownicy dostają udokumentowane fakty zamiast przypuszczeń modelu.
Czy udostępnienie mojego agenta AI jako serwera MCP jest darmowe?
Tak. MCP jest dostępne w każdym planie Quickchat AI, w tym w planie Free, więc możesz przejść cały poradnik na darmowym koncie. Każda odpowiedź wygenerowana przez agenta zużywa kredyty wiadomości AI z Twojego planu, tak samo jak odpowiedź w widżecie na stronie.
Które plany ChatGPT obsługują niestandardowe connectory MCP?
Niestandardowe connectory MCP są dostępne za developer mode w ChatGPT, który wymaga płatnego planu ChatGPT. Claude obsługuje niestandardowe connectory w planie darmowym (z limitem jednego), a Cursor obsługuje zdalne serwery MCP we wszystkich planach. Po stronie Quickchat AI wszystko działa tak samo niezależnie od tego, która aplikacja się łączy.
Co serwer MCP faktycznie może zrobić? Czy może zmienić moje konto Quickchat AI?
Udostępnia jedno narzędzie, które zadaje pytanie Twojemu agentowi. Nie udostępnia osobnych narzędzi do zarządzania kontem, edycji ustawień, zarządzania Knowledge Base ani zarządzania innymi agentami. Twój agent może odpowiadać z Knowledge Base, zapisywać rozmowę, zużywać kredyty AI i uruchamiać włączone Actions, w tym wywołania zmieniające systemy zewnętrzne. Przed udostępnieniem dostępu sprawdź wiedzę i Actions dostępne dla tego agenta. Limity kredytów wiadomości i limity szybkości nadal obowiązują.
Czy URL serwera MCP jest tajny? Co się stanie, jeśli ktoś go znajdzie?
URL zawiera publiczny identyfikator scenariusza Twojego agenta, ten sam identyfikator, który już udostępnia widget na Twojej stronie, więc traktuj go jak adres, a nie sekret. Dostęp kontroluje przełącznik Require sign-in (private). Private (domyślnie) oznacza, że połączyć się mogą tylko zalogowani członkowie Twojego zespołu. Public oznacza, że każdy z linkiem może używać agenta, każda odpowiedź jest rozliczana na Ciebie, a wywołujący współdzielą limit szybkości Twojego agenta.
Czy AI Actions i human handoff nadal działają, gdy mój agent jest wywoływany przez MCP?
Tak. Wywołanie MCP przechodzi przez ten sam pipeline odpowiedzi co widget na stronie, więc odpowiedzi z Knowledge Base, niestandardowe AI Actions, Smart Data Gathering (zbieranie leadów) i Human Handoff uruchamiają się, gdy ChatGPT, Claude lub Cursor wywołuje Twojego agenta. Na przykład handoff umieszcza rozmowę i zebrane dane kontaktowe w Twoim Inbox, aby zespół mógł wrócić do tematu, bez wychodzenia użytkownika z aplikacji AI.
Jak połączyć własne dane lub bazę wiedzy z ChatGPT?
Umieść dane w Knowledge Base agenta Quickchat AI, włącz jego serwer MCP i dodaj URL serwera do ChatGPT jako connector. ChatGPT otrzyma wtedy narzędzie, które pyta Twojego agenta, a agent odpowie z Twoich danych. Nie wymaga to kodu: Knowledge Base jest źródłem danych, a serwer MCP jest połączeniem, więc nie trzeba niczego więcej integrować. Ten sam URL działa w Claude i Cursor.
Jak zbudować serwer MCP bez pisania kodu?
Nie musisz go budować. Każdy agent Quickchat AI już jest serwerem MCP, hostowanym za Ciebie. Dodajesz wiedzę w dashboardzie, włączasz serwer MCP, nazywasz jego pojedyncze narzędzie ask i kopiujesz URL. Quickchat AI uruchamia i utrzymuje serwer za Ciebie, więc serwer MCP no-code zajmuje kilka minut.
Dlaczego ChatGPT lub Claude odmawia przekazywania pytań uzupełniających mojego agenta?
Ponieważ wywołująca AI traktuje opis Twojego narzędzia jak kontrakt. Jeśli agent prosi o dane kontaktowe, ale opis MCP mówi, że odpowiada tylko na pytania z dokumentacji, model wywołujący odczytuje tę nieoczekiwaną prośbę jako możliwy prompt injection i ją filtruje. Opisanie tej możliwości w polu MCP Description oraz ograniczenie zbierania danych do jednoznacznych próśb może pomóc klientowi zrozumieć zamierzone zachowanie. Klient nadal decyduje, czy przekazać pytanie uzupełniające lub poprosić o zgodę.
Jaka jest różnica między udostępnieniem agenta jako serwera MCP a podłączeniem go do serwera MCP?
Kierunek. Ten poradnik dotyczy udostępniania: Twój agent staje się narzędziem wywoływanym przez ChatGPT, Claude i Cursor. Kierunek przeciwny to konsumowanie: Twój agent wywołuje cudzy serwer MCP jako narzędzie, na przykład Shopify, aby działać na aktualnych danych sklepu. Agent Quickchat AI może robić jedno i drugie jednocześnie.
Jak zobaczyć, o co ChatGPT lub Claude faktycznie zapytały mojego agenta?
Otwórz Quickchat AI Inbox. Każda wymiana MCP jest zapisywana jako rozmowa z oznaczeniem źródła MCP, a wiadomości odwiedzającego to słowa napisane przez wywołującą AI, zwykle parafraza tego, co wpisał jej użytkownik. Pytania uzupełniające w tej samej sesji trafiają do tej samej rozmowy.
Podsumowanie
Twój agent Quickchat AI działa teraz w obu kierunkach: rozmawia z użytkownikami w Twoich kanałach i odpowiada innym AI jako narzędzie. Cała integracja to jeden hostowany URL, domyślnie prywatny, z dostępnym planem darmowym. Wiedza, którą już utrzymujesz, staje się tym, co ChatGPT, Claude i Cursor cytują, gdy ich użytkownicy pytają o Twój produkt, leady przychodzą z wnętrza aplikacji AI innych osób, a każda wymiana trafia do Inbox jako czytelna rozmowa między dwiema AI.
Budowa zajmuje trzydzieści minut. Najciekawsza praca, jak zwykle, dotyczy słów: trzech tekstów, które mówią modelom wywołującym, do czego służy Twój agent, oraz wiedzy, dzięki której warto przekazywać jego odpowiedzi.
Materiał konfiguracyjny: Get your MCP server URL w dokumentacji.