Wykorzystanie aplikacji jako serwera MCP
Aplikacja może korzystać z serwera MCP lub udostępniać własny serwer klientowi zewnętrznemu.
Czego się dowiesz
- Wyjaśnij: host, klient i serwer
- Zastosuj pomysł na przykładzie: Używanie aplikacji jako serwera MCP
- Rozpoznaj ograniczenia i zweryfikuj rezultaty ćwiczeń
Aplikacja może korzystać z serwera MCP lub udostępniać własny serwer klientowi zewnętrznemu. To są przeciwne kierunki.
Kroki te odnoszą się do funkcji zidentyfikowanych w kodzie aplikacji. Ten materiał nie został sprawdzony na żywo; sprawdź dokumentację i opcje w swojej wersji.
Jak to działa, krok po kroku
Host, klient i serwer
MCP to protokół łączący aplikacje AI z możliwościami zewnętrznymi. Host zapewnia doświadczenie, klient zarządza połączeniem, a serwer udostępnia narzędzia, zasoby lub podpowiedzi zgodnie ze wsparciem. Narzędzia wykonują operacje; zasoby zapewniają adresowalną treść; monity udostępniają szablony. Nie każdy serwer implementuje wszystkie trzy. Transport przenosi wiadomości, uwierzytelnianie identyfikuje osoby dzwoniące, a autoryzacja kontroluje dostęp. Sprawdź wersję protokołu i obsługiwane rozszerzenia na obu końcach. Kompatybilności nie można wywnioskować na podstawie samej etykiety „MCP”.
Przed użyciem sprawdź dostęp
Uprawnienia muszą być egzekwowane przez serwery i warstwę danych. Nie pozwól, aby model decydował o tym, czy użytkownik może zobaczyć dokument. Filtruj źródła zanim wejdą w kontekst, a nie po wygenerowaniu odpowiedzi. Używaj poświadczeń o minimalnym dostępie, trzymaj je z dala od monitów, zrzutów ekranu i kodu przeglądarki oraz obracaj odsłonięte klucze. Lista dozwolonych domen widżetów nie zastępuje uwierzytelniania API. Uwierzytelnienie identyfikuje Cię; autoryzacja określa operacje i dane, których możesz użyć. Test również odmówił dostępu.
Model proponuje, narzędzie wykonuje
Wywołanie narzędzia generuje żądanie wywołania z nazwą i argumentami. Aplikacja przed wykonaniem sprawdza schemat, uprawnienia i limity. Wynik powraca do kontekstu dla następnego kroku. Na przykład get_product_stock pobiera SKU i zwraca ilość; w jego opisie powinno być wyjaśnione, że nie rezerwuje produktów. Rozróżnij puste wyniki, błędy walidacji, brak dostępu i przekroczenia limitu czasu. Prawidłowy kod JSON nie dowodzi, że argumenty są poprawne lub że akcja jest autoryzowana. W przypadku efektów zewnętrznych należy również rozważyć wykonanie podwójne.
Schemat objaśniający
Postępuj zgodnie ze strzałkami wskazującymi główny przepływ. Przerywane niebieskie strzałki przedstawiają dane lub kontekst; przerywane różowe strzałki pokazują opinie lub zwracane wyniki. Kolory i kształty wyróżniają modele, sklepy, decyzje i wyniki. Na małym ekranie przewijaj w poziomie, aby zobaczyć cały schemat.
Kompletny przykład
Lokalny /api/mcp jest chroniony kluczem skonfigurowanym podczas wdrażania. Narzędzia udostępniają administrację agentem, RAG, przepływem pracy, widgetami i serwerem MCP; niektórzy tworzą lub usuwają dane.
Spróbuj sam
- Skonfiguruj klienta testowego za pomocą klucza tajnego dostarczonego przez administratora i sprawdź narzędzia przed wywołaniami.
- Przed rozpoczęciem eksperymentu zapisz dane wejściowe, źródło i oczekiwany wynik. W przykładzie użyj wyłącznie fikcyjnych danych.
- Postępuj zgodnie z etapami diagramu. Na każdym etapie zapisuj, jakie informacje zostały otrzymane i wyprodukowane; nie myl produktu pośredniego z efektem końcowym.
- Powtórz po usunięciu niezbędnych informacji lub wprowadzeniu niejednoznaczności. Sprawdź, czy system wyjaśnia, zatrzymuje lub wymyśla odpowiedź.
- Porównaj z objaśnionym rozwiązaniem. Zachowaj konfigurację, datę, wynik i wyjaśnienie różnic. Zmień jedną rzecz i przetestuj ponownie.
Wyjaśnione rozwiązanie
Zacznij od odkrywania i czytania; sprawdź argumenty organizacji/projektu i nie zakładaj zwykłego klucza użytkownika. Pomyślne ćwiczenie pozwala pokazać związek między danymi wejściowymi, etapami i wynikiem. Gdy brakuje informacji, bardziej użyteczna jest ostrożna odpowiedź niż wymyślane szczegóły. Porównaj więcej niż styl: sprawdź także warunki, źródła i operacje.
Kiedy to podejście pomaga i jakie ma ograniczenia
Serwer lokalny reklamuje narzędzia; nie zakładaj zasobów, monitów ani nie wypełniaj protokołu OAuth. Wybierz to podejście, jeśli poprawia ono zmierzoną potrzebę. Zachowaj prostą linię bazową i porównaj wyniki, korzystając z identycznych danych wejściowych. Jeden udany przykład nie gwarantuje niezawodności w każdej sytuacji.
Sprawdź swoją wiedzę
Czy serwer z narzędziami automatycznie oferuje zasoby i podpowiedzi?
Nie. Możliwości są opcjonalne i należy je odkryć i sprawdzić.
Dlaczego usunięcie prywatnego źródła po udzieleniu odpowiedzi jest zbyt późne?
Dane weszły już w kontekst modelu i mogą zostać ujawnione.
Jaki wynik powinno dać to ćwiczenie?
Zacznij od odkrywania i czytania; sprawdź argumenty organizacji/projektu i nie zakładaj zwykłego klucza użytkownika.
Pojęcia do zapamiętania
- Serwer MPK: Usługa udostępniająca możliwości poprzez protokół kontekstu modelu.
- Autoryzacja / Autoryzacja: Sprawdzanie prawa dostępu do operacji lub zasobu.
- Wywołanie narzędzia: Ustrukturyzowane żądanie użycia możliwości zewnętrznej.
Źródła i następny krok
- Model Context Protocol — specyfikacja
- OWASP — Wstrzykiwanie instrukcji
- LangGraph — Przepływy pracy i agenci
Aby przygotować: M04 — Budowa minimalnego serwera MCP