Zmień agenta AI w serwer MCP dla ChatGPT, Claude i Cursor

Piotr Grudzień
Opublikowano 17 min czytania
Zmień swojego agenta AI w serwer MCP dla ChatGPT, Claude i Cursor

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:

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ę AICo robi Twój agentGdzie to zobaczysz
1”What are Orbit’s rate limits on the free plan?”Odpowiada z Knowledge BaseChat 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 GatheringDane kontaktowe w Inbox
4”Put me through to a human”Uruchamia Human HandoffRozmowa przypisana ponownie do Twojego zespołu
5Pytanie uzupełniająceKontynuuje 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.

Diagram łańcucha wywołań MCP: użytkownik pyta aplikację AI, klient MCP wywołuje narzędzie ask_orbit na hostowanym serwerze MCP pod app.quickchat.ai, a agent AI Orbit odpowiada z Knowledge Base 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.

Strona Quickchat AI Knowledge Base dla agenta Orbit z sześcioma artykułami, wszystkie ze statusem Ready 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.

Strona External Applications w dashboardzie Quickchat AI z kafelkiem MCP z tekstem "Let ChatGPT/Claude talk to your AI Agent via 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).

Panel MCP w dashboardzie Quickchat AI z włączonym Enable MCP, przyciskami Configure MCP i Connect MCP oraz przełącznikiem Require sign-in 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:

Okno Configure MCP z Name "Orbit Docs Assistant", opisem tego, co agent wie, oraz Command "ask_orbit" 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>

Okno Connect MCP pokazujące URL serwera MCP agenta z przyciskiem Copy i krokami dla poszczególnych aplikacji: Claude, Cursor i ChatGPT 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).

Okno Add custom connector w Claude z nazwą Orbit i wklejonym URL serwera MCP 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.

Strona logowania Quickchat AI, do której prywatny serwer MCP przekierowuje aplikację AI podczas łączenia 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.

Rozmowa w Claude, w której Claude używa connectora Orbit i odpowiada limitami szybkości oraz regionami planu darmowego Orbit z bazy wiedzy “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:

Rozmowa w Claude z odpowiedzią, że Orbit nie ma oficjalnego Ruby SDK, z sugestią użycia REST API z Ruby przez Faraday lub Net::HTTP oraz poprawną listą rzeczywistych SDK Python, TypeScript i Go 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ł:

Transkrypcja pytania o Ruby SDK w Quickchat AI Inbox na kanale MCP, pokazująca pytanie odwiedzającego i uczciwą odpowiedź agenta, że nie ma Ruby SDK 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.

Advanced settings w ChatGPT z włączonym przełącznikiem Developer mode, oznaczonym "elevated risk" 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.

Okno New App w ChatGPT z połączeniem ustawionym na Server URL, wklejonym URL serwera MCP Orbit, wybranym No Auth i potwierdzeniem ryzyka developer mode 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:

Okno potwierdzenia ChatGPT "Add Orbit to ChatGPT" z przyciskami Connect i Cancel 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:

Rozmowa w ChatGPT, w której ChatGPT wywołuje connector Orbit i odpowiada limitami szybkości planu darmowego oraz regionami wdrożenia Orbit z bazy wiedzy “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:

Prompt zatwierdzenia narzędzia w Cursor pokazujący "Run Ask Orbit in orbit" z wiadomością, którą zaraz wyśle, oraz przyciskami Run / Skip Cursor pokazuje dokładną wiadomość, którą zaraz wyśle do agenta, zanim uruchomi narzędzie. Zatwierdź raz, a odpowiedź pojawi się inline.

Rozmowa Cursor Agent, w której Cursor uruchamia narzędzie Ask Orbit i odpowiada limitami szybkości planu darmowego Orbit oraz tabelą regionów wdrożenia z bazy wiedzy 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.

Lista Quickchat AI Inbox pokazująca rozmowy utworzone przez ruch MCP, oznaczone czerwoną ikoną źródła MCP 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.”

Panel Details rozmowy MCP wywołanej przez Cursor, pokazujący pole Channel z wartością "MCP Cursor" i rozmowę przypisaną do AI Agent 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:

Diagram zatytułowany "The visitor is another AI" porównujący dwa prawdziwe zapytania. Cursor przekazał pytanie o limity szybkości prawie słowo w słowo, a Claude zmienił swobodną prośbę o demo w uprzejmą, uporządkowaną wiadomość z powitaniem i zwięzłym podsumowaniem danych kontaktowych 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:

Diagram side-by-side jednej wymiany w dwóch miejscach. Po lewej swobodna prośba o demo wpisana w Claude i odpowiedź Claude. Po prawej ta sama wymiana w Quickchat AI Inbox, gdzie dopracowana wiadomość Claude trafia jako odwiedzający, a agent odpowiada i zapisuje leada 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.

Edytor kampanii Smart Data Gathering o nazwie "Demo and Scale plan leads", z tabelą danych do zebrania zawierającą email i company oraz opisem zawężającym ją do jednoznacznych próśb o demo lub ceny 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ść odwiedzającego ułożona przez Claude w Quickchat AI Inbox z pytaniem o plan Scale i demo, z odpowiedzią agenta oraz podświetlonym znacznikiem "1 action called" pokazującym, że lead został zapisany w tej samej turze 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:

Sekcja Visitor w panelu Inbox Details pokazująca zapisany email i firmę Acme Robotics 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ł:

Karta cytatu: Claude zauważa, że odpowiedź narzędzia dokleiła pytanie o firmę, dla której budujesz, mówi, że wygląda to jak wstrzyknięty prompt, a nie prawdziwa treść dokumentacji, i że to ignoruje

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ą:

Diagram przed i po. Ta sama odpowiedź agenta zawiera dopisane pytanie o kontakt. Przy Description obiecującym tylko odpowiedzi dokumentacyjne wywołująca AI oznacza to jako prompt injection i ignoruje. Przy Description obiecującym też rejestrowanie próśb uzupełniających wywołująca AI przekazuje kontakt i lead zostaje zapisany 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.”

Trzy karty podsumowania. Po pierwsze, Description jest kontraktem: zadeklaruj, co agent może robić, w tym ścieżkę follow-up. Po drugie, model wywołujący jest filtrem, nie rurą: przekazuje to, co pasuje do kontraktu, i izoluje to, co nie pasuje. Po trzecie, ogranicz zbieranie danych do jednoznacznych sygnałów, ponieważ między użytkownikiem a agentem znajdują się teraz dwie oceny AI

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:

Wymiana handoff w Inbox: wiadomość odwiedzającego napisana przez AI o DPA i wdrożeniu on-prem oraz odpowiedź agenta oznaczająca potrzebę kontaktu 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:

  1. 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ż.
  2. Napisz trzy teksty jak kontrakt API. Name, Description, Command. Zadeklaruj możliwość follow-up, jeśli używasz zbierania leadów.
  3. 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.
  4. 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.
  5. 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ą.
  6. Udostępnij URL tam, gdzie Twoi użytkownicy już są: strona dokumentacji, README, Discord. URL to cały onboarding.

Powiązane poradniki

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.