Serwer MCP w trakcie wykonywania zadania orientuje się, że brakuje mu informacji. Zamiast zgadywać albo przerywać, może zapytać użytkownika — i to jest elicitation.
Czym jest
Elicitation to mechanizm pozwalający serwerowi zatrzymać wykonanie i poprosić klienta o dane od użytkownika. Wprowadzony w wersji 2025-06-18, jest jednym z dwóch prymitywów, które czynią serwer aktywnym uczestnikiem, a nie tylko wykonawcą poleceń.
Typowe zastosowania: doprecyzowanie niejednoznacznego zapytania, potwierdzenie operacji przed jej wykonaniem, uzupełnienie brakującego parametru.
Zaprojektowane z człowiekiem w pętli
Specyfikacja nakłada obowiązki na klienta: musi pokazać, który serwer pyta, i musi udostępnić możliwość odrzucenia oraz anulowania. Serwer nie może w ten sposób pozyskiwać poświadczeń przez formularz — do takich przypadków przewidziano tryb przekierowania.
Dodatkowo od wersji 2026-07-28 żądania inicjowane przez serwer mogą pojawić się wyłącznie wtedy, gdy serwer aktywnie obsługuje żądanie klienta. Użytkownik nie zostanie więc zapytany znienacka, a każde pytanie da się powiązać z czynnością, którą sam rozpoczął.
Zmiana sposobu dostarczania
W wersji 2025-11-25 elicitation działało jako żądanie inicjowane przez serwer w ramach otwartego połączenia. Specyfikacja 2026-07-28 zastępuje ten wzorzec żądaniami wielokrotnego obiegu, w których cały stan podróżuje w treści komunikatu.
Dlaczego to ważne dla projektujących agenty
Elicitation jest miejscem, w którym zewnętrzny serwer może wyświetlić użytkownikowi własny komunikat. Treść pytania pochodzi od strony trzeciej, więc interfejs musi jasno pokazywać, kto pyta — inaczej mechanizm staje się wygodnym kanałem manipulacji.